| 12345678910111213141516171819202122232425262728 |
- #ifndef VBAT_H
- #define VBAT_H
- #include <stdbool.h>
- #include <stdint.h>
- #define VBAT_INVALID_VALUE ((uint32_t)(-1))
- typedef struct
- {
- bool (*Init)();
- void (*SetMeasureInterval)(uint32_t ms);
- bool (*ServeMonitor)();
- uint32_t (*GetVoltage)();
- void (*DeInit)();
- }
- sVBat_Handle_t;
- extern const sVBat_Handle_t VBatHandle;
- #define VBAT_MONITOR_INTERVAL 10000 // [ms]
- #define VBAT_MONITOR_MEAS_TIMEOUT 5 // [ms], ADC is running is High-priority fast mode, 5ms is enough
- #define VBAT_INIT_FOR_MEASURE 1 // 0/1, initialize VBAT sensing circuit for single measure
- #define VBAT_AVERAGING_POINTS 3 // Number measurements for averaging the result, set to zero to disable
- #define VBAT_AVERAGING_INTERVAL 100 // interval in [ms] between measurements while averaging
- #define VBAT_VOLTAGE_MULTIPLIER 2
- #define VBAT_VOLTAGE_DIVIDER 1
- #endif
|