#include"wbios.h"	/* bios */
#include"lcdbios.h"	/* LCD drawing */
#include"rupsys.h"	/* rupsys */
#include"stdio.h"	/* rupsys */
int counter;
int counterlcd;
void countlcd(void)
{
  counterlcd++;
	if (counterlcd==20){
	  counterlcd--;
		lcdon(0);
	}else{
	  lcdon(1);
	}
}

void count(void)
{
 	char buff[30];
	float sek;
	counter++;
	sek=counter;
	sek=sek/4;
	sprintf(buff,"Time: %8.2f s",sek);
	gv_kput(0,47,buff,2,0,0);
}
paintlogo()
{
  gv_line(0,1,100,1,0,0xFF);
	gv_line(0,2,100,2,0,0xF0);
	gv_line(0,3,100,3,0,0xFF);
	gv_kput(0,5,"ThunderCAL",0,0,0);
	gv_line(0,18,100,18,0,0xFF);
	return 1;
}
wait()
{
	int Key=0;
	again:
	bi_clrbtn();
	Key=bi_getbtn();
	if (pSystemCtl->EventManager->event&EVENT_DBLCLICK) { Keyin(0,-1);}
		 while( (!(Key&Bkey_B))&&(!(Key&Bkey_D))){
		 Key=bi_getbtn();
		 bi_clrbtn();
  }
	if (counterlcd==19){
		counterlcd=0;
	  lcdon(1);
		goto again;
	}
	counterlcd=0;
		

	if ((Key&Bkey_D)){return 2;}else{return 1;}
}

int main(void)
{
	int *timeid;
	int *timeidlcd;
	float dis;
  char buff[30];
	screen(1);
	loop1:
	cls(4);
	counter=0;
	paintlogo();
	counterlcd=0;
	timeidlcd = bi_tmset(0,255,1,countlcd);
	gv_kput(0,20,"Press [ENTER]",2,0,0);
	gv_kput(0,29,"when you see the",2,0,0);
	gv_kput(0,38,"flash!",2,0,0);
	gv_kput(0,55,"(c) Hanno Rein 02",2,0,0);
	wait();
	cls(4);
	paintlogo();
	gv_kput(0,20,"Press [ENTER]",2,0,0);
	gv_kput(0,29,"when you hear the",2,0,0);
	gv_kput(0,38,"thunder!",2,0,0);
	timeid = bi_tmset(1,10,1,count);
	
	wait();
	bi_tmdel(timeid);
	dis=counter;
	dis=dis/4/1000*330;
	cls(4);
	counter--;
	count();
	paintlogo();
	gv_kput(0,20,"Press [ENTER] to",2,0,0);
	gv_kput(0,29,"continue or press",2,0,0);
	gv_kput(0,38,"[MENU] to exit!",2,0,0);
	sprintf(buff,"Distance:%5.2f km",dis);
	gv_kput(0,56,buff,2,0,0);
	if (wait()!=2)
	{
 	 bi_tmdel(timeidlcd);
	 goto loop1;
	}
	bi_tmdel(timeidlcd);
  cls(4);

}


