3 #include <avr/pgmspace.h>
5 #include <avr/eeprom.h>
8 #include <dev/watchdog.h>
22 ADCSRB &= ~(1 << MUX5);
23 ADMUX |= (1 << REFS1) | (1 << REFS0);
27 ADCSRA = (1 << ADPS2) | (0 << ADPS1) | (1 << ADPS0);
28 ADCSRA |= (1 << ADEN);
30 while(!(ADCSRB & (1 << AVDDOK))) ;
31 while(!(ADCSRB & (1 << REFOK))) ;
35 ADCSRA |= (1 << ADSC);
36 while(ADCSRA & _BV(ADSC)) {
42 for(i = 0; i < RES; i++) {
45 ADCSRA |= (1 << ADSC);
48 while(ADCSRA & (1 << ADSC)) {
65 return ((
double)adc_read(AV_IN)) * V_IN_FACTOR_SCHOTTKY + SCHOTTKY_DROP;
70 return ((
double)adc_read(A1)) * V_IN_FACTOR;
75 return ((
double)adc_read(A2)) * V_IN_FACTOR;