#include <avr\io.h> 			
#include <avr\interrupt.h>

// RC5_T нужно расчитать вручную (особенности компилятора)
#define		RC5_T			1778 //((F_CPU/PRESCALER/1000)*1.778)
#define		FAULT_TIME_RC5	RC5_T*17	// не должно быть более 65535
#define 	TOLERANCE		(RC5_T/10)	//  10%	

#define		FL_RC5_RESET	_BV(0)	// сброс приемника
#define		FL_STBIT_1		_BV(1)	// первый стартовый бит
#define	 	FL_SAMPLE		_BV(7)	// резрешение выборки
#define	 	FL_FAULT		_BV(2)	// ошибка приема

#define CAPT_ON_FALLING	cbi(TCCR1B, ICES1)
#define CAPT_ON_RISING	sbi(TCCR1B, ICES1)

struct {
	unsigned char	control_bit;
	unsigned char	system;
	unsigned char	command;
	unsigned char	flag;
	unsigned char	dataOK;
	unsigned char	error;
	}	rc5;

void Rc5_SetRx(void);
