update bluetooth driver (made a start)

This commit is contained in:
Sem van der Hoeven
2024-01-13 23:47:31 +01:00
parent b61fc4c8a1
commit 3ea9e7bfe4
4 changed files with 41 additions and 7 deletions

View File

@@ -59,13 +59,6 @@ enum DeviceLabel
DEV_DONE = 3
};
enum BluetoothState
{
BT_INITIALISING = 0,
BT_CONNECTING = 1,
BT_CONNECTED = 2
};
/* extern fonts */
extern uint8_t BigFont[];
extern uint8_t SmallFont[];

21
due_obd2/obd2_bt.c Normal file
View File

@@ -0,0 +1,21 @@
#include "wiring_digital.h"
#include "obd2_bt.h"
void obd2_bt_init(obd2_bt_t *bt)
{
bt->state = BT_INITIALISING;
}
void obd2_bt_process(obd2_bt_t *bt)
{
__UINT32_TYPE__ bt_state = digitalRead(BT_STATE_PIN);
if (bt_state)
{
bt->state = BT_CONNECTED;
}
else
{
bt->state = BT_INITIALISING;
}
bt->on_state_change();
}

View File

@@ -21,4 +21,23 @@ Be sure to disconnect the TX and RX pins from the BT module when programming the
#ifndef OBD2_BT_H
#define OBD2_BT_H
#define BT_STATE_PIN 3 /* state connection pin from bluetooth module -> level high on connected */
enum BluetoothState
{
BT_INITIALISING = 0,
BT_CONNECTING = 1,
BT_CONNECTED = 2
};
typedef struct obt2_bt_tag
{
enum BluetoothState state;
void (*on_state_change)();
} obd2_bt_t;
void obd2_bt_init(obd2_bt_t *bt);
void obd2_bt_process(obd2_bt_t *bt);
#endif // OBD2_BT_H