#ifndef _POWER_H #define _POWER_H #include #include #include #include "i2c.h" #include "reset.h" #define DEFAULT_VREF 1100 // tbd: use adc2_vref_to_gpio() for better estimate #define NO_OF_SAMPLES 64 // we do some multisampling to get better values #ifndef BAT_MAX_VOLTAGE #define BAT_MAX_VOLTAGE 4200 // millivolts #endif #ifndef BAT_MIN_VOLTAGE #define BAT_MIN_VOLTAGE 2800 // millivolts #endif uint16_t read_voltage(void); uint8_t read_battlevel(void); void calibrate_voltage(void); bool batt_sufficient(void); #ifdef HAS_PMU #include enum pmu_power_t { pmu_power_on, pmu_power_off, pmu_power_sleep }; void AXP192_powerevent_IRQ(void); void AXP192_power(pmu_power_t powerlevel); void AXP192_init(void); void AXP192_showstatus(void); #endif // HAS_PMU #endif