]> www.fi.muni.cz Git - bike-lights.git/commitdiff
firmware: move buttons and GPIO LEDs
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Sun, 11 Nov 2012 18:17:27 +0000 (19:17 +0100)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Sun, 11 Nov 2012 18:17:27 +0000 (19:17 +0100)
Move buttons to PA3, PA4, and GPIO LEDs to PB0,2,4,6 (as in schematics).

firmware/buttons.c
firmware/gpio.c

index 9a4c7e1172dfd52f1374969148f74945e3dc92bb..d0cbd51b10c5d2bff3ef35e85abc315d2f099907 100644 (file)
@@ -13,8 +13,8 @@ void init_buttons()
 {
        unsigned char i;
 
-       DDRB &= ~(_BV(PB4) | _BV(PB6));
-       PORTB |=  _BV(PB4) | _BV(PB6);
+       DDRA &= ~(_BV(PA3) | _BV(PA4));
+       PORTA |=  _BV(PA3) | _BV(PA4);
 
        for (i=0; i < N_BUTTONS; i++) {
                button_start[i] = 0;
@@ -23,7 +23,7 @@ void init_buttons()
 
        just_waked_up = 1;
 
-       // log_byte(PORTB);
+       // log_byte(PORTA);
 }
 
 static void do_sleep()
@@ -34,7 +34,7 @@ static void do_sleep()
        hw_suspend();
        gpio_before_poweroff(); // Set the status LED on again
 
-       while((PINB & _BV(PB6)) == 0)
+       while((PINA & _BV(PA3)) == 0)
                ; // wait for button release
 
        _delay_ms(100);
@@ -58,11 +58,11 @@ static void inline short_press(unsigned char n)
 
 void timer_check_buttons()
 {
-       unsigned char pinb = PINB;
+       unsigned char pin = PINA;
        unsigned char i;
        unsigned char port_states[N_BUTTONS] = {
-               pinb & _BV(PB6),
-               pinb & _BV(PB4),
+               pin & _BV(PA3),
+               pin & _BV(PA4),
        };
 
        for (i = 0; i < N_BUTTONS; i++) {
index d2a240b4e31fd4a3690ba4b69ace130b5dd83538..8e39bd29923359eb745946711bbb42a07bb21757 100644 (file)
@@ -4,28 +4,22 @@
 
 void gpio_init()
 {
-       DDRB |=    _BV(PB0) | _BV(PB2);     // LED4, LED5
-       PORTB &=~ (_BV(PB0) | _BV(PB2));
-
-       DDRA |=    _BV(PA3) | _BV(PA4);     // LED6, LED7
-       PORTA &=~ (_BV(PA3) | _BV(PA4));
+       DDRB |=    _BV(PB0) | _BV(PB2) | _BV(PB4) | _BV(PB6);
+       PORTB &=~ (_BV(PB0) | _BV(PB2) | _BV(PB4) | _BV(PB6));
 
        gpio_set(1, 1);
 }
 
 void susp_gpio()
 {
-       DDRB &=  ~(_BV(PB0) | _BV(PB2));     // LED4, LED5
-       PORTB &=~ (_BV(PB0) | _BV(PB2));
-
-       DDRA &=  ~(_BV(PA3) | _BV(PA4));     // LED6, LED7
-       PORTA &=~ (_BV(PA3) | _BV(PA4));
+       DDRB  &= ~(_BV(PB0) | _BV(PB2) | _BV(PB4) | _BV(PB6));
+       PORTB &= ~(_BV(PB0) | _BV(PB2) | _BV(PB4) | _BV(PB6));
 }
 
 void gpio_before_poweroff()
 {
-       DDRA |= _BV(PA4);
-       PORTA |= _BV(PA4);
+       DDRB |= _BV(PB2);
+       PORTB |= _BV(PB2);
 }
 
 void gpio_set(unsigned char n, unsigned char on)
@@ -34,15 +28,15 @@ void gpio_set(unsigned char n, unsigned char on)
                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;
+               case 2: PORTB |= _BV(PB4); break;
+               case 3: PORTB |= _BV(PB6); break;
                }
        } else {
                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;
+               case 2: PORTB &= ~_BV(PB4); break;
+               case 3: PORTB &= ~_BV(PB6); break;
                }
        }
 }