linuxaldl is a scanning and datalogging tool for the General Motors ALDL (Assembly Line Diagnostic Link) protocol used on OBD I electronic fuel injected vehicles. It features an easy-to-use GTK+ GUI, and extensible code (for adding new definitions and other features).

The base source code contains a working example definition for the $DF code mask used on the 91-93 3.4 DOHC V6 (LQ1) used in the W-body cars. You may also implement your own definition by editing linuxaldl_definitions.h and recompiling. I plan to add a run-time interface for adding new definitions, but this won’t be until the program is otherwise nearly complete.

To open the linuxaldl GUI, use the command: linuxaldl -serial=/dev/ttyUSB0 where /dev/ttyUSB0 is the port your ALDL interface resides on.

Logs can be made in raw format (timestamped byte data) or comma seperated value format (recommended). If you type your log file’s extension as .csv or .CSV the comma seperated value format will automatically be selected.

Raw format is selected by using any other extension. The format is two 32-bit integers (using the endianness of the executing architecture) for the timestamp, followed by the raw mode 1 message response from the ALDL. The timestamp format is as follows: The first 32-bit integer is UNIX time in seconds, the next 32-bit integer is the number microseconds into the second. A later version of linuxaldl will read these raw format datalogs, or you can parse them yourself.

The current version of linuxaldl does not support playback of datalogs, so it is highly recommended that you use the CSV logging format.

Command line operation is not fully supported in the current version, but will be documented and extended later.

The latest source is always available on github.