dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Re: CD Changer emulation?

Re: CD Changer emulation?

From: [IDC]Dragon <>
Date: Sun, 29 Feb 2004 11:51:42 +0100 (MET)

For the car CD changer commands towards the Archos, I once made a
"specification". At that time I thought I need an external controller. But the VW folks
do, and my spec is still the basis for that project.

The remote control always sends bytes with 9600 Baud and with the upper 2
bits set (0xC0-0xFF), the lower bits depend on the buttons. So it uses one
"quadrant" of the available byte range. For the changer control, I thought it
would be a good idea to occupy another quadrant, 0x80-0xBF, for single-byte
commands to the Archos. I decided that commands should always be single bytes, to
avoid sync problems. The answer can be multibyte, though. The Archos is the
slave, never sends anything "unsolicited", it always has to be asked first
(poll if necessary). I tried to logically group the commands, quick decoding
can be made by the first hex digit.

Here's my old spec:

Commands towards Archos

- 0x80 ping
- 0x81 power off
- 0x82 resume after powerup
- 0x83 play
- 0x84 pause
- 0x85 stop
- 0x86 start FF
- 0x87 start FR
- 0x88 next track
- 0x89 previous track
- 0x8A first track
- 0x8B last track
- 0x8C next random track
- 0X8D previous random track
- 0x8E-0x8F reserved

Commands for Play-mode:
- 0x90 normal play (special modes off)
- 0x91 disk shuffle mode on
- 0x92 magazin shuffle mode on
- 0x93 intro scan on
- 0x94 repeat one on
- 0x95 repeat all on
- 0x96-0x9F reserved

CD select buttons:
- 0xA0-0xA5 button n (1-6)
- 0xA6-0xAF reserved

Inquiry commandos:
- 0xB0 give play status: state (changing, etc) (return payload: 2 byte
flags, tbd)
- 0xB1 give disk status: #of tracks (return payload: 16 Bit little endian)
- 0xB2 give current track # (return payload: 16 Bit little endian)
- 0xB3 give current track time (return payload: seconds as 16 Bit little
- 0xB4-0xBF reserved

Answer to the Inquiry Commands

Byte 1: negated command byte
Byte 2: length of "payload", 0-255 Bytes
Byte 3...n-1: Payload
Byte n: Checksum, 8-bit sum of Bytes 1 to n-1

Answer to all commands except inquiry commands is 1 byte error code:
 0x00 Success
 0x01 Wait (the requested action has been started, but not completed yet,
maybe kepp polling?)
 0x02-0xFF error codes, tbd

GMX ProMail (250 MB Mailbox, 50 FreeSMS, Virenschutz, 2,99 EUR/Monat...)
jetzt 3 Monate GRATIS + 3x DER SPIEGEL +++ +++
Received on 2004-02-29

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy