From 02939ab1d831ab7bb02edb28cb0b21fb61bced56 Mon Sep 17 00:00:00 2001 From: tmk Date: Thu, 4 Sep 2014 05:30:00 +0900 Subject: Add battery management --- keyboard/hhkb_rn42/rn42/battery.c | 119 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 keyboard/hhkb_rn42/rn42/battery.c (limited to 'keyboard/hhkb_rn42/rn42/battery.c') diff --git a/keyboard/hhkb_rn42/rn42/battery.c b/keyboard/hhkb_rn42/rn42/battery.c new file mode 100644 index 000000000..32de86448 --- /dev/null +++ b/keyboard/hhkb_rn42/rn42/battery.c @@ -0,0 +1,119 @@ +#include +#include +#include "battery.h" + + +/* + * Battery + */ +void battery_init(void) +{ + // blink + battery_led(LED_ON); _delay_ms(500); + battery_led(LED_OFF); _delay_ms(500); + battery_led(LED_ON); _delay_ms(500); + battery_led(LED_OFF); _delay_ms(500); + // LED indicates charger status + battery_led(LED_CHARGER); + + // ADC setting for voltage monitor + // Ref:2.56V band-gap, Input:ADC0(PF0), Prescale:128(16MHz/128=125KHz) + ADMUX = (1< BATTERY_VOLTAGE_LOW_RECOVERY) { + low = false; + } + return low; +} + +battery_status_t battery_status(void) +{ + if (USBSTA&(1<