#include <avr/io.h>
#include <stdlib.h>
#include <string.h>
#include <util/delay.h>
#ifndef _BV
#define _BV(bit) (1<<(bit))
#endif
#ifndef sbi
#define sbi(reg,bit) reg |= (_BV(bit))
#endif
#ifndef cbi
#define cbi(reg,bit) reg &= ~(_BV(bit))
#endif
int main() {
DDRB=0xff;
_delay_ms(500);
bool inside = true;
while (1) {
if (inside) {
sbi(PORTB, PB5);
sbi(PORTB, PB1);
_delay_ms(500);
cbi(PORTB, PB5);
cbi(PORTB, PB1);
sbi(PORTB, PB4);
sbi(PORTB, PB2);
_delay_ms(500);
cbi(PORTB, PB4);
cbi(PORTB, PB2);
sbi(PORTB, PB3);
_delay_ms(500);
inside = false;
}
else {
cbi(PORTB, PB3);
sbi(PORTB, PB4);
sbi(PORTB, PB2);
_delay_ms(500);
cbi(PORTB, PB4);
cbi(PORTB, PB2);
inside = true;
}
}
}