mirror of
https://github.com/meshtastic/firmware.git
synced 2026-01-28 12:42:00 +00:00
27 lines
1.0 KiB
C
27 lines
1.0 KiB
C
|
|
|
||
|
|
/*
|
||
|
|
|
||
|
|
Power Hardware Abstraction Layer. Set of API calls to offload power management, measurements, reboots, etc
|
||
|
|
to the platform and variant code to avoid #ifdef spaghetti hell and limitless device-based edge cases
|
||
|
|
in the main firmware code
|
||
|
|
|
||
|
|
Functions declared here (with exception of powerHAL_init) should be defined in platform specific codebase.
|
||
|
|
Default function body does usually nothing.
|
||
|
|
|
||
|
|
*/
|
||
|
|
|
||
|
|
// Initialize HAL layer. Call it as early as possible during device boot
|
||
|
|
// do not overwrite it as it's not declared with "weak" attribute.
|
||
|
|
void powerHAL_init();
|
||
|
|
|
||
|
|
// platform specific init code if needed to be run early on boot
|
||
|
|
void powerHAL_platformInit();
|
||
|
|
|
||
|
|
// Return true if current battery level is safe for device operation (for example flash writes).
|
||
|
|
// This should be reported by power failure comparator (NRF52) or similar circuits on other platforms.
|
||
|
|
// Do not use battery ADC as improper ADC configuration may prevent device from booting.
|
||
|
|
bool powerHAL_isPowerLevelSafe();
|
||
|
|
|
||
|
|
// return if USB voltage is connected
|
||
|
|
bool powerHAL_isVBUSConnected();
|