Files
OBD2-car-display/due_obd2/obd2_bt.c
2024-01-14 12:54:20 +01:00

50 lines
1004 B
C

#include <string.h>
#include "obd2_bt.h"
void obd2_bt_init(obd2_bt_t *bt)
{
bt->state = BT_INITIALISING;
}
void obd2_bt_get_state(obd2_bt_t *bt, 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 (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;
}
}
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();
}