aboutsummaryrefslogtreecommitdiff
path: root/keyboard/hhkb_rn42/rn42/battery.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard/hhkb_rn42/rn42/battery.c')
-rw-r--r--keyboard/hhkb_rn42/rn42/battery.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/keyboard/hhkb_rn42/rn42/battery.c b/keyboard/hhkb_rn42/rn42/battery.c
index c6988fe33..0320e1baf 100644
--- a/keyboard/hhkb_rn42/rn42/battery.c
+++ b/keyboard/hhkb_rn42/rn42/battery.c
@@ -21,6 +21,10 @@ void battery_init(void)
21 ADMUX = (1<<REFS1) | (1<<REFS0); 21 ADMUX = (1<<REFS1) | (1<<REFS0);
22 ADCSRA = (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0); 22 ADCSRA = (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);
23 ADCSRA |= (1<<ADEN); 23 ADCSRA |= (1<<ADEN);
24
25 // ADC disable voltate divider(PF4)
26 DDRF |= (1<<4);
27 PORTF &= ~(1<<4);
24} 28}
25 29
26// Indicator for battery 30// Indicator for battery
@@ -79,6 +83,10 @@ bool battery_charging(void)
79// Returns voltage in mV 83// Returns voltage in mV
80uint16_t battery_voltage(void) 84uint16_t battery_voltage(void)
81{ 85{
86 // ADC disable voltate divider(PF4)
87 DDRF |= (1<<4);
88 PORTF |= (1<<4);
89
82 volatile uint16_t bat; 90 volatile uint16_t bat;
83 //ADCSRA |= (1<<ADEN); 91 //ADCSRA |= (1<<ADEN);
84 92
@@ -98,6 +106,10 @@ uint16_t battery_voltage(void)
98 106
99 //ADCSRA &= ~(1<<ADEN); 107 //ADCSRA &= ~(1<<ADEN);
100 108
109 // ADC disable voltate divider(PF4)
110 DDRF |= (1<<4);
111 PORTF &= ~(1<<4);
112
101 return (bat - BATTERY_ADC_OFFSET) * BATTERY_ADC_RESOLUTION; 113 return (bat - BATTERY_ADC_OFFSET) * BATTERY_ADC_RESOLUTION;
102} 114}
103 115