
void ZW_SendButton (void){

unsigned char volatile Checksum ;
char BasicSetFrame[10]; //LEN, TYPE, CMD, NODE, COMMLEN, COMMCLASS, COMM, LASTKEY, TXOPT, FUNCID
int pos; //position within array
char Length = 0xA; //Length of frame, excluding SOF and Checksum
BasicSetFrame[0] = Length;  
BasicSetFrame[1] = 0x00; //TYPE
BasicSetFrame[2] = 0x13; //CMD SendData
BasicSetFrame[3] = IconNodeID; //NODE (Target Node)
BasicSetFrame[4] = 0x03; //CommLen (Length of data specific payload within Frame)
BasicSetFrame[5] = 0x20; //CommClass Basic
BasicSetFrame[6] = 0x01; //Basic Set
BasicSetFrame[7] = LastKey; // Decoded Button Press/Release
BasicSetFrame[8] = 0x05; //TXOpt
BasicSetFrame[9] = 0x00; //FUNCID	
	

  Checksum = 0xFF; //-Initialize checksum   
  while (!TI0);
  TI0 = 0;
  SBUF0 = SOF; //send Start Of Frame
  for (pos = 0; pos < Length; pos++){
	while (!TI0);
	TI0 = 0;
	SBUF0 = BasicSetFrame[pos];
    Checksum ^= BasicSetFrame[pos];
	}
  while (!TI0);
  TI0 = 0;
  SBUF0 = Checksum;       
  
 
  
  
}
