Better reflex jamming, updated Makefile.
authortravisutk <travisutk@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Fri, 24 Dec 2010 01:01:07 +0000 (01:01 +0000)
committertravisutk <travisutk@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Fri, 24 Dec 2010 01:01:07 +0000 (01:01 +0000)
git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@799 12e2690d-a6be-4b82-a7b7-67c4a43b65c8

shellcode/chipcon/cc1110/Makefile
shellcode/chipcon/cc1110/reflexframe.c

index 309fed8..3430167 100644 (file)
@@ -16,6 +16,6 @@ all: $(objs)
        $(CC) $<
 clean:
        rm -f *.ihx *.rel *.hex *.sym *.asm *.lst *.lnk *.map *.mem *.rst *.adb
-install: all
+install: $(objs)
        cp $(objs) ../../../client/shellcode/chipcon/cc1110/
        #Shellcode installed.
index 1081c8d..06c15e3 100644 (file)
@@ -16,16 +16,18 @@ void carrier(){
    * used, except that "unmodulated" is chosen in the "Simple RX tab". This
    * results in an umodulated carrier with a frequency of approx. 2.433 GHz.
    */
-  FSCTRL1   = 0x0A;   // Frequency synthesizer control.
-  FSCTRL0   = 0x00;   // Frequency synthesizer control.
+  //FSCTRL1   = 0x0A;   // Frequency synthesizer control.
+  //FSCTRL0   = 0x00;   // Frequency synthesizer control.
+  
   
   
-    
   MDMCFG4   = 0x86;   // Modem configuration.
   MDMCFG3   = 0x83;   // Modem configuration.
   MDMCFG2   = 0x30;   // Modem configuration.
   MDMCFG1   = 0x22;   // Modem configuration.
   MDMCFG0   = 0xF8;   // Modem configuration.
+  
+  /*
   CHANNR    = 0x00;   // Channel number.
   DEVIATN   = 0x00;   // Modem deviation setting (when FSK modulation is enabled).
   FREND1    = 0x56;   // Front end RX configuration.
@@ -51,13 +53,15 @@ void carrier(){
   PKTCTRL0  = 0x22;   // Packet automation control.
   ADDR      = 0x00;   // Device address.
   PKTLEN    = 0xFF;   // Packet length.
-
+  */
   /* Settings not from SmartRF® Studio. Setting both sync word registers to
    * 0xAA = 0b10101010, i.e., the same as the preamble pattern. Not necessary,
    * but gives control of what the radio attempts to transmit.
    */
-  SYNC1     = 0xAA;
-  SYNC0     = 0xAA;
+  
+  //These sync values are better for jamming, but they break reception.
+  //SYNC1     = 0xAA;
+  //SYNC0     = 0xAA;
 
   /* Put radio in TX. 
   RFST      = RFST_STX;
@@ -96,21 +100,24 @@ void rxwait(){
   //Begin to receive.
   RFST=RFST_SRX;
   while(MARCSTATE!=MARC_STATE_RX);
-  //while(MARCSTATE!=MARC_STATE_RX_OVERFLOW);
-  
+    
+  //Incoming!
   
   
-  //Incoming!
-  /*
   //Fixed length
   packet[i++]=PKTLEN;
-  while(i<PKTLEN){
-    while(!RFTXRXIF); //Wait for byte to be ready.
+  while(i<PKTLEN && MARCSTATE==MARC_STATE_RX){
+    
+    while(MARCSTATE==MARC_STATE_RX && !RFTXRXIF); //Wait for byte to be ready.
     RFTXRXIF=0;      //Clear the flag.
     
+    HALT;
+    
     packet[i++]=RFD; //Grab the next byte.
   }
-  */
+  
+  
+  
   //sleepMillis(10);
   //RFST = RFST_SIDLE; //End receive.  
 }
@@ -119,7 +126,6 @@ void rxwait(){
 void main(){
   unsigned char threshold=packet[0], i=0, rssi=0;;
   
-  PKTCTRL0=0x02;
   //Disable interrupts.
   RFTXRXIE=0;
   
@@ -134,11 +140,11 @@ void main(){
     rxwait();
     
     //idle a bit.
-    RFST=RFST_SIDLE;
-    while(MARCSTATE!=MARC_STATE_IDLE);
+    //RFST=RFST_SIDLE;
+    //while(MARCSTATE!=MARC_STATE_IDLE);
     //HALT;
     
-    RFOFF;
+    //RFOFF;
     
     //SYNC1=0xAA;
     //SYNC0=0xAA;
@@ -150,14 +156,9 @@ void main(){
       sleepMillis(20);
     */
     
-    //RFON;
-    sleepMillis(200);
+    RFON;
     
-    //Carrier will clear when the loop continue,
-    //but we can HALT to give the host a chance to take over.
-    HALT;
+    sleepMillis(200);
+    RFOFF;
   }  
-  RFST = RFST_SIDLE; //End transmit.
-  
-  HALT;
 }