Re: 3C8
Posted by
Karlis on
Sep 08, 2016; 9:05pm
URL: http://bluesaab-forum.90.s1.nabble.com/3C8-tp9p671.html
mcaldwelva wrote
This is great that you can finally see what the actual CDC does. All I had to work with before were some iffy log snippets on ecuproject...
I've taken data[0], bit 7 to literally mean "this message is different from the last message I sent". I kind of assumed that it always appeared on the first message of each second because the time data changed. The only way I can think to verify this would be to pause the track. Or maybe switching back to radio after the CDC has started up.
Yeah, that's sort of what happens with "0xA0" and consequential "0x20" does. "0xA0" means "something changed on CDC side" (next second/minute of the track). "0xE0" means "CDC is complying to the command sent by IHU" (SEEK+/- button has been pressed on IHU). And then till the next event CDC just sends "0x20".
I'm not certain about data[0], bit 5 is, but it appears to always be set. I think somewhere in this message is a bit that simply says the magazine is present (separate from the individual discs loaded). It might be this bit or it might be part of the "married" bits (0xd0).
data[0], bit 5 is disc presence validation. Sort of a double check that CDC has validated spin-up and playback of a disc from magazine
One other thing... the head unit sends AT LEAST one 0x3C0 message per second. It may send more if a user presses buttons generating a command. Do you know if the CDC always sends 0x3c8 messages in pairs? Or did it send the second message as a response to a button press?
0x3C0 is put on the bus every 1000ms AND if there's a new event. CDC doesn't send frames in pairs. Instead it also puts frames on "basetime" (every 1000ms) and if there's a new event (local or remote | "0xA0" or "0xE0" respectively) with a 50ms delay from previous frame sent on "basetime".
Looking forward to more findings! Thanks!
Sure, I'll keep you updated.
2001 9-5 SE V6; 2006 9-5 Wagon; iOS; BlueSaab version = "latest and greatest" :)