Quote:
Originally Posted by m3ph
The thing is, that when I turn off the ignition in my car, the obduino goes to sleep (alarm screen). When I start my car up again, the alarm screen stays and no info is displayed. It seems that the obduino for some reason, can not sense when the car is started.
|
4th and 5th pins in OBD2 are sometimes soldered together in car side connector
so this shouldn't be a problem in this case.
iso_init() is very sensitive to timing issues:
Code:
#ifdef carAlarmScreen
// ECU is off so print ready screen instead of PIDS while we wait for ECU action
displayAlarmScreen();
#else
// for some reason the display on LCD
for(byte current_PID=0; current_PID<LCD_PID_count; current_PID++)
display(current_PID, params.screen[active_screen].PID[current_PID]);
#endif
#ifdef do_ISO_Reinit
#ifndef carAlarmScreen
#error ISO reinit will not function when not displaying the car alarm screen (#define carAlarmScreen)
#endif
iso_init();
#endif
U should try to disable call to "displayAlarmScreen();" becouse init_iso() is handled at same time.
On my car it is not a problem, but i noticed that if i try to display more debug info on LCD during reinit process - it does not reinit any more.
if this works and you still want that "securyty message" u should allow call to displayAlarmScreen(); only then ISO_InitStep is 0.
smth like:
Code:
if (ISO_InitStep == 0)
displayAlarmScreen();
One more thing to try could be to increase time delay before starting init bit-bang:
initTime = currentTime + 3000;
to change it to:
initTime = currentTime + 5000;
or more then 5s.