]> www.fi.muni.cz Git - bike-lights.git/blobdiff - firmware/gpio.c
mudflap for dual rearlights
[bike-lights.git] / firmware / gpio.c
index 2ee32109d754360434afc6ec0ed3d5c3a8269592..b51d89f6c9442366b347c07705cc357fd330ea5b 100644 (file)
@@ -2,26 +2,34 @@
 
 #include "lights.h"
 
-void gpio_init()
+void init_gpio()
 {
-       DDRB |= _BV(PB2) | _BV(PB4);
-       PORTB &=~ (_BV(PB2) | _BV(PB4));
+       PORTB &=~ (_BV(PB0) | _BV(PB2) | _BV(PB4) | _BV(PB6));
+       DDRB |=    _BV(PB0) | _BV(PB2) | _BV(PB4) | _BV(PB6);
+}
 
-       gpio_set(GPIO_LED2, 1);
+void susp_gpio()
+{
+       PORTB &= ~(_BV(PB0) | _BV(PB2) | _BV(PB4) | _BV(PB6));
+       DDRB |=    _BV(PB0) | _BV(PB2) | _BV(PB4) | _BV(PB6);
 }
 
 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: PORTB |= _BV(PB4); break;
+               case 3: PORTB |= _BV(PB6); break;
+               }
        } else {
-               PORTB &= ~bits;
+               switch(n) {
+               case 0: PORTB &= ~_BV(PB0); break;
+               case 1: PORTB &= ~_BV(PB2); break;
+               case 2: PORTB &= ~_BV(PB4); break;
+               case 3: PORTB &= ~_BV(PB6); break;
+               }
        }
 }