#include <avr/io.h>
#include <util/delay.h>

#define F_CPU 1000000UL
enum A_Irany
{
	A_IRANY_LEFELE,
	A_IRANY_FELFELE
};


void initOutput(void)
{
	DDRB |= (1 << PB1) |	//OC1A kimenet
					(1 << PB2);		//OC1B kimenet
}

void initPWM(void)
{
	TCCR1A |= (1 << WGM10)	|	//	Fast PWM 8bit
						(1 << WGM12)	|	//	Fast PWM 8bit
						(1 << COM1B1)	|	//	B Non inverting
						(1 << COM1A1); 	//	A Non inverting
							
	TCCR1B |=	(1 << CS10);	// 	No Prescaler

	OCR1A = 0;		//Compare output A
	OCR1B = 255;	//Compare output B
}

int main()
{
uint8_t irany = A_IRANY_FELFELE;
	initOutput();
	initPWM();
	for(;;)
	{
		_delay_ms(10);
		if (OCR1A == 255) irany = A_IRANY_LEFELE;
		if (OCR1A == 0) 	irany = A_IRANY_FELFELE;
		
		switch (irany)
		{
			case A_IRANY_LEFELE:
				OCR1A--;
				OCR1B++;
			break;

			case A_IRANY_FELFELE:
				OCR1A++;
				OCR1B--;
			break;

			default:
			break;
		}
	}

}
