35 lines
715 B
C++
35 lines
715 B
C++
#ifndef BM_EVENTS_H
|
|
#define BM_EVENTS_H
|
|
|
|
#include "freertos/FreeRTOS.h"
|
|
#include "freertos/queue.h"
|
|
#include "freertos/task.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
// Shared with max17048.c (C) — only C-compatible types here
|
|
typedef enum {
|
|
EVENT_CLEAR_CALIB,
|
|
EVENT_SAVE_POS,
|
|
EVENT_REQUEST_POS,
|
|
EVENT_BATTERY_CRITICAL, // stop servo, save pos, alert server, deep sleep
|
|
EVENT_BATTERY_WARNING, // alert server (no shutdown)
|
|
EVENT_REPORT_SOC, // periodic SOC sync to server
|
|
} main_event_type_t;
|
|
|
|
extern QueueHandle_t main_event_queue;
|
|
extern TaskHandle_t wakeTaskHandle;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
void mainEventLoop();
|
|
void wakeTimer(void* pvParameters);
|
|
#endif
|
|
|
|
#endif
|