mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-25 09:56:54 +06:00
41c50bb653
* Change keyboard level include guards to `pragma once` And clean up a lot of layout macros * Oops * Remove dangling endif
33 lines
655 B
C
33 lines
655 B
C
#pragma once
|
|
|
|
#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
|