Hello,
I found your intresting project- i build it with Arduino 2009, and Obduino32K last available v165 on LCD is shown.
But I have problems while initializing ISO - i tried ISO_9141, ISO_14230_fast and ISO_14230_slow - all fails
I measured voltages - comucation is going on, tx/rx is working
I modified Obduino32K and now it displays last ISO_InitStep with "Failled!" message.
And i found that ISO_9141 init process fails at step 9.
After that I tested it with VAG-COM cable and it tests if ISO_9141is working, I see it sending 0X33, and then displays:
hxxp://sos.teja.lt/~eimix/misc/ecommoder/obd_test_complete.JPG
and 0x0808 is received as response
But in Obduino32K source code is expecting:
Code:
byte b;
iso_read_byte(&b); // read kw1
iso_read_byte(&b); // read kw2
// send ~kw2 (invert of last keyword)
iso_write_byte(~b);
// ECU answer by 0xCC (~0x33)
iso_read_byte(&b);
if(b == 0xCC)
{
ECUconnection = true;
// update for correct delta time in trip calculations.
old_time = millis();
}
ISO_InitStep = 0;
Do i missunderstand or my car is responding not what is expected?
Edit: I modified OBDuino32K a bit more and found out:
iso_read_byte(&b); // read kw1
reads: 0x08
iso_read_byte(&b); // read kw2
reads: 0x08
// send ~kw2 (invert of last keyword)
iso_write_byte(~b);
writes: 0xF7 as ~0x08 == 0xF7
// ECU answer by 0xCC (~0x33)
iso_read_byte(&b);
reads: 0x08
i tried replace last read with:
bool b_read;
b_read = iso_read_byte(&b);
and i get b_read = false how could this be?
What could be wrong?
Thank you help.