]> www.fi.muni.cz Git - tinyboard.git/blobdiff - projects/step-up/adc.c
Power management - make every module enable power for its own HW.
[tinyboard.git] / projects / step-up / adc.c
index 9daf99158ad26aa9391d24f3731409624c2cc9f4..daf7bfe4bdb305c9cb05ce65d036a346ccb03b1a 100644 (file)
@@ -1,5 +1,6 @@
 #include <avr/io.h>
 #include <avr/interrupt.h>
+#include <avr/power.h>
 #include <avr/sleep.h>
 
 #include "lights.h"
@@ -132,6 +133,9 @@ void init_adc()
        current_slow_adc = NUM_ADCS;
        current_adc = 0;
 
+       power_adc_enable();
+       ACSR |= _BV(ACD);       // but disable the analog comparator
+
        ADCSRA = _BV(ADEN)                      // enable
                | _BV(ADPS1) | _BV(ADPS0)       // CLK/8 = 125 kHz
                // | _BV(ADPS2)                 // CLK/16 = 62.5 kHz
@@ -202,8 +206,7 @@ ISR(ADC_vect) { // IRQ handler
        switch (current_adc) {
        case 0:
                // pwmled_adc(current_adc, adc_sum);
-               log_word(0x9000+adc_sum);
-               return;
+               pwmled_adc(1, adc_sum);
                break;
        }