

 #include "HS6220.H"
#include "key.H"






byte key_debouce_cnt;
byte key_buffer;
byte key_code;
byte key_fg;
extern byte sleep_cnt;

void  key_deal(void)
{  byte key_tmp=0;
		
    if(!key_F)  
		key_tmp|=0x01;
	if(!key_B) 
		key_tmp|=0x02;
	if(!key_L)   
		key_tmp|=0x04;		
	if(!key_R) 
		key_tmp|=0x08;

	if(key_tmp==key_buffer)
	{
		if(key_fg)
		{
			key_debouce_cnt++;
			if(key_debouce_cnt>3)
			{	
				key_fg=0;
				key_code=key_buffer;
				sleep_cnt=250;
			}

		}
	}
	else
	{
		key_fg=1;
		key_debouce_cnt=0;
		key_buffer=key_tmp;
	}




}

void  key_data_deal(void)
{	key_code=1;
	if(key_code)
	{
		rf_data_buf[0]=8;
		rf_data_buf[1]=key_code;
		rf_data_buf[2]=key_code;
		rf_data_buf[3]=0xaa;
		rf_data_buf[4]=0xaa;
		rf_data_buf[5]=0xa5;
		rf_data_buf[6]=0xa8;
		rf_tx_data();
		rf_tx_data();
		rf_tx_data();
		rf_tx_data();
	}



}

byte led_flash_cnt;

void  led_flash(void)
{
	if(led_flash_cnt) led_flash_cnt--;
	if(key_code)
	{	

		io_led=1;

	}
	else
	{

  	 io_led=0;
	}

}

extern void  suspend(void);

void	sleep_deal (void) 
{
	if((!key_code)&&(!sleep_cnt))
	{

		suspend();
		sleep_cnt=250;
	}

}













