Removed the delay for now. Works with it, however.
[goodfet] / shellcode / chipcon / cc1110 / reflexframe.c
index b4f6765..4dd3ecf 100644 (file)
@@ -40,7 +40,6 @@ void carrier(){
   //FSCTRL0   = 0x00;   // Frequency synthesizer control.
   
   
-  
   MDMCFG4   = 0x86;   // Modem configuration.
   MDMCFG3   = 0x83;   // Modem configuration.
   MDMCFG2   = 0x30;   // Modem configuration.
@@ -84,23 +83,24 @@ void main(){
   
   //carrier();
   
-  //idle a bit.
-  RFST=RFST_SIDLE;
-  while(MARCSTATE!=MARC_STATE_IDLE);
-
+  
   while(1){
-    restore_settings();
     //idle a bit.
-    RFST=RFST_SFSTXON;
-    while(MARCSTATE!=MARC_STATE_FSTXON);
+    RFST=RFST_SIDLE;
+    while(MARCSTATE!=MARC_STATE_IDLE);
+    
     
+    restore_settings();
+    //idle a bit, unecessary
+    //RFST=RFST_SFSTXON;
+    //while(MARCSTATE!=MARC_STATE_FSTXON);
     
-    sleepMillis(5);
+    //sleepMillis(100);
     rxwait();
     
     //idle w/ oscillator
-    RFST=RFST_SFSTXON;
-    while(MARCSTATE!=MARC_STATE_FSTXON);
+    //RFST=RFST_SFSTXON;
+    //while(MARCSTATE!=MARC_STATE_FSTXON);
     
     //HALT;
     //sleepMillis(500);
@@ -115,10 +115,11 @@ void main(){
     carrier();
     RFON;
     
-    //sleepMillis(2000);
-    
-    sleepMillis(500);
-    HALT;
+    //sleepMillis(200);
+    //sleepMillis(100);
+    //sleepMillis(50);
+    sleepMillis(10);
+    //HALT;
   }
 }
 
@@ -143,6 +144,7 @@ void rxwait(){
     RFST=RFST_SRX;
     while(MARCSTATE!=MARC_STATE_RX);
     
+    /*
     if(PKTCTRL0&1){
       //auto length
       while(i<len+3){ //len+3 if status is appended.
@@ -153,15 +155,16 @@ void rxwait(){
        len=packet[0];   //First byte of the packet is the length.
       }
     }else{
+    */
       //Fixed length
       packet[i++]=PKTLEN;
-      while(i<PKTLEN){
+      while(i<3){ //PKTLEN){
        while(!RFTXRXIF); //Wait for byte to be ready.
        RFTXRXIF=0;      //Clear the flag.
        
        packet[i++]=RFD; //Grab the next byte.
       }
-    }
+      //}
     RFST = RFST_SIDLE; //End receive.
     
     //This while loop can be used for filtering.  Unused for now.