]> www.fi.muni.cz Git - bike-lights.git/commitdiff
firmware/battery: init function, new resistor sizes
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Sat, 17 Nov 2012 21:21:35 +0000 (22:21 +0100)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Sat, 17 Nov 2012 21:21:35 +0000 (22:21 +0100)
firmware/battery.c
firmware/lights.h
firmware/main.c

index 472c1c47f099093c59bfe6454983276687e9dad8..284c096b34230b38f53702539d6ed4792f901dcb 100644 (file)
@@ -3,9 +3,14 @@
 #include "lights.h"
 
 #define RESISTOR_HI    1500    // kOhm
-#define RESISTOR_LO     150    // kOhm
+#define RESISTOR_LO     100    // kOhm
 
-volatile unsigned char battery_100mv;
+volatile unsigned char battery_100mv = 0;
+
+void init_battery()
+{
+       battery_100mv = 0;
+}
 
 void battery_adc(uint16_t adcval)
 {
@@ -18,7 +23,7 @@ void battery_adc(uint16_t adcval)
         * is coarse (0.1 V).
         */
        battery_100mv = (unsigned char)
-               ((adcval * 11                              // 1.1V
+               ((uint16_t)(adcval * 11                              // 1.1V
                * (RESISTOR_HI+RESISTOR_LO)/RESISTOR_LO    // resistor ratio
                / 4) >> 8);                                // divide by 1024
 }
index f8223845d0a451c429765922926682df78d8973f..43915bd3ce9fd1019c455ae52a0346e907f53585 100644 (file)
@@ -80,6 +80,7 @@ void timer_check_buttons();
 /* battery.c */
 extern volatile unsigned char battery_100mv;
 void battery_adc();
+void init_battery();
 
 /* main.c */
 void hw_setup();
index d10a322bd34c721aca16d3bfbc63e12c2e4bb570..25ea829511781e3e365c282a9bc0ae0e4357b8c3 100644 (file)
@@ -10,6 +10,7 @@
 void hw_setup()
 {
        wdt_enable(WDTO_1S);
+       init_battery();
        init_pwm();
        init_adc();
        init_tmr();