HI everyone ,
i"m working on CC1101(433 Mhz) point to multipoint and mesh networks.And i want to set the slave node to receive a packet from any channel which i think is possible with channel interference and setting the receiver with maximum RX channel filter BW . With minimum channel spacing (25.39Khz) and 812 Khz receiver BW i set the slave node on channel 0x00 and it receives a packet from a master which is sending on channel 0x09.But couldn't go any further like channel 0x0A or above .I post my register setting if in case you want it and my question is how can i make a slave node receive from any channel.I don't mean @ the same time .Pls any help would be appreciated ASAP.Thank you.
WriteReg( CC1101_SYNC1 ,0xD3); //D3
WriteReg( CC1101_SYNC0 , 0x91);
WriteReg(CC1101_IOCFG2, 0x06); // GDO2 output pin config.(sync send & packet send )
WriteReg(CC1101_IOCFG1, 0x04); // GDO1 output pin config(different from 0x2E to see the status on MISO)(0x14 for CS)
WriteReg(CC1101_IOCFG0, 0x07); // GDO0 output pin config.(Packet received w' CRC OK)
WriteReg(CC1101_FIFOTHR, 0x47); ///33Txfifo & 32 Rxfifo
WriteReg(CC1101_PKTLEN, 0x3D); // Packet length(61 bytes ,1 address and 2 append status)
WriteReg(CC1101_PKTCTRL1, 0x8E); // (0x84(8C crc auto flush) no addr chk,append status,sync word)(0x04)Packet automation control(append status enabled ,no addr chk ,sync word always accepted ,no CRC autoflush)(0x8E address check,sync word detected,crc autofush enabled)
WriteReg(CC1101_PKTCTRL0, 0x05); // Packet automation control(CRC enabled ,variable packet length)
WriteReg(CC1101_ADDR, 0x01); // Device address.
WriteReg(CC1101_CHANNR, 0x00); // Channel number.
WriteReg(CC1101_FSCTRL1, 0x06); // Freq synthesizer control.152.343 IF_FREQ
WriteReg(CC1101_FSCTRL0, 0x00); // Freq synthesizer control.
WriteReg(CC1101_FREQ2, 0x10); // Freq control word, high byte
WriteReg(CC1101_FREQ1, 0xB1); // Freq control word, mid byte.
WriteReg(CC1101_FREQ0, 0x3B); // Freq control word, low byte.
WriteReg(CC1101_MDMCFG4, 0x06); // Modem configuration(2.4Kbaud) 812 khz channel filter BW
WriteReg(CC1101_MDMCFG3, 0x83); // Modem configuration.(DRATE_M=131)
WriteReg(CC1101_MDMCFG2, 0x13); // Modem configuration.(DRATE_E=6)GFSK
WriteReg(CC1101_MDMCFG1, 0x20); // Modem configuration.22
WriteReg(CC1101_MDMCFG0, 0x00); // Modem configuration.F8
WriteReg(CC1101_DEVIATN, 0x15); // Modem dev (when FSK mod en)5.125khz freq. deviation
WriteReg(CC1101_MCSM2 , 0x07); ///RX timeout until end of packet(0x07)
WriteReg(CC1101_MCSM1 , 0x33); //MainRadio Ctrl State Machine(Tx --> Rx and RX-->IDLE ,CCA if RSSI below threshold )
WriteReg(CC1101_MCSM0 , 0x18); //MainRadio Ctrl State Machine(Calibrate from idle to TX and RX ,force XOSC to stay in sleep mode)(0x28 from,tx to idle)
WriteReg(CC1101_FOCCFG, 0x16); // Freq Offset Compens. Config
WriteReg(CC1101_BSCFG, 0x6C); // Bit synchronization config.
WriteReg(CC1101_AGCCTRL2, 0xC7); // AGC control.( MAGN_TARGET 42dB ,MAX_LNA_GAIN =0 ,MAX_DVGA_GAIN =0)
WriteReg(CC1101_AGCCTRL1, 0x40); // AGC control.(absolute carrier sense threshold at MAGN_TARGET 33dB)
WriteReg(CC1101_AGCCTRL0, 0x91); // AGC control(Always adjust gain when required)
WriteReg(CC1101_WOREVT1,0x87); //High Byte Event0 Timeout
WriteReg(CC1101_WOREVT0,0x6B); //Low Byte Event0 Timeout
WriteReg(CC1101_WORCTRL,0xFB); //Wake On Radio Control
WriteReg(CC1101_FREND1, 0xB6); // 56Front end RX configuration.
WriteReg(CC1101_FREND0, 0x10); // Front end RX configuration.
WriteReg(CC1101_FSCAL3, 0xE9); // Frequency synthesizer cal.
WriteReg(CC1101_FSCAL2, 0x2A); // Frequency synthesizer cal.
WriteReg(CC1101_FSCAL1, 0x00); // Frequency synthesizer cal.
WriteReg(CC1101_FSCAL0, 0x1F); // Frequency synthesizer cal.
WriteReg(CC1101_RCCTRL1,0x41); //RC Oscillator Configuration
WriteReg(CC1101_RCCTRL0,0x00); //RC Oscillator Configuration
WriteReg(CC1101_FSTEST, 0x59); // Frequency synthesizer cal.
WriteReg(CC1101_PTEST, 0x7F);
WriteReg(CC1101_AGCTEST, 0x3F);
WriteReg(CC1101_TEST2, 0x81); // Various test settings.
WriteReg(CC1101_TEST1, 0x35); // Various test settings.
WriteReg(CC1101_TEST0, 0x09); // Various test settings.
WriteReg(CC1101_PATABLE, 0xC0); /// 0x0C with 433Mhz carrier freq. means 10dbm