Kawasaki ZX-10R Forum banner

1 - 6 of 6 Posts

·
Registered
Joined
·
14 Posts
Discussion Starter #1
I've built myself an inexpensive (parts cost under £100) Data Logger for my Gen-5 that reads the CAN-Bus data, tags it with GPS positions and sticks it on an SD-Card. Once the basics are working, I'd like to extend it to capture suspension movement, tyre temperatures and other stuff.




The logger can run with or without a display so it can be connected underneath the seat to the CAN-Bus port or in the front of the fairing to the other CAN-Bus connector provided by Kawasaki.

I'm putting it all into the public domain so anyone that knows which end of a soldering iron to pick up should be able to put one together. The website for the logger is lurking at Russell Brown's Data Logger Project Page.

Now... it's very early days; the logger's been out for a few trips around Donington Park, collected a whole load of data and I'm working on decoding the info... which is where you guys can help.

Although Kawasaki document some of the CAN-Bus packets in the FI Calibration Manual(?), not all of the packets on the CAN-Bus are defined and some of the ones that are have additional info or contain data that just doesn't match the docs.

I've put the initial questions on the above website but to start the ball rolling here, does anyone have any insight into the correct interpretation of CAN-IDs 0x3E5, 0x222 and 0x3E0.

0x3E5:

This is meant, according to Kawasaki's docs, to be the KEBC setting level in the first two bytes with a range of 1-10.

However, looking at the data; the packet length is eight bytes and the first two vary between 0x0005, 0x0006, 0x0007, 0x0008 and 0x0009. I know that the EBC setting level wasn't being changed as the bike was ridden so what are these numbers and why are they changing?

0x3E0

QS Up/Down Doesn't seem to correspond to gear changes (the data comes in slightly after a new gear is selected. Could this be the Current Gear being sent every 10mS and the QS Packet every 20mS? The QS Up/Down also seem to be 'Working' (==1) even when there's no gear shifting happening. Any ideas?

0x222

This is meant, according to Kawasaki's docs, to be the Modes.

There's a whole world of weirdness going on though. The KQS-Up and KQS-Down bits flip on an off at what seems like random times. The KTRC mode doesn't seem to correspond to the docs. The Power mode is shown as 0 where it should be 1,2 or 3.

There are also some 20 CAN-Bus packets appearing on the Bus that just aren't mentioned in the Kawasaki docs. I'm not sure what info they contain but some of it's probably of interest. Details of these are on the above website on the "Open Questions" page.

As I mentioned on the website, I do have some spare PCBs so if anyone in the UK wants to have a go at building themselves one, just get in contact and send me an SAE.

Hopefully there are enough folk on here to help decode the data. I'll update my website as the questions are answered so we can all benefit.

All contributions gratefully received.
 

·
Registered
Joined
·
33 Posts
Yes, that's the file format.
If you can manage to pull that in, the .dbc format is pretty universal across the automotive industry, but ultimately, it's all about the information pulled.

I'll check my windows laptop when I get home tonight. I've got the .dbc file on there that I used to help program my dash. I'm horrible at remembering numbers, but I do recall that the IMU has 3 addresses it uses, possibly one each for yaw, pitch, and roll? I haven't figured that out specifically, but I am pulling roll (or lean angle) from the ECU though I still haven't been able to locate pitch (wheelie angle? or whatever you want to call it...). So, given that the ECU is giving me lean angle values I can read, I don't see much value in decoding the IMU directly.... unless I want to see the yaw values.... hmm....

There is also back and forth communication between the dash and ECU. Since the buttons on the clip-ons are wired to the dash, anytime you change traction control while riding, set launch control, or basically go into the settings menu for any reason, that request comes from the dash and then gets responded to by the ECU. Then the dash updates its display once the ECU broadcasts the new setting change. That's probably more useful to you if you'll be displaying that info on your screen... or you want to log TC settings...

Those hex addresses do look familiar, I know that I've already figured out EBC settings and I'm pretty sure I did the QS settings too.... though I don't use them. Again, I'm horrible remembering numbers, and this was more than a little while ago.

I'll grab a screenshot of the addresses and they're descriptions. I'm using a Vector CANalyzer that makes pretty quick work of organizing and visualizing all the CAN traffic. Once I got the .dbc file put together with the CANalyzer, I was able to program my dash much easier.
 

·
Registered
Joined
·
14 Posts
Discussion Starter #5
Hi Cable,

If you're willing to send me your .dbc file then I can most certainly pick the info out of it and merge it with my findings. As previously mentioned, I am putting all this in the public domain so please be aware of that if you have stuff you consider secret.

The current settings for TRC, EBC are documented - but reality doesn't seem to match the manual :-(

The confusing bit(!) about the QS stuff is the ECU seems to be saying it's triggering all over the place - sometimes up and down at the same time.

Any pointers gratefully recieved.

Yes the IMU sends *lots* of packets (0x17C, 0x178 and 0x174). As you say, the EMU sends Lean and Wheelie angle (in 0x3E3) and, like you, I'm not currently bothering with the IMU stuff. ISTR that it does produce rate of change which might be interesting (flick rating anyone?). There is some documentation on the Bosch website about the CAN Packets from the IMU - it's just a matter of finding out which one it is and sanity checking the actual data.
 

·
Registered
Joined
·
33 Posts
0x3E5:

This is meant, according to Kawasaki's docs, to be the KEBC setting level in the first two bytes with a range of 1-10.

However, looking at the data; the packet length is eight bytes and the first two vary between 0x0005, 0x0006, 0x0007, 0x0008 and 0x0009. I know that the EBC setting level wasn't being changed as the bike was ridden so what are these numbers and why are they changing?
I've got the KEBC level mapped out.... it's only 2 bytes though. I haven't looked at the live data in a while, I'll try to come back to this at a later date...
0x222

This is meant, according to Kawasaki's docs, to be the Modes.

There's a whole world of weirdness going on though. The KQS-Up and KQS-Down bits flip on an off at what seems like random times. The KTRC mode doesn't seem to correspond to the docs. The Power mode is shown as 0 where it should be 1,2 or 3.

There are also some 20 CAN-Bus packets appearing on the Bus that just aren't mentioned in the Kawasaki docs. I'm not sure what info they contain but some of it's probably of interest. Details of these are on the above website on the "Open Questions" page.

As I mentioned on the website, I do have some spare PCBs so if anyone in the UK wants to have a go at building themselves one, just get in contact and send me an SAE.

Hopefully there are enough folk on here to help decode the data. I'll update my website as the questions are answered so we can all benefit.

All contributions gratefully received.
KTRC does broadcast 0, 1, 2. This needs to be translated to 1, 2, 3.

Sorry this isn't much more info. I've got the bike apart right now focusing on some suspension stuff.... I do need to put more work into programming my dash a bit further, when I get back to that, I'll share what I find.....
 
1 - 6 of 6 Posts
Top