diff options
Diffstat (limited to 'keyboard/hhkb_rn42/rn42/battery.c')
| -rw-r--r-- | keyboard/hhkb_rn42/rn42/battery.c | 12 |
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 |
| 80 | uint16_t battery_voltage(void) | 84 | uint16_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 | ||
