November 12, 2008
Bug fixes, added support for early 80's super low baud rate (not tested yet)
Download: linuxaldl 0.1.7 source
Last updated November 14, 2008
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).
Version 0.1.7 is a functional version of the code. It 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.
Bug fixes, added support for early 80's super low baud rate (not tested yet)
Bug fixes, performance improvements, options window added with adjustable scan interval/timeout.
Second release: linuxaldl 0.15 source.
Added comma seperated value format for datalogging. If you type your log file's extension as .csv or .CSV this format will automatically be selected.
First FUNCTIONAL release: linuxaldl 0.10 source.
New test release: linuxaldl 0.02 source.
The data display now generates frames and labels based on the ALDL definition.
The ALDL interface operates at 8192 baud. Unfortunately, some serial ports (such as the Keyspan USB to Serial adapter on Linux) don't support this exact baud rate. In the worst case, the closest possible rate is 9600 baud. I have found that running the port at 9600 baud produces too many bad bytes (due to framing errors, I imagine) to be useful, even though I had success using it in an embedded application. I'm not sure why it worked with ScanDash at 9600 baud but not on my PC or laptop. Note that other web sites have indicated that it IS possible to use 9600 baud and that the framing errors are not excessive. Whether or not it works may depend on some variation in hardware-level implementation.
For now, I have a spare ECM set up with a test harness on my desk, so that I can use the built-in serial port on my desktop computer until I get a USB-to-serial adapter for my laptop that works, or compile a linux kernel with the new termios code that allows me to access other baud rates with the one I have.
First test release: linuxaldl 0.01 source.