Nissan 370Z Forum

Nissan 370Z Forum (http://www.the370z.com/)
-   Tuning (http://www.the370z.com/tuning/)
-   -   370Z CAN Bus Proprietary PID's (http://www.the370z.com/tuning/89695-370z-can-bus-proprietary-pids.html)

Brad370 06-28-2014 04:39 PM

I did a little experimenting with DotNetBar gauge controls. It isn't pretty, but it's a proof of concept and they all update in real-time.

http://www.the370z.com/attachment.ph...1&d=1403991394

Brad370 06-29-2014 11:32 PM

I may have hit the mother load.

I found a way to access Nissan's proprietary PIDs. They aren't found using the standard mode $01 described here and they are 2 bytes long, not just 1. They are accessed using mode $22, but the ECU needs to be placed in a special diagnostic mode (I don't think this will impact driving at all since the dealership needs to run the car while testing it too, but I still need to try it out). I describe how I figured this all out on my blog here.

All in all, I found 254 custom PIDs that are completely undocumented so it's going to take quite a bit of work to decipher them all. Please help if you can. Hopefully this will give us access to a lot more sensors and data. I'll be updating my progress on here and on my spreadsheet. They're on the "Extended PIDs" tab.

Here's what I got with the key in the ON position, but the car not started. It goes PID, # bytes, then the data bytes.

1100 4 E4 41 9A 63
1101 1 61
1102 1 00
1103 1 96
1104 1 50
1105 1 00
1106 1 69
1107 1 00
1108 1 00
1109 1 00
110A 1 00
110C 1 C8
110D 1 5C
1110 1 00
1111 1 50
1112 1 00
1113 1 00
1114 1 23
1115 1 C4
1116 1 C4
1117 1 00
1118 1 00
1119 1 00
111A 1 1C
111B 1 1C
111C 1 00
111E 1 00
111F 1 5F
1120 4 3C 4C 01 81
1121 1 00
1122 1 00
1123 1 64
1124 1 64
1125 1 64
1126 1 64
1129 1 C4
112A 1 D1
112B 1 80
112D 1 00
112E 1 00
1130 1 00
1131 1 00
1132 1 00
1133 1 00
1134 1 40
1135 1 80
1136 1 00
1137 1 00
1138 1 00
1139 1 00
113A 1 80
113B 1 00
113C 1 00
113D 1 00
1140 4 07 06 00 C1
1143 1 00
1144 1 00
1145 1 01
1146 1 00
1147 1 58
1148 1 70
1149 1 00
114A 1 00
114C 1 00
114D 1 00
114E 1 00
114F 1 00
1150 1 00
1159 1 00
115A 1 00
1160 4 00 00 01 CD
1162 1 00
1163 1 80
1164 1 00
1165 1 00
1166 1 80
1174 1 00
1178 1 00
1179 1 C2
117A 1 63
117B 1 00
117D 1 15
117E 1 15
117F 1 00
1180 4 21 E0 00 00
1182 1 FF
1183 1 00
1188 1 00
1189 1 00
118A 1 00
118B 1 00
118C 1 00
1200 4 BF AF 10 71
1201 2 00 00
1203 2 00 00
1204 2 00 42
1205 2 00 42
1206 2 04 CC
1207 2 04 CC
1208 2 AB 07
1209 2 00 BF
120B 2 00 00
120C 2 00 00
120D 2 00 92
120E 2 00 8E
120F 2 00 7B
1210 2 00 7B
1214 2 01 40
1218 2 02 72
1219 2 00 00
121A 2 00 00
121B 2 15 76
121C 2 21 F7
1220 4 EC 60 E0 01
1221 2 00 AE
1222 2 00 D3
1223 2 00 EB
1225 2 01 B9
1226 2 01 B9
122A 2 02 15
122B 2 00 00
122C 2 00 00
122D 2 00 00
122E 2 00 00
122F 2 00 00
1230 2 00 00
1231 2 56 33
1232 2 45 56
1233 2 30 41
1234 2 01 18
1235 2 00 00
1236 2 00 00
1237 2 00 EF
1238 2 00 C2
1239 2 00 E4
123A 2 00 19
123B 2 00 B1
123C 2 01 44
123D 2 00 80
123E 2 00 00
123F 2 00 3B
1240 4 03 FD 00 6D
1241 2 00 CA
1243 2 00 75
1244 2 01 B1
1245 2 01 B3
1246 2 00 00
1247 2 00 03
1248 2 B6 3A
1249 2 FF D7
124A 2 FF D3
124B 2 00 79
124C 2 00 7B
124D 2 80 00
124E 2 80 00
124F 2 80 00
1250 2 00 03
125A 2 00 83
125B 2 00 82
125C 2 02 0E
125D 2 01 71
125E 2 01 BE
125F 2 FF FF
1260 4 03 80 C0 00
1267 2 00 E0
1268 2 01 15
1269 2 00 00
126B 2 01 BB
126C 2 01 BB
126D 2 01 DD
126E 2 01 EE
126F 2 01 BB
1270 2 01 BB
1271 2 01 65
1272 2 02 0F
1273 2 00 7B
1274 2 00 97
1275 2 01 BB
1276 2 01 BB
1300 4 7B FC 04 00
1301 2 00 00
1302 2 01 3F
1303 2 C0 30
1304 2 80 90
1305 2 68 44
1306 2 00 00
1307 2 00 42
1308 2 01 08
1309 2 10 02
130A 2 10 10
130B 2 00 03
130C 2 E5 E5
130D 2 10 3F
130E 2 00 7F
130F 2 DB FF
1310 2 00 03
1311 2 00 00
1313 2 00 00
1315 2 00 00
1316 2 11 1F
1317 2 00 00
1500 4 5B DB 62 00
1502 2 00 09
1503 2 00 00
1504 2 00 FF
1505 2 00 09
1506 2 00 00
1507 2 00 FF
1508 2 00 09
1509 2 00 C0
150A 2 00 3C
150B 2 00 00
150C 2 00 C0
150D 2 00 3C
150E 2 00 00
150F 2 00 C0
1510 2 00 3C
1511 2 00 00
1512 2 00 C0
1513 2 00 0C
1514 2 00 00
1515 2 00 00
1516 2 00 00
1517 2 02 02

DIGItonium 06-30-2014 09:35 AM

That's pretty sweet. Unfortunately, VS failed on me and I nearly lost half of my project at work!

I created a new blank solution so I can import my existing project. I started deleting stuff and making changes. Then I needed to go back to my work project and saw a bunch of errors. It turns out VS didn't "clone" my project and copy it to the solution. :shakes head:

So... I'm going to make a duplicate copy next time so I don't lose my stuff. I'm in the middle of releasing it, so I'll get back to it in a few weeks.

Brad370 07-03-2014 08:26 AM

Does anyone have friends at a garage that can hook up a Consult to a 370Z, make it view as much data as possible, and then send me the log files from it? This is going to be almost impossible to decode without cheating like that.

I do know that the 1100, 1120, 1140, etc. PIDs work the same way as the mode 01: 00, 20, 40, etc. PIDs. They signify which of the following bits are valid. All of the rest is actual data. It looks like 1100 & 1200 series PIDs are mainly sensors (speeds, temps, pressures, etc.) The 1300 & 1500 series PIDs looks like statuses of various things in the car. So once I figure out what those represent it's possible that I can manipulate them directly (unlock doors, VDC off, headlights, etc.) but I still need more time to play around.

Also, I drove around and logged a bunch of information and confirmed that you can drive perfectly fine while the ECU is in the diagnostic mode required to get the proprietary PIDs.

ZeN 07-20-2014 03:22 AM

Nice find. I'll see if i can get torque + elm 327 to go into diagnostic mode like you did by creating a custom pid and put the initialization string on diagnostic command. If i can at least get the standard pid then it will be good because my car is jdm and it is not obd2 compliance. Only manage to get 11 pid which is from Nissan Adv plugin. Dont know what they did different.

esfourteen 07-20-2014 04:17 PM

i have the full source to uprev so i could check to see how they're doing it, wouldn't have to reverse the PID data then

Brad370 07-20-2014 04:23 PM

Quote:

Originally Posted by esfourteen (Post 2902338)
i have the full source to uprev so i could check to see how they're doing it, wouldn't have to reverse the PID data then

That would be great. Any chance you can dig through the source and then send me portions of the code that interpret PIDs?

Brad370 07-22-2014 02:11 PM

In fact, this screenshot from their program is exactly what I'm looking for. Those values listed on the right side are exactly the ones from the service manual that are supposed to be accessible via the Consult tool. The ones I've decoded so far match the list.

If you can focus on that from the UpRev source that would be perfect.

http://www.the370z.com/attachment.ph...1&d=1406056064

DIGItonium 10-30-2014 02:38 PM

How's this project coming along? I've been pretty busy with other projects, and I have not had a chance to get around to working on anything related to this one.

However, I recently wrote code to produce my own circular progress bar widget, and it can scale down to 16x16 pixels. I'm taking this idea a step further by creating meters similar to the GT-R MFD. The control drawing is ratio-based so the it will be scalable. It is also user configurable as well (colors, dial thickness, etc.).

I envision the ability to create a base program that can read in an XML file, which will determine the layout of the controls. The grid size is nearly unlimited, and it will be limited by the screen size and resolution. We'll see how it goes.

I've only spent about an hour on it, so here is a test bed for the meter user control.
http://www.the370z.com/attachment.ph...1&d=1414697583

1cintron 12-31-2014 08:26 AM

This is pretty sweet! I did something similar using python and a PI and displaying the gauges in my head unit, but didn't go to far with it [https://github.com/lcintron/PyO-X]. You guys have much more robust applications, we should create a robust Windows 8 app for display this info, I think we have the talent here (pretty obvious). I am more comfortable in .NET that I am with python so this should be fairly trivial. What do you guys think?

DIGItonium 01-01-2015 11:33 AM

I can code to process and display data and manipulate HTML pages on the fly by invoking JavaScript, but I haven't done much graphics coding. Currently in the planning stages to build a development workstation at home.

1cintron 01-02-2015 03:32 PM

We can easily create the javascript framework to interface with the obd module (if not available already) and integrate it to an app built using html+js. There are plenty of libraries out there for making and customizing gauges and other controls (I happen to own licenses for a few of them) that we could use to make a pretty clean, tab-friendly, user interface. On the other hand, I am not sure about the scalability options going that route, I've only developed win8 apps using C#.

HOODEY 01-05-2015 08:46 PM

Interesting.. Keep me posted. I have a little experience with microchip and their can bus.

SouthArk370Z 01-05-2015 10:29 PM

The last language I was proficient at was HyperTalk and I no longer have a Z so I can't do any testing (other than general GUI stuff) ... but I like to see that somebody is taking on this project and would like to help if I can. I have an OBD/CAN wiki set up (see link in sig) that y'all can use. If you're interested, PM me and I'll set you up with some extra privileges.

Paul_S 01-06-2015 10:09 AM

Quote:

Originally Posted by Brad370 (Post 2807985)
Straybytes.com is my blog. I haven't worked on that in a while because I've been distracted by other projects. I can help if you have any questions though.

Hi Brad - thanks for all your hard work on this. It's something that I really want to get into. :tup:

If there is anything I can do to help please let me know!


All times are GMT -5. The time now is 10:37 PM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.6.0 PL2