]> www.fi.muni.cz Git - bike-lights.git/commitdiff
gpio leds according to new pins.txt
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Fri, 14 Sep 2012 21:34:31 +0000 (23:34 +0200)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Fri, 14 Sep 2012 21:34:31 +0000 (23:34 +0200)
firmware/gpio.c
firmware/lights.h

index 2ee32109d754360434afc6ec0ed3d5c3a8269592..d759b1883f114d2ed9fbae96a8e016ac4b689ca5 100644 (file)
@@ -4,24 +4,31 @@
 
 void gpio_init()
 {
-       DDRB |= _BV(PB2) | _BV(PB4);
-       PORTB &=~ (_BV(PB2) | _BV(PB4));
+       DDRB |=    _BV(PB0) | _BV(PB2);     // LED4, LED5
+       PORTB &=~ (_BV(PB0) | _BV(PB2));
 
-       gpio_set(GPIO_LED2, 1);
+       DDRA |=    _BV(PA3) | _BV(PA4);     // LED6, LED7
+       PORTB &=~ (_BV(PA3) | _BV(PA4));
+
+       gpio_set(1, 1);
 }
 
 void gpio_set(unsigned char n, unsigned char on)
 {
-       unsigned char bits = 0;
-       switch(n) {
-       case GPIO_LED1: bits = _BV(PB4); break;
-       case GPIO_LED2: bits = _BV(PB2); break;
-       }
-
        if (on) {
-               PORTB |= bits;
+               switch(n) {
+               case 0: PORTB |= _BV(PB0); break;
+               case 1: PORTB |= _BV(PB2); break;
+               case 2: PORTA |= _BV(PA3); break;
+               case 3: PORTA |= _BV(PA4); break;
+               }
        } else {
-               PORTB &= ~bits;
+               switch(n) {
+               case 0: PORTB &= ~_BV(PB0); break;
+               case 1: PORTB &= ~_BV(PB2); break;
+               case 2: PORTA &= ~_BV(PA3); break;
+               case 3: PORTA &= ~_BV(PA4); break;
+               }
        }
 }
 
index c0daaef6175e74c180dceeef2cc2f4e651d585bb..d7f00651e02235ce4584fa19bb4ec91fc41f03be 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef LIGHTS_H__
 #define LIGHTS_H__ 1
 
-#define N_LEDS 5
+#define N_LEDS 7
 #define N_PWMLEDS 3
 #define N_PWMLED_MODES 4
 
@@ -43,9 +43,6 @@ unsigned char pwmled_needs_adc(unsigned char n);
 unsigned char pwmled_enabled(unsigned char n);
 
 /* gpio.c */
-#define GPIO_LED1 0
-#define GPIO_LED2 1
-
 void gpio_init();
 void gpio_set(unsigned char n, unsigned char on);