add waiting for ELM327 before init state

This commit is contained in:
Sem van der Hoeven
2024-01-21 13:59:49 +01:00
parent 3f19ab4b7d
commit 5fbafa3dc9
5 changed files with 29 additions and 10 deletions

View File

@@ -30,6 +30,7 @@ Program to create a car monitor display using:
#define FLAG_DEVICE_LABEL_UPDATE_POS 0x04
#define FLAG_DEVICE_LABEL_SHOULD_UPDATE_POS 0x05 /* 0 if label should be updated, 1 if valyue should be updated */
#define FLAG_DEVICE_LABEL_UPDATE_KB_POS 0x06 /* count KB up */
#define FLAG_INIT_ELM327_DONE_POS 0x07 /* elm327 done initializing */
#define LOGO_MIN_STEP 20
#define LOGO_MAX_POS_Y 124
@@ -100,7 +101,7 @@ void __state_none()
state_t init_state =
{
.id = STATE_INIT,
.next = STATE_INIT,
.next = STATE_CAR_INFO,
.on_enter = &on_init_enter,
.on_run = &on_init_run,
.on_exit = &on_init_exit};
@@ -123,6 +124,9 @@ UTFT display(ILI9486, 38, 39, 40, 41);
void on_init_enter()
{
#if (DEBUG == 1)
Serial.println("Entering init state!");
#endif
display.clrScr();
Timer0.attachInterrupt(update_init_text);
@@ -138,9 +142,6 @@ void on_init_enter()
Timer3.attachInterrupt(update_ram_kb);
logo_flag |= (1 << FLAG_LOGO_UPDATE);
#if (DEBUG == 1)
Serial.println("Entering init state!");
#endif
}
void on_init_run()
@@ -435,13 +436,21 @@ void setup()
statemachine_register_state(&main_state, STATE_CAR_INFO);
statemachine_init();
display.clrScr();
display.setFont(BigFont);
display.setColor(VGA_AQUA);
display.print("Welcome Sem",(display.getDisplayXSize()/2) - ((11 * display.getFontXsize())/2),120);
display.print("Welcome Sem", (display.getDisplayXSize() / 2) - ((11 * display.getFontXsize()) / 2), 120);
display.setColor(VGA_FUCHSIA);
display.print("Just a moment...",(display.getDisplayXSize()/2) - ((16 * display.getFontXsize())/2),140);
display.print("Just a moment...", (display.getDisplayXSize() / 2) - ((16 * display.getFontXsize()) / 2), 140);
display.setColor(COLOR_ORANGE);
display.print("Waiting for ELM327", (display.getDisplayXSize() / 2) - ((18 * display.getFontXsize()) / 2), 160);
obd2_elm327_init(&elm327);
#if (DEBUG == 1)
Serial.println("done with elm327 init");
Serial.println(elm327.elm327->connected);
#endif
display.clrScr();
@@ -452,7 +461,6 @@ void loop()
{
statemachine_loop();
// Serial.println("Running");
// delay(10);
// while (Serial1.available())
// {