2 #include "cc1110-ext.h"
4 char __xdata at 0xfe00 packet[256] ;
6 //! Transmit a packet out of the radio from 0xFE00.
8 unsigned char len=packet[0], i=0, j;
12 while(MARCSTATE!=MARC_STATE_IDLE);
14 RFST=RFST_STX; //Begin transmit.
17 while(!RFTXRXIF); //Wait for byte to be ready.
19 RFTXRXIF=0; //Clear the flag.
20 RFD=packet[i++]; //Send the next byte.
23 //Wait for completion.
24 while(MARCSTATE==MARC_STATE_TX);
26 //RFST = RFST_SIDLE; //End transmit.
27 //while(MARCSTATE!=MARC_STATE_IDLE);
31 while(MARCSTATE!=MARC_STATE_RX);
34 while(!RFTXRXIF); //Wait for byte to be ready.
35 RFTXRXIF=0; //Clear the flag.
37 if (MARCSTATE == MARC_STATE_RX) {
38 packet[i]=RFD; //Grab the next byte.
40 len=packet[0]; //First byte of the packet is the length.
45 RFST = RFST_SIDLE; //End receive.