Dear Sirs:
I'm using transparent serial mode cc1200 to receive legacy transmissions. It is working well except that the RSSI readings are not solid.
I'm reading RSSI register only when it is valid, but it doesn't usually update. Could also be related to the agc acquisition since sometimes when
channel is changed there is a long delay in receiving.
The settings are:
const registerSetting_t preferredSettings[]=
{
{CC120X_IOCFG3, 17}, //was 17=Carrier Sense. p3
{CC120X_IOCFG2, 16}, //16=carrier sense valid p4
//{CC120X_IOCFG3, 15}, //CCA. p3
//{CC120X_IOCFG2, 16}, //16=carrier sense valid p4
//{CC120X_IOCFG3, 49}, //read ext osc (625khz). Doesn't work
//{CC120X_IOCFG2, 0x04}, //cca
//{CC120X_IOCFG1, 0x00}, //make GPIO1 output & invert to high (see 3.4)
{CC120X_IOCFG0, 0x09}, //Ser rec PKT_SYNC_RXTX
{CC120X_SYNC3, 0x55}, //was AA, 55 7:0 sets MSB sync. AA for inverted
{CC120X_SYNC2, 0x55}, //was AA, 55, 7:0 sets MSB sync.
{CC120X_SYNC1, 0x55}, //was AA, 55, 05 7:0 sets MSB sync.
{CC120X_SYNC0, 0x56}, //was A9, 56 sets lsb of sync in 7:0. Orig A6
{CC120X_SYNC_CFG0, 0x88}, //**was 88. added PQT_EN=80 & PQT_Gating_En=0x08,b00= most strict. b10=strict_sync_check=3
{CC120X_SYNC_CFG1, 0x2C}, //**28=11 bits & 8 thresh. was 48. 4x=16bits, 8x=24bits, Ax=32 bits 7-5 len sync, 4:0=sync thresh
{CC120X_DEVIATION_M, 0x8D},
{CC120X_MODCFG_DEV_E, 0x08}, //08 for GFSK, 28 for 4GFSK GFSK/4FSK
{CC120X_DCFILT_CFG, 0x5D},
{CC120X_PREAMBLE_CFG1, 0x14}, //14=3bytes, 18=4b. 20=6b 10=2bytes e AA. was 24. 0x31=24bytes. 0x25=7bytes
{CC120X_PREAMBLE_CFG0, 0x8a}, //**was 8A PQT_EN=08
{CC120X_IQIC, 0xCB},
{CC120X_CHAN_BW, 0xAC}, //AC=9.46khz. AA=10khz
{CC120X_MDMCFG1, 0xA0}, //was E0. 80=carrier sense gate, 40=fifo en, Man mode=20, invert data=10
{CC120X_MDMCFG0, 0x45}, //transp mode
{CC120X_SYMBOL_RATE2, 0x4F}, //4f for normal 2400= 5f, 4800=6f or 9600 w/o manchester
{CC120X_SYMBOL_RATE1, 0x75},
{CC120X_SYMBOL_RATE0, 0x10},
{CC120X_AGC_REF, 0x31},
{CC120X_AGC_CS_THR, 0x8B}, //8B=-117, 8A=-118,88=-120, 8d=-115 was 8a, 92=-110dbm. 8F=-113, A6=-90dbm
{CC120X_AGC_CFG1, 0x40},
{CC120X_AGC_GAIN_ADJUST, 0x9c}, //9C=-100, 9D=-99. This is the RSSI offset valid when AGC_GAIN_ADJUST.GAIN_ADJUSTMENT = 0x00.
{CC120X_AGC_CFG0, 0x81}, //8c=5 counts. Was 80=1 count for rssi
{CC120X_FIFO_CFG, 0x00},
{CC120X_SETTLING_CFG, 0x03},
{CC120X_FS_CFG, 0x1B},
{CC120X_WOR_CFG0, 0x08}, //same
{CC120X_WOR_CFG1, 0x08}, //added
{CC120X_WOR_EVENT0_MSB, 0x01}, //0035=.6pre, 010A=1pre, 018f= 2pre, 0214=2.5pre, 029a=3pre
{CC120X_WOR_EVENT0_LSB, 0x8f}, //
{CC120X_PKT_CFG2, 0x03}, //0c=cca mode. CRc disabled, no status byte
{CC120X_PKT_CFG1, 0x00}, // 0x01=append RSSI. Adx check & crc disabled. This line needed to rec MCDT!
{CC120X_PKT_CFG0, 0x10}, //x18 pro 6bits, x10 EMIDS 4bits. fixed length=00 in bits 6:5, bit len in bits 4:2
//{CC120X_RFEND_CFG1, 0x30}, // x30 gives return to rx after rxing
{CC120X_RFEND_CFG0, 0x04}, //04:RX termination based on PQT. 0x1: Rx term based on CS. 0x30 gives return to rx after txing
{CC120X_PKT_LEN, 0x08}, //pktlen, packet length 02 +4 bits for emids, 6-3/4 for pro
{CC120X_IF_MIX_CFG, 0x1C},
{CC120X_FREQOFF_CFG, 0x23}, //FOC_EN=x20, FOC_KI_Factor=02 was 20
{CC120X_MDMCFG2, 0x0C},
{CC120X_TOC_CFG, 0xC0}, //** was 40 TOC limit 2%
{CC120X_SETTLING_CFG, 0x08}, //Cal FS going from idle to rec or tx
{CC120X_FREQ2, 0x5A},
{CC120X_FREQ1, 0x00},
{CC120X_FREQ0, 0x00},
{CC120X_IF_ADC1, 0xEE},
{CC120X_IF_ADC0, 0x10},
{CC120X_FS_DIG1, 0x07},
{CC120X_FS_DIG0, 0xAF},
{CC120X_FS_CAL1, 0x40},
{CC120X_FS_CAL0, 0x0E},
{CC120X_FS_DIVTWO, 0x03},
{CC120X_FS_DSM0, 0x33},
{CC120X_FS_DVC0, 0x17},
{CC120X_FS_PFD, 0x00},
{CC120X_FS_PRE, 0x6E},
{CC120X_FS_REG_DIV_CML, 0x1C},
{CC120X_FS_SPARE, 0xAC},
{CC120X_FS_VCO0, 0xB5},
//{CC120X_FS_CFG, 0x0B}, //136-160Mhz
{CC120X_XOSC5, 0x0E},
{CC120X_XOSC1, 0x03},
};
Thanks,
John

