keychron_qmk_firmware/keyboard/hhkb/rn42/battery.h

36 lines
682 B
C
Raw Normal View History

2014-09-04 02:30:00 +06:00
#ifndef POWER_H
#define POWER_H
#include <stdint.h>
#include <stdbool.h>
typedef enum {
FULL_CHARGED,
CHARGING,
DISCHARGING,
LOW_VOLTAGE,
2014-09-04 14:08:23 +06:00
UNKNOWN,
2014-09-04 02:30:00 +06:00
} 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