#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;
+ }
}
}