Typical Init Sequence: - 1) Request current tuner state (signal/static and frequency). 20 29.562 80 06 78 03 09 04 16 00 R 06 03 00 F5 20 00 - 2) Inform the tuner to start (unmute?) 21 29.562 80 06 7A 03 09 04 CA 00 R 06 03 00 F5 20 00 22 29.562 80 06 01 03 09 04 CA 00 R 06 03 01 F5 20 00 - 3) Set the tuner to the current value. 24 29.594 80 06 79 03 09 04 CA 00 R 06 03 01 F5 20 00 25 29.594 80 06 20 03 09 04 CA 00 R 06 03 01 F5 20 00 26 29.594 80 06 00 03 09 04 CA 00 R 06 03 01 F5 20 00 Tuner Command --------^^ || Command in Progress --------------^^ Typical Set the Tuner Sequence - 1) Request current tuner state (signal/static and frequency). Why twice? 32 12.369 80 06 78 03 09 04 16 00 R 06 03 00 F8 23 70 33 12.371 80 06 78 03 09 04 16 00 R 06 03 00 F8 23 70 - 2) Notify tuner there's a new value coming 34 12.372 80 06 79 03 09 04 CA 00 R 06 03 00 F8 23 70 - 3) Set high byte of new frequency 35 12.373 80 06 23 03 09 04 CA 00 R 06 03 00 F8 23 70 - 4) Set low byte of new frequency 36 12.374 80 06 68 03 09 04 CA 00 R 06 03 01 F8 23 68 Scan Up is just a series of "Set the Tuner" sequences, incrementing the frequency while checking for signal vs static. Typical 6-byte return: 06 03 00 F5 21 38 Command State --------------^ || || || Tuner state ------------------^| || || Preset? (maybe part of freq)---^ || || Frequency value -----------------^^ ^^ Command State : 0 - OK, 1 - unfinished command Tuner State : F - static/no channel, 7 - tuned channel Mystery value : Values found 1,2,5,6,8,C perhaps 0-F? How is this value indicated (set?), or what does it mean? Frequency Value : The frequency goes from 77.00 MHz to 108.00 Mhz in 0.05 MHz increments, equivalent to a value of 4 in the least byte (00, 04, 08, 0c, 10 ...). 77.00 Mhz = 0x1b68, 108.00 MHz = 2518. The tuner may go beyond these frequencies. Tuner Commands: Each command returns six bytes (except to turn radio off). 0x78 - Retrieve frequency value/tuner state 0x7A - Followed by: -- 0x01 - Turn radio on/initialize tuner? -- 0x78 - Retrieve frequency value/tuner state -- 0x79 - Start set frequency value sequence 0x79 - Start set frequency value sequence, followed by: -- 0xXX - high byte value -- 0xXX - low byte value See Frequency Value noted above. 0x7A - Followed by: -- 0x00 -- 0x02 - Turn radio off Returns 18 bytes 10 03 46 00 4D 00 20 00 4D 00 6F 00 75 00 73 00 65 00 . . F . M . . M . o . u . s . e .