LEAF CANbus decoding. (Open discussion)

My Nissan Leaf Forum

Help Support My Nissan Leaf Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Posting these here since since they are available through passive snooping (previously documented in the active sampled thread).

  • CAR can msgId 385 : D3,D4,D5,D6 = tire pressure (x4); D7[7:4]=valid bits
    CAR can msgId 5B3 : D5[1:0] & D6[7:0] = gids

[Edit: note that the byte designators are following the D1:D8 nomenclature establish by Gary Giddings in his CanDo software]
 
So... Now that we've got cellpair voltages, pack temperatures, and tire pressures documented, what's next? What other information are folks interested in seeing?

Here's a few items I am interested in:

  • 1) Charge start/stop - to enable programmable charge points
    2) Accessory battery voltage - I presently measure this using the mbed a2d, but I am willing to bet money that the LEAF already has this information in a message somewhere.
    3) Accessory current - How much energy is going to the heater and ac. Perhaps can compute base on pack amps-motor amps but would be nice if there was a direct measure.
    4) heater on-off. It is frustrating to start out with the AC running as I leave the house, but discover later in the drive that the outside temp dropped and the heater is on. I want to add a bell that jingles whenever the heater comes on so I can turn it off if it wasn't desired.
 
TickTock said:
So... Now that we've got cellpair voltages, pack temperatures, and tire pressures documented, what's next? What other information are folks interested in seeing?

Here's a few items I am interested in:

  • 1) Charge start/stop - to enable programmable charge points
    2) Accessory battery voltage - I presently measure this using the mbed a2d, but I am willing to bet money that the LEAF already has this information in a message somewhere.
    3) Accessory current - How much energy is going to the heater and ac. Perhaps can compute base on pack amps-motor amps but would be nice if there was a direct measure.
    4) heater on-off. It is frustrating to start out with the AC running as I leave the house, but discover later in the drive that the outside temp dropped and the heater is on. I want to add a bell that jingles whenever the heater comes on so I can turn it off if it wasn't desired.

Hmm...
1) I don't know about charge stop, but for charge start I would assume there is a CAN message that goes out when the user hits the TIMER OVERRIDE button... If we could figure that out we could send our own CAN message just as if the user had pressed the button right?
2&3) This is probably in the VCM data poking at 797 with Jim's protocol..
4) Grrrr. yes. My strategy has been to leave temp at 60 and turn the AC on and off manually... sub-optimal.
 
GregH said:
1) I don't know about charge stop, but for charge start I would assume there is a CAN message that goes out when the user hits the TIMER OVERRIDE button... If we could figure that out we could send our own CAN message just as if the user had pressed the button right?
Yeah. It also seems like we should be able to stop it, too. Maybe there is a message associated with the plug connection that we could send to make the BMS think we unplugged it.
 
It looks like CAN msgId 5B3:D2 is SOH% times 2. Can someone confirm? It may not match the SOH reported by the active 79b/7bb message, though. I recently had my LEAF analyzed by an official Nissan diagnostic tool and that diagnostic tool indicated my SOH was 72.0% (NOT the 51.6% reported by CANary, LeafDD, and LeafApp). I then analyzed my logs and discovered that 5B3:D2 reports 72 (times 2) now and progressively higher values as I looked at progressively older log files. The highest I read back in October'2011 was 92%.

I have a theory that the active message is a filtered version since I have been watching the active SOH message slowly creep up since the dealer reset everything. Maybe it will eventually converge on the 72 being reported by the 5B3 message.

(LEAFfan, I read 91% for your car from the logs I captured. How does this match your LeafApp reading?)
 
TickTock said:
It looks like CAN msgId 5B3:D2 is SOH% times 2. Can someone confirm? It may not match the SOH reported by the active 79b/7bb message, though. I recently had my LEAF analyzed by an official Nissan diagnostic tool and that diagnostic tool indicated my SOH was 72.0% (NOT the 51.6% reported by CANary, LeafDD, and LeafApp). I then analyzed my logs and discovered that 5B3:D2 reports 72 (times 2) now and progressively higher values as I looked at progressively older log files. The highest I read back in October'2011 was 92%.

I have a theory that the active message is a filtered version since I have been watching the active SOH message slowly creep up since the dealer reset everything. Maybe it will eventually converge on the 72 being reported by the 5B3 message.

(LEAFfan, I read 91% for your car from the logs I captured. How does this match your LeafApp reading?)

It's 90% this morning.
 
Need help with ambient temperature decoding.

To get ambient temperature send:

797 8 03 22 11 5D

Get back:

79A 8 07 62 11 5D 7F 72 7F 00 (which is a reading of 73.4 degrees)

The task is to determine which of the last four data bytes are used for temp and their conversion factor.

Jim
 
TickTock said:
Posting these here since since they are available through passive snooping (previously documented in the active sampled thread).

  • CAR can msgId 385 : D3,D4,D5,D6 = tire pressure (x4); D7[7:4]=valid bits
    CAR can msgId 5B3 : D5[1:0] & D6[7:0] = gids

[Edit: note that the byte designators are following the D1:D8 nomenclature establish by Gary Giddings in his CanDo software]
NOTE:
The 5B3 messages seem to be absent during charging, so these GIDs
are "Driving GIDs", which should still be good enough for most uses.

During charging, there appears to be little significant data on the CAR bus.
But, perhaps the logs that I have are missing some messages.
 
Turbo3 said:
Units are in 355 : D7 (0x60 miles, 0x40 km)

And don't expect it to change to km in the US if you change the display to km. At least it hasn't for me.
But D5 of the same message will:
  • CAR can msgId 355 : D5 shows what the user has selected for distance units. 0x20=miles; 0x00=km
 
I think I am on to ambient.
EVcan 546:D7 and CARcan 510:D8 appear to contain ambient temperature(f) plus 56. Need to watch it some more to be sure and it doesn't appear to be exactly what is displayed in the eyebrow, but so far has been within 1 degree.
 
TickTock said:
I think I am on to ambient.
EVcan 546:D7 and CARcan 510:D8 appear to contain ambient temperature(f) plus 56. Need to watch it some more to be sure and it doesn't appear to be exactly what is displayed in the eyebrow, but so far has been within 1 degree.
Yes, 0x510:D8 is outside temp but I don't know the units/offset. D2[bits 2,1,0] is listed as charging status but I have not confirmed this.
 
It appears the temperature messages (EVcan 546:D7 and CARcan 510:D8) do not suffer from the same long delay/time_constant as the dash eyebrow display. I added the ambient to the debug screen on CANary and although I am within 1 degree when the car is at equilibrium, the message is much more responsive to outside changes. I ran an errand this afternoon. When I left the garage (80F), CANary and LEAF dash matched. Within minutes of driving in 110F weather, the CANary (msgID 546/510) temp quickly rose to 109F but the dash only increased to 84. I double-checked the owners manual and it is, indeed, supposed to be outside air temperature (I thought maybe it was showing cabin temperature). I wonder why the dash temp has so much filtering - makes it rather less useful. I think I will add outside ambient to one of the operational screens.
 
LEAFfan,
This has nothing to do with the app or cabin temperature. Does the outside ambient temperature gauge on your 2013 (on the instrument cluster "eyebrow") also take a long time to reflect changes?
 
TickTock said:
It appears the temperature messages (EVcan 546:D7 and CARcan 510:D8) do not suffer from the same long delay/time_constant as the dash eyebrow display. I added the ambient to the debug screen on CANary and although I am within 1 degree when the car is at equilibrium, the message is much more responsive to outside changes. I ran an errand this afternoon. When I left the garage (80F), CANary and LEAF dash matched. Within minutes of driving in 110F weather, the CANary (msgID 546/510) temp quickly rose to 109F but the dash only increased to 84. I double-checked the owners manual and it is, indeed, supposed to be outside air temperature (I thought maybe it was showing cabin temperature). I wonder why the dash temp has so much filtering - makes it rather less useful. I think I will add outside ambient to one of the operational screens.
OK. Even more strange - the filter appears to be asymmetrical. This morning my garage was warmer than outside. As expected, the canbus message matched the dash outside temp display when I got in but unlike before when it was warmer outside, it continued to track the dash display perfectly as it dropped from 90F to 86F. So, it appears the dash display delays or filters rising temperatures but not falling. This would be consistent with my prior experience at car washes (temperature quickly drops after passing through the car wash but takes 20 minutes or so to return to something resembling the outside temp).

The Leaf is the nicest car I've ever owned so I've never had an outside temperature gauge before. Do ICE ambient gauges do the same? I wonder if this is a carry-over from ICE vehicles (maybe they were trying to compensate for engine compartment heat skewing the sensor and the same algorithm was copied to the LEAF even though there is no significant heat buildup to speak of).
 
Has anyone captured a log from setting the charge timer? I suspect that will create a CAN message, so we might be able to set a charge level other than 80 or 100%. That would be ideal for me, as an 80% charge may not be enough for lunch runs/errands, but 100% is really over kill.
 
Back
Top