#include <stdio.h>
#include <avr/io.h>

#define D() do { int i; for (i=0; i<400; i++) { asm("nop\n"); } } while(0)

/*
// salut
static unsigned char patterns[] =
{
	0x02, 21, 21, 8, 
	0, 0,
	30, 5, 30,
	0, 0,
	31, 16, 16,
	0, 0,
	15, 16, 15,
	0, 0,
	1, 31, 1,
	0, 0, 0
};
*/

// dessins old-school video games
static unsigned char patterns[] =
{
	0, 0, 78, 118, 26, 118, 78,
	0, 0, 42, 28, 54, 28, 42,
	0, 0, 62, 34, 34, 34, 62,
	0, 0, 16, 56, 108, 60, 60, 108, 56, 16,
	0, 0, 0, 0
};

int main(void)
{
	int i;	
	DDRD = 0xff;

	DDRC &= ~(1<<3);


	while(1)
	{
		// attendre le signal du senseur...
		while (!(PINC&(1<<3)));	
		
		for (i=0; i<sizeof(patterns); i++)
		{
			PORTD = patterns[i];
			D();
		}
	}
	
	
	return 0;
}

