summaryrefslogtreecommitdiffstats
path: root/keyboard/hhkb_rn42/rn42/battery.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard/hhkb_rn42/rn42/battery.h')
-rw-r--r--keyboard/hhkb_rn42/rn42/battery.h35
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 000000000..180d4dcfa
--- /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