diff --git a/due_obd2/due_obd2.ino b/due_obd2/due_obd2.ino index 0f612a1..d6e2ad3 100644 --- a/due_obd2/due_obd2.ino +++ b/due_obd2/due_obd2.ino @@ -190,8 +190,8 @@ void on_init_run() display.setColor(VGA_BLACK); display.print("Bluetooth ", (display.getDisplayXSize() / 2) - (11 * display.getFontXsize()), initialization_y + 50); - char current_bt_state[BT_STATE_LENGTH]; - obd2_elm327_get_state(&elm327, (char *)current_bt_state); + char current_bt_state[BT_STATE_LENGTH] = "poep"; + obd2_elm327_get_state(&elm327, current_bt_state); display.print(current_bt_state, (display.getDisplayXSize() / 2) + display.getFontXsize(), initialization_y + 50); display.setBackColor(VGA_BLACK); @@ -423,7 +423,7 @@ void setup() /* Init display */ display.InitLCD(); - display.setFont(OCR_A_Extended_M); + // display.setFont(OCR_A_Extended_M); #if (DEBUG == 1) Serial.println("Starting"); @@ -435,9 +435,17 @@ void setup() statemachine_register_state(&main_state, STATE_CAR_INFO); statemachine_init(); - /* Serial1 is bluetooth module, pin 18 and 19. */ - Serial1.begin(BT_BAUD); + display.setFont(BigFont); + display.setColor(VGA_AQUA); + 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); + obd2_elm327_init(&elm327); + + display.clrScr(); + + display.setFont(OCR_A_Extended_M); } void loop() diff --git a/due_obd2/obd2_elm327.cpp b/due_obd2/obd2_elm327.cpp index 51ac0e1..4743678 100644 --- a/due_obd2/obd2_elm327.cpp +++ b/due_obd2/obd2_elm327.cpp @@ -3,39 +3,27 @@ #include "obd2_elm327.h" -ELM327 myELM327; +ELM327 elm327_obj; -void obd2_elm327_init(obd2_elm327_t *elm327) +char bt_states[3][BT_STATE_LENGTH] = {"Initializing", "Connecting ", "Connected "}; + +char obd2_elm327_init(obd2_elm327_t *elm327) { + + ELM327_SERIAL.begin(ELM327_BAUD); + elm327->bt_state = BT_INITIALISING; + + if (!elm327_obj.begin(ELM327_SERIAL, false, 5000)) + { + return 0; + } + return 1; } void obd2_elm327_get_state(obd2_elm327_t *elm327, char *state) { - // char bt_states[3][13] = {"Initializing", "Connecting ", "Connected "}; - // char bt_states; - // (void) bt_states; - - if (sizeof(state) != BT_STATE_LENGTH) - { - /* result string must be of size 13 */ - return; - } - switch (elm327->bt_state) - { - case BT_INITIALISING: - strcpy(state, "Initializing"); - break; - case BT_CONNECTING: - strcpy(state, "Connecting "); - break; - case BT_CONNECTED: - strcpy(state, "Connected "); - break; - default: - strcpy(state, "Unknown "); - break; - } + strcpy(state, bt_states[elm327->bt_state]); } void obd2_elm327_process(obd2_elm327_t *elm327) diff --git a/due_obd2/obd2_elm327.h b/due_obd2/obd2_elm327.h index fc243bb..4614ba1 100644 --- a/due_obd2/obd2_elm327.h +++ b/due_obd2/obd2_elm327.h @@ -76,8 +76,9 @@ typedef struct obt2_elm327_tag * @brief initializes the bluetooth module driver * * @param elm327 pointer to struct holding bluetooth driver data + * @returns 1 if successfully initialized, 0 if not. */ -void obd2_elm327_init(obd2_elm327_t *elm327); +char obd2_elm327_init(obd2_elm327_t *elm327); /** * @brief processes the bluetooth module communication with the OBD2 reader