36 lines
		
	
	
		
			682 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			682 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef POWER_H
 | 
						|
#define POWER_H
 | 
						|
 | 
						|
#include <stdint.h>
 | 
						|
#include <stdbool.h>
 | 
						|
 | 
						|
typedef enum {
 | 
						|
    FULL_CHARGED,
 | 
						|
    CHARGING,
 | 
						|
    DISCHARGING,
 | 
						|
    LOW_VOLTAGE,
 | 
						|
    UNKNOWN,
 | 
						|
} battery_status_t;
 | 
						|
 | 
						|
typedef enum {
 | 
						|
    LED_CHARGER = 0,
 | 
						|
    LED_ON,
 | 
						|
    LED_OFF,
 | 
						|
    LED_TOGGLE,
 | 
						|
} battery_led_t;
 | 
						|
 | 
						|
/* Battery API */
 | 
						|
void battery_init(void);
 | 
						|
void battery_led(battery_led_t val);
 | 
						|
bool battery_charging(void);
 | 
						|
uint16_t battery_voltage(void);
 | 
						|
battery_status_t battery_status(void);
 | 
						|
 | 
						|
#define BATTERY_VOLTAGE_LOW_LIMIT       3500
 | 
						|
#define BATTERY_VOLTAGE_LOW_RECOVERY    3700
 | 
						|
// ADC offset:16, resolution:5mV
 | 
						|
#define BATTERY_ADC_OFFSET              16
 | 
						|
#define BATTERY_ADC_RESOLUTION          5
 | 
						|
 | 
						|
#endif
 |