X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=shellcode%2Fchipcon%2Fcc1110%2Ftxrxpacket.c;h=acde9e28a08d38f32aa13c3ac685045ec21e27b3;hp=1fdb0f1740bb7de12b6e6c7a4358cd21ad3bb8bc;hb=d0498df7bc06959a19fe1ef2c4fc066dd8d68c92;hpb=760a463e7f47c3fa5b7c0c92d532562b04289b9a diff --git a/shellcode/chipcon/cc1110/txrxpacket.c b/shellcode/chipcon/cc1110/txrxpacket.c index 1fdb0f1..acde9e2 100644 --- a/shellcode/chipcon/cc1110/txrxpacket.c +++ b/shellcode/chipcon/cc1110/txrxpacket.c @@ -5,23 +5,26 @@ char __xdata at 0xfe00 packet[256] ; //! Transmit a packet out of the radio from 0xFE00. void main(){ - unsigned char len=packet[0], i=0; - + unsigned char len=packet[0], i=0, j; + //idle a bit. RFST=RFST_SIDLE; while(MARCSTATE!=MARC_STATE_IDLE); RFST=RFST_STX; //Begin transmit. + i=0; while(i!=len+1){ while(!RFTXRXIF); //Wait for byte to be ready. RFTXRXIF=0; //Clear the flag. RFD=packet[i++]; //Send the next byte. } - RFST = RFST_SIDLE; //End transmit. + //Wait for completion. + while(MARCSTATE==MARC_STATE_TX); - while(MARCSTATE!=MARC_STATE_IDLE); + //RFST = RFST_SIDLE; //End transmit. + //while(MARCSTATE!=MARC_STATE_IDLE); //Begin to receive. RFST=RFST_SRX;