Because of the software I found is not very usable at my carPC, I designed my own software, with an interface bigger.
The software uses the elm interface.
It's multithread: the principal thread reads from the interface, another thread writes to the port, another display the vehicle speed, and other display the motor speed.
There are two pieces of software: one is the principal, to display the info and the other one is to config the software.
The software is customizable: always displays the vehicle speed and the motor speed, and the other info are the pids the user wants to display. The color of the text and the background color are customizable, so the font size of the pid's.
Also, the program is multilanguage, I have the spanish and the english languages, but other are simply to add. Within the file idiomas.ini we put the languages we support, and we have some files with the name of the language and some diferent extensions with the infos (.conf, .obd and .pids). Also we have the file settings.ini to configure some settings, but is better to use OBDConfig.exe to fill that file. With that, we can configure the pids we want to display (the interface supports until 10 pid's). Also we can use it to read from the interface the pids supported by our car.
Because my car only support some pid's, I can't know the format for the other pid's (number of response bytes and how to convert to a number -%, temperature, ...) so I display in byte format.
The software also display if the MIL light is active and the diagnostic trouble codes present (DTC's).
We can configure some timeouts to suit to our car and there a debug mode to display the raw responses, so we can adjust the timeouts.
You can download from:
http://212.145.142.35/bp/obd.nsf/obd2.zip
You need the .NET framework to use it, and you also need to register the NetComm.OCX (regsvr32 netcomm.ocx).
More info about pids at mode 01 (the only we read) and other modes like the 09 will be wellcome.
Regards