#ifndef krokac
#define krokac


//*****************************  makra  ********************************
// Definice makra pro pristup k bitu
#define bit_set(reg,bit) reg |= (1<<bit)
#define bit_clr(reg,bit) reg &= ~(1<<bit)

typedef struct
{
unsigned char 
b0 : 1,
b1 : 1,
b2 : 1,
b3 : 1,
b4 : 1,
b5 : 1,
b6 : 1,
b7 : 1;
} bit_field;

// Define macro to get the value of each bit
#define BIT(port) (*(volatile bit_field *) (_SFR_ADDR(port)))
//***********************************************************************

//************** určení názvu každého I/O pinu **************************
#define A BIT(PORTA).b4
#define B BIT(PORTA).b5
#define C BIT(PORTA).b6
#define D BIT(PORTA).b7
#define E BIT(PORTB).b3
#define F BIT(PORTB).b4
#define G BIT(PORTA).b2
#define H BIT(PORTA).b3
#define PLAY BIT(PORTD).b4	//spíná tranzistor pro zapnutí zvuku
#define NEXT BIT(PORTD).b5	//spíná tranzistor pro další skladbu
#define LED_RED BIT(PORTD).b1  //USART_Tx a výstraha baterie
#define LED_GR BIT(PORTD).b3 //externí INT1 a signalizace zapnuto
#define END1 BIT(PINC).b0 //nepoužitý koncový spínač
#define END2 BIT(PINC).b1 //nepoužitý koncový spínač
#define END3 BIT(PIND).b6 //koncák u ABB nápisu
#define END4 BIT(PIND).b7 //koncák u vypinače
//*************************  makra konec  ************************************

//********************** prototypy funkcí*************************************
void uart0_init(void);
void timer0_init(void);
void adc_init(void);
void turn_right(void);
void turn_left(void);
void turn_up(void);
void turn_down(void);
void play(unsigned char set);
void automat(void);


#endif 
