Identifying Steering Wheel Button Packets - An Example

Hi TheBoz, have you tried to change the code of SerialCommand.h the way I did? Have you downloaded the source from Github and done a compile & upload? Your logging looks like HEX data saved in ASCII format which is not readable, it's easier to save it in HEX format when you are logging HEX data. When you use JSON output it is better to save it in RAW format.
Mind you, when Derek has finished the app filtering messages will be MUCH easier ;-)

So this is what I am getting when running the JSON version. I still have no clue how to just look up a specific message id. When I filtered for "0x01F0A000", the result was nothing. it looks like there is data transmitting, I am just unsure what is what. Also after logging for about minutes, the only ID that was there was 7C, and status would flip from 3 to 2.

{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181919","payload":["0","0","48","40","0","22","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181923","payload":["19","EB","FA","EB","FA","EB","76","B0"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181927","payload":["FF","82","0","0","0","30","B8","AC"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181931","payload":["0","0","48","35","0","23","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181935","payload":["FF","82","0","0","0","30","B8","AC"]}}
{"packet": {"status":"2","channel":"Bus 1","length":"8","id":"7C","timestamp":"181939","payload":["19","DC","FA","EB","FA","EB","76","B0"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181943","payload":["0","0","48","33","0","23","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181946","payload":["FF","82","0","0","0","30","B9","3"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181950","payload":["0","0","48","3A","0","23","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181954","payload":["FF","82","0","0","0","30","B9","3"]}}
{"packet": {"status":"2","channel":"Bus 1","length":"8","id":"7C","timestamp":"181957","payload":["19","DC","FA","EB","FA","EB","76","B0"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181961","payload":["0","0","48","37","0","24","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181965","payload":["FF","82","0","0","0","30","B9","3"]}}
{"packet": {"status":"2","channel":"Bus 1","length":"8","id":"7C","timestamp":"181969","payload":["19","DC","FA","EB","FA","EB","76","B0"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181974","payload":["0","0","48","37","0","24","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181977","payload":["FF","82","0","0","0","30","B9","3"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181981","payload":["0","0","48","36","0","24","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181985","payload":["FF","82","0","0","0","30","B9","3"]}}
{"packet": {"status":"2","channel":"Bus 1","length":"8","id":"7C","timestamp":"181988","payload":["19","DC","FA","EB","FA","EB","76","B0"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181992","payload":["0","0","48","2C","0","24","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"181996","payload":["FF","82","0","0","0","30","B8","C2"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182000","payload":["0","0","48","35","0","24","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182003","payload":["FF","82","0","0","0","30","B8","C2"]}}
{"packet": {"status":"2","channel":"Bus 1","length":"8","id":"7C","timestamp":"182007","payload":["19","EB","FA","EB","FA","EB","76","B0"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182011","payload":["0","0","48","34","0","24","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182016","payload":["FF","82","0","0","0","30","B8","C2"]}}
{"packet": {"status":"2","channel":"Bus 1","length":"8","id":"7C","timestamp":"182019","payload":["19","DC","FA","EB","FA","EB","76","B0"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182023","payload":["0","0","48","3A","0","24","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182027","payload":["FF","82","0","0","0","30","B8","C2"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182031","payload":["0","0","48","3A","0","24","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182034","payload":["1A","78","FA","EB","FA","EB","3B","E6"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182038","payload":["FF","82","0","0","0","30","B8","C2"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182042","payload":["0","0","48","38","0","24","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182046","payload":["FF","82","0","0","0","30","B8","C2"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182049","payload":["0","0","48","2E","0","24","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182053","payload":["1A","69","FA","EB","FA","EB","3B","E6"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182057","payload":["FF","82","0","0","0","30","B9","5A"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182062","payload":["0","0","48","2E","0","24","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182065","payload":["FF","82","0","0","0","30","B9","5A"]}}
{"packet": {"status":"2","channel":"Bus 1","length":"8","id":"7C","timestamp":"182069","payload":["19","CC","FA","CC","FA","DC","76","A1"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182073","payload":["0","0","48","2F","0","24","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182077","payload":["FF","82","0","0","0","30","B9","5A"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182080","payload":["0","0","48","2F","0","24","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182084","payload":["FF","82","0","0","0","30","B9","5A"]}}
{"packet": {"status":"2","channel":"Bus 1","length":"8","id":"7C","timestamp":"182088","payload":["19","DC","FA","EB","FA","EB","76","B0"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182092","payload":["0","0","48","2F","0","24","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182095","payload":["FF","82","0","0","0","30","B9","5A"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182099","payload":["0","0","48","2F","0","24","18","19"]}}
{"packet": {"status":"3","channel":"Bus 1","length":"8","id":"7C","timestamp":"182104","payload":["1A","78","FA","EB","FA","EB","3B","E6"]}}

OK, first you log everything without a filter. What I did was:

  • I imported the JSON data into excel
  • I copied the column "id" and removed duplicates. Now you can see how many different message ID's you have
  • then I started to use the filter and to filter the message ID 7C in your case above, the code should be:
    if (msg.frame_id==0x007C) ...
  • For each ID I tried if I could detect changes when pressing buttons.
    Is this any help to you?

I figured out my issue. The ecu I am using is not passing the message id info, and or it is defaulting to 7c. So the data is all over the map because I don't have any identifier to filter on. I am making some adjustments to the cipset lib to see if I can get some more details. So if anyone else runs into issues with an AEM Infinity, hit me up :).

Also to rule out the CBT, I am currently running a Uno+CanBus shield. Which generates the exact same data :).

administrators

Good info! :D

I'm busting my but on the app to help make this easier. The wireshark pipe is integrated into the app and working really well also!

No worries. I have been doing software for 15 years. So I know it takes time. Just started playing with arduino stuff recently. I also do C#, so I have to pick up a little C and C++.

Thanks for all the hard work.

  • 26
    Posts
  • 25552
    Views

Looks like your connection to CANBus Triple was lost, please wait while we try to reconnect.