From 3bbff4ca1376f21c28fce340eb8aad18520a406d Mon Sep 17 00:00:00 2001 From: travisutk Date: Fri, 21 Jan 2011 20:04:54 +0000 Subject: [PATCH] Minor shellscript stuff. git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@854 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- shellcode/chipcon/cc1110/reflexframe.c | 99 ++++++++++++++------------ 1 file changed, 52 insertions(+), 47 deletions(-) diff --git a/shellcode/chipcon/cc1110/reflexframe.c b/shellcode/chipcon/cc1110/reflexframe.c index 4dd3ecf..b042a3d 100644 --- a/shellcode/chipcon/cc1110/reflexframe.c +++ b/shellcode/chipcon/cc1110/reflexframe.c @@ -4,6 +4,7 @@ char __xdata at 0xfe00 packet[256] ; char __xdata at 0xfdf0 cfg[5] ; +char __xdata at 0xfdf8 freq[3] ; //! Save MDMCFG* void save_settings(){ cfg[0]=MDMCFG0; @@ -11,7 +12,11 @@ void save_settings(){ cfg[2]=MDMCFG2; cfg[3]=MDMCFG3; cfg[4]=MDMCFG4; - + /* + freq[0]=FREQ0; + freq[1]=FREQ1; + freq[2]=FREQ2; + */ } //! Restore MDMCFG* void restore_settings(){ @@ -20,18 +25,26 @@ void restore_settings(){ MDMCFG2=cfg[2]; MDMCFG3=cfg[3]; MDMCFG4=cfg[4]; + /* + FREQ0=freq[0]; + FREQ1=freq[1]; + FREQ2=freq[2]; + */ } void carrier(){ // Set the system clock source to HS XOSC and max CPU speed, // ref. [clk]=>[clk_xosc.c] + /* SLEEP &= ~SLEEP_OSC_PD; while( !(SLEEP & SLEEP_XOSC_S) ); CLKCON = (CLKCON & ~(CLKCON_CLKSPD | CLKCON_OSC)) | CLKSPD_DIV_1; while (CLKCON & CLKCON_OSC); SLEEP |= SLEEP_OSC_PD; + */ - + //FREQ0=0x5C; + /* Setup radio with settings from SmartRF® Studio. The default settings are * 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. @@ -40,11 +53,16 @@ void carrier(){ //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. + //Bandwidth, Symbol Rate + //MDMCFG4 = 0x86; + //Symbol Rate + //MDMCFG3 = 0x83; + //Sensitivity, shift-keying mode + //MDMCFG2 = 0x30; + //FEC, Premable, Spacing + //MDMCFG1 = 0x22; + //Channel Spacing + //MDMCFG0 = 0xF8; /* Settings not from SmartRF® Studio. Setting both sync word registers to * 0xAA = 0b10101010, i.e., the same as the preamble pattern. Not necessary, @@ -58,17 +76,15 @@ void carrier(){ #define RFON RFST = RFST_SIDLE; RFST = RFST_STX; while ((MARCSTATE & MARCSTATE_MARC_STATE) != MARC_STATE_TX); #define RFOFF RFST = RFST_SIDLE; //while ((MARCSTATE & MARCSTATE_MARC_STATE) != MARC_STATE_IDLE); //RFON; - //while(1); - - + //while(1); } void sleepMillis(int ms) { - int j; - while (--ms > 0) { - for (j=0; j<1200;j++); // about 1 millisecond - }; + int j; + while (--ms > 0) { + for (j=0; j<1200;j++); // about 1 millisecond + }; } @@ -89,7 +105,6 @@ void main(){ RFST=RFST_SIDLE; while(MARCSTATE!=MARC_STATE_IDLE); - restore_settings(); //idle a bit, unecessary //RFST=RFST_SFSTXON; @@ -102,23 +117,18 @@ void main(){ //RFST=RFST_SFSTXON; //while(MARCSTATE!=MARC_STATE_FSTXON); - //HALT; - //sleepMillis(500); - //HALT; - - //RFOFF; - - //SYNC1=0xAA; - //SYNC0=0xAA; //Transmit carrier for 10ms carrier(); RFON; - - //sleepMillis(200); + //HALT; + //while(1); + sleepMillis(200); //sleepMillis(100); //sleepMillis(50); - sleepMillis(10); + + + //sleepMillis(10); //HALT; } } @@ -127,6 +137,9 @@ void main(){ void rxwait(){ unsigned char len=16, i=0; + //Test to always carry. + //return; + do{ //1-out the buffer. for(i=0;i<64;i++) @@ -144,27 +157,19 @@ void rxwait(){ RFST=RFST_SRX; while(MARCSTATE!=MARC_STATE_RX); - /* - if(PKTCTRL0&1){ - //auto length - while(i