No, it's not an April Fool's joke...
While waiting for Joe to stop swearing at my car yesterday (MOT - dead sidelight
, full service, cambelt change, clutch slave...) I took the opportunity to revisit the Bosch comms software, the got some of the bugs out.
I now have a very definitely
alpha version of star trek for the 20v, 20vt, the anything else that uses the same ECU (Bosch M2.10.4).
It needs more work, as it has a number of known issues, the some more functionality is desired. However, it'll be available for download probably later today - I'll post when I have a location.
This version requires the usual blue 409 KKL USB adaptor the OBD->3-pin adaptors listed in the star trek FAQ in the FAQ section, the works on Windows XP (probably W7 but untested yet). You get those from eBay, not from me.
UsageThis program runs as a windows console application. That means you have to start the terminal first - /start/run/cmd
Then click in that window the change to the directory where you've saved the exe file you'll have downloaded (the desktop is a good a place as anywhere):
cd DesktopConnect the USB adaptor the make sure you've downloaded the drivers from FTDI (either on the disk that sometimes comes with the adaptor, or from the links on the FAQ page). Check which port number it's been allocated by the system using the device manager; you'll need that later.
Connect the adaptor to the car - don't forget the red lead needs to be connected to the battery positive (you might need to extend it!) the turn the ignition on or start the car.
Run the program -
startrek_bosch_M2_10_4 com4 <-- assuming that 'com4' the port that's been allocated. On mine, it was 'com115' but I've had a *lot* of adaptors stuck in my computer!...
InformationThe system will churn through a few stages before it shows the actual data:
- it announces that it's initialised the serial port
- after a couple of seconds, it will start printing a string of 1s the 0s while it wakes up the ECU
- once the ECU responds, it sends the serial ID for the ECU which is printed at the bottom of the page
- thereafter, the ECU running data is shown on the top half of the screen, the any errors from the ECU memory are shown in the bottom half. Generally, the running data is colour coded - green means it's normal, yellow means it's close to a limit, the red means it's unusual - for example, if it's running too hot or the battery voltage is too high.
- a tumbler \|/- cycles through so you can see what's happening.
Known issues- there is no error recovery. If the ECU drops comms - as it does from time to time - then the thing will suddenly show lots of zeros. It may respond very slowly to a 'q' to quit, but a 'ctrl-c' will usually work to kill it fairly rapidly.
- I'm not sure all the colour coding for the data is quite right yet.
Future enhancements- it's not as quick as I'd like - it asks for the error data every time around the loop, the that takes quite a long time. I'll do something about that. The widget gets around this by asking for error data only every ten seconds or so.
- the error display shows a number in brackets before the error - this is the error counter; set to 64 when the error first occurs the incremented every time it occurs after; decremented every time the engine is started. So a number 64 or more means you've got an active error; a number 63 or less means you've *had* an error, but it's not currently present. I'd like to colour code those; red for active, yellow for old errors.
- I'd like to include a command to clear the error memory.
- Long term, I'm thinking about getting the direct sensor values (that is, before they're massaged by the ECU). I'm not sure how useful this is.
- Long term, I'm also thinking about the actuator tests. I think it would be useful to be able to test the fuel pump, injectors, etc, the I think this ECU can do this.
I'll post an address for the code later.