Created
October 30, 2015 06:09
-
-
Save gyaresu/f62264dec5fb0e78477a to your computer and use it in GitHub Desktop.
Basic OOK
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include "EEPROM.h" | |
| #include "cc1101.h" | |
| CC1101 cc1101; | |
| #define LEDOUTPUT 7 | |
| char const* testnum = "Gareth test"; | |
| byte counter; | |
| byte b; | |
| byte syncWord = 0x5555; | |
| void blinker(){ | |
| digitalWrite(LEDOUTPUT, HIGH); | |
| delay(100); | |
| digitalWrite(LEDOUTPUT, LOW); | |
| delay(100); | |
| } | |
| void setup() | |
| { | |
| Serial.begin(9600); | |
| Serial.println("Starting CC1101..."); | |
| pinMode(LEDOUTPUT, OUTPUT); | |
| digitalWrite(LEDOUTPUT, LOW); | |
| // blink once to signal the setup | |
| blinker(); | |
| // reset the counter | |
| counter=0; | |
| Serial.println("Initialize and set registers."); | |
| cc1101.init(); | |
| Serial.println("Setting PA_TABLE."); | |
| config2(); | |
| cc1101.setSyncWord(&syncWord, false); | |
| cc1101.setCarrierFreq(CFREQ_433); | |
| cc1101.disableAddressCheck(); | |
| // cc1101.setTxPowerAmp(PA_LowPower); // set already in init() | |
| delay(1000); | |
| Serial.print("CC1101_PARTNUM "); | |
| Serial.println(cc1101.readReg(CC1101_PARTNUM, CC1101_STATUS_REGISTER)); | |
| Serial.print("CC1101_VERSION "); | |
| Serial.println(cc1101.readReg(CC1101_VERSION, CC1101_STATUS_REGISTER)); | |
| Serial.print("CC1101_MARCSTATE "); | |
| Serial.println(cc1101.readReg(CC1101_MARCSTATE, CC1101_STATUS_REGISTER) & 0x1f); | |
| Serial.println("device initialized"); | |
| Serial.println(testnum); | |
| } | |
| void send_data() { | |
| CCPACKET data; | |
| //byte blinkCount=counter++; | |
| data.length = 4; // Originally was "55 55 c0 00" | |
| data.data[0] = 0x55; | |
| data.data[1] = 0x55; | |
| data.data[2] = 0xc0; | |
| data.data[3] = 0x00; | |
| /* | |
| data.length = 13; | |
| data.data[0] = 0b10001110; | |
| data.data[1] = 0b10001110; | |
| data.data[2] = 0b10001110; | |
| data.data[3] = 0b10001110; | |
| data.data[4] = 0b10001110; | |
| data.data[5] = 0b10001110; | |
| data.data[6] = 0b10001110; | |
| data.data[7] = 0b10001110; | |
| data.data[8] = 0b11101110; | |
| data.data[9] = 0b10001000; | |
| data.data[10] = 0b10001000; | |
| data.data[11] = 0b10001000; | |
| data.data[12] = 0b10000000; | |
| */ | |
| //cc1101.flushTxFifo (); | |
| Serial.print("CC1101_MARCSTATE "); | |
| Serial.println(cc1101.readReg(CC1101_TXBYTES, CC1101_STATUS_REGISTER) & 0x7F); | |
| if(cc1101.sendData(data)){ | |
| for (int i; i < data.length; ++i) | |
| { | |
| Serial.println(data.data[i], BIN); | |
| } | |
| Serial.println(" sent ok"); | |
| blinker(); | |
| }else{ | |
| Serial.println("sent failed :("); | |
| blinker(); | |
| blinker(); | |
| } | |
| } | |
| void loop() | |
| { | |
| send_data(); | |
| delay(1000); | |
| } | |
| void config2() | |
| { | |
| byte PA_TABLE[]= {0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00}; | |
| cc1101.writeBurstReg(CC1101_PATABLE,PA_TABLE,8); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment