~ruther/qmk_firmware

ref: aee8715815544b076c123d4ed55c76e23a7e54d0 qmk_firmware/keyboard/hhkb/rn42/battery.h -rw-r--r-- 682 bytes
aee87158 — Stephan Bösebeck Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 9 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#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