Detect under-voltage on GPIO1/11, persist UV state in NVS, enter a minimal power mode without ESP-NOW, and recover after charge; expose LED mode 6 battery-low for host testing via goTool. Co-authored-by: Cursor <cursoragent@cursor.com>
26 lines
827 B
C
26 lines
827 B
C
#ifndef POD_SETTINGS_H
|
|
#define POD_SETTINGS_H
|
|
|
|
#include "esp_err.h"
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
|
|
/** Initialize NVS (idempotent) and log stored settings. Call once early in app_main. */
|
|
esp_err_t pod_settings_init(void);
|
|
|
|
/** Persist local accelerometer deadzone (LSB per axis). */
|
|
esp_err_t pod_settings_save_accel_deadzone(uint32_t deadzone_lsb);
|
|
|
|
/** Load deadzone from NVS, or BMA456_DEFAULT_ACCEL_DEADZONE if unset. */
|
|
uint32_t pod_settings_load_accel_deadzone(void);
|
|
|
|
/** Apply NVS deadzone to BMA456 when the sensor is present. */
|
|
void pod_settings_apply_accel_deadzone(void);
|
|
|
|
/** LiPo under-voltage latch persisted across reboot (software UV protection). */
|
|
bool pod_settings_is_uv_latched(void);
|
|
esp_err_t pod_settings_set_uv_latched(bool latched);
|
|
esp_err_t pod_settings_clear_uv_latched(void);
|
|
|
|
#endif
|