SearchWiki:

Welcome

GNUnilink

All Recent Changes Recent Changes Printable View Page History Edit Page
Faq

How does it work?

The gnunilink project consist of a PIC microcontroller emulating a CD changer with the unilink protocol. The Archos jukebox (player, studio and recorder models) have a remote control pin in the headphone connector. This remote control pin is connected to the archos internal processor serial communication controller. It is possible to make bidirectionnal serial communications through this pin. The project simply consist in modifying both projects to make them talk together.

Archos Recorder compatibility

The rockbox mod is now compatible with recorders thanks to devro.

Please check the RockBox page

How to use the python Unilink Logger

If you have a problem, and your HU does not work with the GNUnilink, you have to be sure that the pic works and is executing code.

Once you are sure that the pic works, you'll have to connect a serial cable to the pic to see what is going on between the HU and the GNUnilink.

To enable logging inside the GNUnilink.asm, uncomment SERIAL_SOFT and SERIAL_LOG defines.

If you have implemented the (optionnal) max202 serial conversion (as in the original gnunilink schematic), you just need to connect it to the pc and follow the instructions below.

If you don't have a max202, no problem, you can directly connect the serial cable to the pic (GND and pin 8 (RB2)). But you will have to change the GNUnilink.asm and enable serial level inversion.

Since recent versions, serial level inversion is made by uncommenting the SERIAL_SOFT_INVERTED define. Make sure SERIAL_OPEN_COL is commented.

You can check if the serial link works because gnunilink send a 0x55 byte at power up when SERIAL_SOFT is enabled.

You can also check the serial connection by enabling SERIAL_SOFT_DEBUG, which makes gnunilink infinitely send bytes from 0 to 255.

I wrote an unilink logger in python because the existing one was written in delphi and had a bug.

The script opens a commands.txt file in the current dir which is compatible with the delphi logger.

You can find the latest logger and command.txt version here.

This logger needs a serial driver module that you can download from http://pyserial.sourceforge.net

The first argument should contain the name of the log to be read. This log should be ascii containing hexadecimal numbers.

To use the serial port directly (COM1: at 19200bit/s), type

 ./logger.py com0:19200 

The GNUnilink serial frequency is set to SERIAL_BAUDRATE in GNUnilink.asm. (defaults to 38400)

There is also a debug mode: ./logger.py com0:38400:1 will display all received bytes on 1 column. You can have more column but beware that lines won't be displayed until all character of the line are received.

Note that when SERIAL_SOFT is enabled, the GNUnilink will transmit a 0x55 during initialization (or power up) for debug.

You must check and see that character if your serial connection is working correctly (use ./logger.py com0:38400:1)

... more to come...

Page last modified on July 13, 2006, at 01:56 PM