diff options
author | tmk <nobody@nowhere> | 2014-11-24 13:50:33 +0900 |
---|---|---|
committer | tmk <nobody@nowhere> | 2014-11-24 13:50:33 +0900 |
commit | 363950982a291c3bfa03ac6362061b1d37dc06b0 (patch) | |
tree | c46fc53fe00137ced3c8edd3d0766ee844f77516 /keyboard/hhkb_rn42/rn42/battery.h | |
parent | eb90ed6238426db9367e294abfaefb5de07564f5 (diff) | |
parent | 60096e11c77980ca6b54674c5b68248e8aa15d8d (diff) |
Merge branch 'rn42' into merge_rn42
Conflicts:
.gitignore
common.mk
common/debug_config.h
common/print.h
Diffstat (limited to 'keyboard/hhkb_rn42/rn42/battery.h')
-rw-r--r-- | keyboard/hhkb_rn42/rn42/battery.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/keyboard/hhkb_rn42/rn42/battery.h b/keyboard/hhkb_rn42/rn42/battery.h new file mode 100644 index 0000000000..180d4dcfaa --- /dev/null +++ b/keyboard/hhkb_rn42/rn42/battery.h @@ -0,0 +1,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 |