This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC1120 SNIFF please advice..

Other Parts Discussed in Thread: CC1120

Hello,

We are using CC1120, we tried to create a small program which implements sniff as in the swrc253d.zip example:

[Sorry for not posting using the code but the e2e is so slow i can't seem to open this without a timeout :\ ]

I was able to get up to 4 packets & no more than that while losing more than 80% of packets sent. 

The code:

intit_CC1120_etc();

// Calibrate radio according to errata
manualCalibration(); //as in the example

// Calibrate the RCOSC
calibrateRCOsc(); //as in the expmle

mrfiSpiCmdStrobe( SWOR ); // Set radio in RX Sniff Mode

while (1)
{
    while (revicedPacket == 0);
    if (revicedPacket == 1)
    {
      BSP_TOGGLE_LED1();
      revicedPacket = 0;
    }
    mrfiSpiCmdStrobe( SWOR ); // Set radio in RX Sniff Mode

}

//////////////////////////////////////////////

The smart RF configuration:

///915MHZ , RX filter BW:100.0 Khz, Symbol rate: 50 KSPS, Modulation 4-GFSK, TX power: -11 dBm, Perfomance mode: high performance,
////// PREAMBLE_CFG1=0x24 (7Bytes preamble) , rssi carrier threashhold -78dBm ,SYNC_CFG0=0x0B(3Byte sync word)
#define SMARTRF_RADIO_CC1120
#define SMARTRF_SETTING_IOCFG3 0xB0
#define SMARTRF_SETTING_IOCFG2 0x06
#define SMARTRF_SETTING_IOCFG1 0xB0
#define SMARTRF_SETTING_IOCFG0 0x40
#define SMARTRF_SETTING_SYNC3 0x93
#define SMARTRF_SETTING_SYNC2 0x0B
#define SMARTRF_SETTING_SYNC1 0x51
#define SMARTRF_SETTING_SYNC0 0xDE
#define SMARTRF_SETTING_SYNC_CFG1 0x08
#define SMARTRF_SETTING_SYNC_CFG0 0x17
#define SMARTRF_SETTING_DEVIATION_M 0x99
#define SMARTRF_SETTING_MODCFG_DEV_E 0x2D
#define SMARTRF_SETTING_DCFILT_CFG 0x15
#define SMARTRF_SETTING_PREAMBLE_CFG1 0x18
#define SMARTRF_SETTING_PREAMBLE_CFG0 0x2A
#define SMARTRF_SETTING_FREQ_IF_CFG 0x3A
#define SMARTRF_SETTING_IQIC 0x00
#define SMARTRF_SETTING_CHAN_BW 0x02
#define SMARTRF_SETTING_MDMCFG1 0x46
#define SMARTRF_SETTING_MDMCFG0 0x05
#define SMARTRF_SETTING_SYMBOL_RATE2 0x99
#define SMARTRF_SETTING_SYMBOL_RATE1 0x99
#define SMARTRF_SETTING_SYMBOL_RATE0 0x99
#define SMARTRF_SETTING_AGC_REF 0x3C
#define SMARTRF_SETTING_AGC_CS_THR 0x18
#define SMARTRF_SETTING_AGC_GAIN_ADJUST 0x00
#define SMARTRF_SETTING_AGC_CFG3 0x91
#define SMARTRF_SETTING_AGC_CFG2 0x20
#define SMARTRF_SETTING_AGC_CFG1 0xA0
#define SMARTRF_SETTING_AGC_CFG0 0xC0
#define SMARTRF_SETTING_FIFO_CFG 0x00
#define SMARTRF_SETTING_DEV_ADDR 0x00
#define SMARTRF_SETTING_SETTLING_CFG 0x03
#define SMARTRF_SETTING_FS_CFG 0x12
#define SMARTRF_SETTING_WOR_CFG1 0x08
#define SMARTRF_SETTING_WOR_CFG0 0x20
#define SMARTRF_SETTING_WOR_EVENT0_MSB 0x00
#define SMARTRF_SETTING_WOR_EVENT0_LSB 0x21
#define SMARTRF_SETTING_PKT_CFG2 0x04
#define SMARTRF_SETTING_PKT_CFG1 0x05
#define SMARTRF_SETTING_PKT_CFG0 0x20
#define SMARTRF_SETTING_RFEND_CFG1 0x0F
#define SMARTRF_SETTING_RFEND_CFG0 0x09
#define SMARTRF_SETTING_PA_CFG2 0x43
#define SMARTRF_SETTING_PA_CFG1 0x56
#define SMARTRF_SETTING_PA_CFG0 0x79
#define SMARTRF_SETTING_PKT_LEN 0xFF
#define SMARTRF_SETTING_IF_MIX_CFG 0x00
#define SMARTRF_SETTING_FREQOFF_CFG 0x20
#define SMARTRF_SETTING_TOC_CFG 0x0A
#define SMARTRF_SETTING_MARC_SPARE 0x00
#define SMARTRF_SETTING_ECG_CFG 0x00
#define SMARTRF_SETTING_CFM_DATA_CFG 0x00
#define SMARTRF_SETTING_EXT_CTRL 0x01
#define SMARTRF_SETTING_RCCAL_FINE 0x00
#define SMARTRF_SETTING_RCCAL_COARSE 0x00
#define SMARTRF_SETTING_RCCAL_OFFSET 0x00
#define SMARTRF_SETTING_FREQOFF1 0x00
#define SMARTRF_SETTING_FREQOFF0 0x00
#define SMARTRF_SETTING_FREQ2 0x72
#define SMARTRF_SETTING_FREQ1 0x60
#define SMARTRF_SETTING_FREQ0 0x00
#define SMARTRF_SETTING_IF_ADC2 0x02
#define SMARTRF_SETTING_IF_ADC1 0xA6
#define SMARTRF_SETTING_IF_ADC0 0x04
#define SMARTRF_SETTING_FS_DIG1 0x00
#define SMARTRF_SETTING_FS_DIG0 0x5F
#define SMARTRF_SETTING_FS_CAL3 0x00
#define SMARTRF_SETTING_FS_CAL2 0x20
#define SMARTRF_SETTING_FS_CAL1 0x40
#define SMARTRF_SETTING_FS_CAL0 0x0E
#define SMARTRF_SETTING_FS_CHP 0x28
#define SMARTRF_SETTING_FS_DIVTWO 0x03
#define SMARTRF_SETTING_FS_DSM1 0x00
#define SMARTRF_SETTING_FS_DSM0 0x33
#define SMARTRF_SETTING_FS_DVC1 0xFF
#define SMARTRF_SETTING_FS_DVC0 0x17
#define SMARTRF_SETTING_FS_LBI 0x00
#define SMARTRF_SETTING_FS_PFD 0x50
#define SMARTRF_SETTING_FS_PRE 0x6E
#define SMARTRF_SETTING_FS_REG_DIV_CML 0x14
#define SMARTRF_SETTING_FS_SPARE 0xAC
#define SMARTRF_SETTING_FS_VCO4 0x14
#define SMARTRF_SETTING_FS_VCO3 0x00
#define SMARTRF_SETTING_FS_VCO2 0x00
#define SMARTRF_SETTING_FS_VCO1 0x00
#define SMARTRF_SETTING_FS_VCO0 0xB4
#define SMARTRF_SETTING_GBIAS6 0x00
#define SMARTRF_SETTING_GBIAS5 0x02
#define SMARTRF_SETTING_GBIAS4 0x00
#define SMARTRF_SETTING_GBIAS3 0x00
#define SMARTRF_SETTING_GBIAS2 0x10
#define SMARTRF_SETTING_GBIAS1 0x00
#define SMARTRF_SETTING_GBIAS0 0x00
#define SMARTRF_SETTING_IFAMP 0x01
#define SMARTRF_SETTING_LNA 0x01
#define SMARTRF_SETTING_RXMIX 0x01
#define SMARTRF_SETTING_XOSC5 0x0E
#define SMARTRF_SETTING_XOSC4 0xA0
#define SMARTRF_SETTING_XOSC3 0x03
#define SMARTRF_SETTING_XOSC2 0x00
#define SMARTRF_SETTING_XOSC1 0x03
#define SMARTRF_SETTING_XOSC0 0x00
#define SMARTRF_SETTING_ANALOG_SPARE 0x00
#define SMARTRF_SETTING_PA_CFG3 0x00
#define SMARTRF_SETTING_WOR_TIME1 0x00
#define SMARTRF_SETTING_WOR_TIME0 0x00
#define SMARTRF_SETTING_WOR_CAPTURE1 0x00
#define SMARTRF_SETTING_WOR_CAPTURE0 0x00
#define SMARTRF_SETTING_BIST 0x00
#define SMARTRF_SETTING_DCFILTOFFSET_I1 0x00
#define SMARTRF_SETTING_DCFILTOFFSET_I0 0x00
#define SMARTRF_SETTING_DCFILTOFFSET_Q1 0x00
#define SMARTRF_SETTING_DCFILTOFFSET_Q0 0x00
#define SMARTRF_SETTING_IQIE_I1 0x00
#define SMARTRF_SETTING_IQIE_I0 0x00
#define SMARTRF_SETTING_IQIE_Q1 0x00
#define SMARTRF_SETTING_IQIE_Q0 0x00
#define SMARTRF_SETTING_RSSI1 0x80
#define SMARTRF_SETTING_RSSI0 0x00
#define SMARTRF_SETTING_MARCSTATE 0x41
#define SMARTRF_SETTING_LQI_VAL 0x00
#define SMARTRF_SETTING_PQT_SYNC_ERR 0xFF
#define SMARTRF_SETTING_DEM_STATUS 0x00
#define SMARTRF_SETTING_FREQOFF_EST1 0x00
#define SMARTRF_SETTING_FREQOFF_EST0 0x00
#define SMARTRF_SETTING_AGC_GAIN3 0x00
#define SMARTRF_SETTING_AGC_GAIN2 0xD1
#define SMARTRF_SETTING_AGC_GAIN1 0x00
#define SMARTRF_SETTING_AGC_GAIN0 0x3F
#define SMARTRF_SETTING_CFM_RX_DATA_OUT 0x00
#define SMARTRF_SETTING_CFM_TX_DATA_IN 0x00
#define SMARTRF_SETTING_ASK_SOFT_RX_DATA 0x30
#define SMARTRF_SETTING_RNDGEN 0x7F
#define SMARTRF_SETTING_MAGN2 0x00
#define SMARTRF_SETTING_MAGN1 0x00
#define SMARTRF_SETTING_MAGN0 0x00
#define SMARTRF_SETTING_ANG1 0x00
#define SMARTRF_SETTING_ANG0 0x00
#define SMARTRF_SETTING_CHFILT_I2 0x08
#define SMARTRF_SETTING_CHFILT_I1 0x00
#define SMARTRF_SETTING_CHFILT_I0 0x00
#define SMARTRF_SETTING_CHFILT_Q2 0x00
#define SMARTRF_SETTING_CHFILT_Q1 0x00
#define SMARTRF_SETTING_CHFILT_Q0 0x00
#define SMARTRF_SETTING_GPIO_STATUS 0x00
#define SMARTRF_SETTING_FSCAL_CTRL 0x01
#define SMARTRF_SETTING_PHASE_ADJUST 0x00
#define SMARTRF_SETTING_PARTNUMBER 0x48
#define SMARTRF_SETTING_PARTVERSION 0x21
#define SMARTRF_SETTING_SERIAL_STATUS 0x00
#define SMARTRF_SETTING_MODEM_STATUS1 0x10
#define SMARTRF_SETTING_MODEM_STATUS0 0x00
#define SMARTRF_SETTING_MARC_STATUS1 0x00
#define SMARTRF_SETTING_MARC_STATUS0 0x00
#define SMARTRF_SETTING_PA_IFAMP_TEST 0x00
#define SMARTRF_SETTING_FSRF_TEST 0x00
#define SMARTRF_SETTING_PRE_TEST 0x00
#define SMARTRF_SETTING_PRE_OVR 0x00
#define SMARTRF_SETTING_ADC_TEST 0x00
#define SMARTRF_SETTING_DVC_TEST 0x0B
#define SMARTRF_SETTING_ATEST 0x40
#define SMARTRF_SETTING_ATEST_LVDS 0x00
#define SMARTRF_SETTING_ATEST_MODE 0x00
#define SMARTRF_SETTING_XOSC_TEST1 0x3C
#define SMARTRF_SETTING_XOSC_TEST0 0x00
#define SMARTRF_SETTING_RXFIRST 0x00
#define SMARTRF_SETTING_TXFIRST 0x00
#define SMARTRF_SETTING_RXLAST 0x00
#define SMARTRF_SETTING_TXLAST 0x00
#define SMARTRF_SETTING_NUM_TXBYTES 0x00
#define SMARTRF_SETTING_NUM_RXBYTES 0x00
#define SMARTRF_SETTING_FIFO_NUM_TXBYTES 0x0F
#define SMARTRF_SETTING_FIFO_NUM_RXBYTES 0x00

  • I've made some more tests & I'm sure, I miss something.
    The test: I send 1 Tx packet (with SMARTRF_SETTING_PREAMBLE_CFG1 = 0x30 => 24 Bytes preamble) and test the messageIndex to verify that what I send is received.
    The problem: I miss ALLOT of packets sometimes it is only 1 packet that is missing but most of the times much more.

    As well as inserted re calibration upon receive of packet:

    intit_CC1120_etc();

    // Calibrate radio according to errata
    manualCalibration(); //as in the example

    // Calibrate the RCOSC
    calibrateRCOsc(); //as in the expmle

    mrfiSpiCmdStrobe( SWOR ); // Set radio in RX Sniff Mode

    while (1)
    {
    while (revicedPacket == 0);
    if (revicedPacket == 1)
    {
    BSP_TOGGLE_LED1();
    revicedPacket = 0;

    // Calibrate radio according to errata
    manualCalibration();
    // Calibrate the RCOSC
    calibrateRCOsc();
    uint8_t messageIndex = mrfiIncomingPacket_ptr->frame[TAG_M_TIND_IND];
    }
    mrfiSpiCmdStrobe( SWOR ); // Set radio in RX Sniff Mode

    }

    I guess I'm missing something but I've followed the examples for sniff in swrc253d.zip , please advice how to proceed.

    I've changed configuration to as close as default in smart rf for RX:

    // 915MHz, 100 RX filter BW, 4-GFSK modulation, symbol rate 50KSPS, TX power -11dBm, high performance,
    // expected 24 Bytes preamble for sniff
    #define SMARTRF_RADIO_CC1120
    #define SMARTRF_SETTING_IOCFG3 0xB0
    #define SMARTRF_SETTING_IOCFG2 0x06
    #define SMARTRF_SETTING_IOCFG1 0xB0
    #define SMARTRF_SETTING_IOCFG0 0x40
    #define SMARTRF_SETTING_SYNC3 0x93
    #define SMARTRF_SETTING_SYNC2 0x0B
    #define SMARTRF_SETTING_SYNC1 0x51
    #define SMARTRF_SETTING_SYNC0 0xDE
    #define SMARTRF_SETTING_SYNC_CFG1 0x08
    #define SMARTRF_SETTING_SYNC_CFG0 0x17
    #define SMARTRF_SETTING_DEVIATION_M 0x99
    #define SMARTRF_SETTING_MODCFG_DEV_E 0x2D
    #define SMARTRF_SETTING_DCFILT_CFG 0x15
    #define SMARTRF_SETTING_PREAMBLE_CFG1 0x18
    #define SMARTRF_SETTING_PREAMBLE_CFG0 0x2A
    #define SMARTRF_SETTING_FREQ_IF_CFG 0x3A
    #define SMARTRF_SETTING_IQIC 0x00
    #define SMARTRF_SETTING_CHAN_BW 0x02
    #define SMARTRF_SETTING_MDMCFG1 0x46
    #define SMARTRF_SETTING_MDMCFG0 0x05
    #define SMARTRF_SETTING_SYMBOL_RATE2 0x99
    #define SMARTRF_SETTING_SYMBOL_RATE1 0x99
    #define SMARTRF_SETTING_SYMBOL_RATE0 0x99
    #define SMARTRF_SETTING_AGC_REF 0x3C
    #define SMARTRF_SETTING_AGC_CS_THR 0x0C
    #define SMARTRF_SETTING_AGC_GAIN_ADJUST 0x00
    #define SMARTRF_SETTING_AGC_CFG3 0x91
    #define SMARTRF_SETTING_AGC_CFG2 0x20
    #define SMARTRF_SETTING_AGC_CFG1 0xA0
    #define SMARTRF_SETTING_AGC_CFG0 0xC0
    #define SMARTRF_SETTING_FIFO_CFG 0x00
    #define SMARTRF_SETTING_DEV_ADDR 0x00
    #define SMARTRF_SETTING_SETTLING_CFG 0x03
    #define SMARTRF_SETTING_FS_CFG 0x12
    #define SMARTRF_SETTING_WOR_CFG1 0x08
    #define SMARTRF_SETTING_WOR_CFG0 0x20
    #define SMARTRF_SETTING_WOR_EVENT0_MSB 0x00
    #define SMARTRF_SETTING_WOR_EVENT0_LSB 0x78
    #define SMARTRF_SETTING_PKT_CFG2 0x04
    #define SMARTRF_SETTING_PKT_CFG1 0x05
    #define SMARTRF_SETTING_PKT_CFG0 0x20
    #define SMARTRF_SETTING_RFEND_CFG1 0x0F
    #define SMARTRF_SETTING_RFEND_CFG0 0x09
    #define SMARTRF_SETTING_PA_CFG2 0x43
    #define SMARTRF_SETTING_PA_CFG1 0x56
    #define SMARTRF_SETTING_PA_CFG0 0x79
    #define SMARTRF_SETTING_PKT_LEN 0xFF
    #define SMARTRF_SETTING_IF_MIX_CFG 0x00
    #define SMARTRF_SETTING_FREQOFF_CFG 0x20
    #define SMARTRF_SETTING_TOC_CFG 0x0A
    #define SMARTRF_SETTING_MARC_SPARE 0x00
    #define SMARTRF_SETTING_ECG_CFG 0x00
    #define SMARTRF_SETTING_CFM_DATA_CFG 0x00
    #define SMARTRF_SETTING_EXT_CTRL 0x01
    #define SMARTRF_SETTING_RCCAL_FINE 0x00
    #define SMARTRF_SETTING_RCCAL_COARSE 0x00
    #define SMARTRF_SETTING_RCCAL_OFFSET 0x00
    #define SMARTRF_SETTING_FREQOFF1 0x00
    #define SMARTRF_SETTING_FREQOFF0 0x00
    #define SMARTRF_SETTING_FREQ2 0x72
    #define SMARTRF_SETTING_FREQ1 0x60
    #define SMARTRF_SETTING_FREQ0 0x00
    #define SMARTRF_SETTING_IF_ADC2 0x02
    #define SMARTRF_SETTING_IF_ADC1 0xA6
    #define SMARTRF_SETTING_IF_ADC0 0x04
    #define SMARTRF_SETTING_FS_DIG1 0x00
    #define SMARTRF_SETTING_FS_DIG0 0x5F
    #define SMARTRF_SETTING_FS_CAL3 0x00
    #define SMARTRF_SETTING_FS_CAL2 0x20
    #define SMARTRF_SETTING_FS_CAL1 0x40
    #define SMARTRF_SETTING_FS_CAL0 0x0E
    #define SMARTRF_SETTING_FS_CHP 0x28
    #define SMARTRF_SETTING_FS_DIVTWO 0x03
    #define SMARTRF_SETTING_FS_DSM1 0x00
    #define SMARTRF_SETTING_FS_DSM0 0x33
    #define SMARTRF_SETTING_FS_DVC1 0xFF
    #define SMARTRF_SETTING_FS_DVC0 0x17
    #define SMARTRF_SETTING_FS_LBI 0x00
    #define SMARTRF_SETTING_FS_PFD 0x50
    #define SMARTRF_SETTING_FS_PRE 0x6E
    #define SMARTRF_SETTING_FS_REG_DIV_CML 0x14
    #define SMARTRF_SETTING_FS_SPARE 0xAC
    #define SMARTRF_SETTING_FS_VCO4 0x14
    #define SMARTRF_SETTING_FS_VCO3 0x00
    #define SMARTRF_SETTING_FS_VCO2 0x00
    #define SMARTRF_SETTING_FS_VCO1 0x00
    #define SMARTRF_SETTING_FS_VCO0 0xB4
    #define SMARTRF_SETTING_GBIAS6 0x00
    #define SMARTRF_SETTING_GBIAS5 0x02
    #define SMARTRF_SETTING_GBIAS4 0x00
    #define SMARTRF_SETTING_GBIAS3 0x00
    #define SMARTRF_SETTING_GBIAS2 0x10
    #define SMARTRF_SETTING_GBIAS1 0x00
    #define SMARTRF_SETTING_GBIAS0 0x00
    #define SMARTRF_SETTING_IFAMP 0x01
    #define SMARTRF_SETTING_LNA 0x01
    #define SMARTRF_SETTING_RXMIX 0x01
    #define SMARTRF_SETTING_XOSC5 0x0E
    #define SMARTRF_SETTING_XOSC4 0xA0
    #define SMARTRF_SETTING_XOSC3 0x03
    #define SMARTRF_SETTING_XOSC2 0x00
    #define SMARTRF_SETTING_XOSC1 0x03
    #define SMARTRF_SETTING_XOSC0 0x00
    #define SMARTRF_SETTING_ANALOG_SPARE 0x00
    #define SMARTRF_SETTING_PA_CFG3 0x00
    #define SMARTRF_SETTING_WOR_TIME1 0x00
    #define SMARTRF_SETTING_WOR_TIME0 0x00
    #define SMARTRF_SETTING_WOR_CAPTURE1 0x00
    #define SMARTRF_SETTING_WOR_CAPTURE0 0x00
    #define SMARTRF_SETTING_BIST 0x00
    #define SMARTRF_SETTING_DCFILTOFFSET_I1 0x00
    #define SMARTRF_SETTING_DCFILTOFFSET_I0 0x00
    #define SMARTRF_SETTING_DCFILTOFFSET_Q1 0x00
    #define SMARTRF_SETTING_DCFILTOFFSET_Q0 0x00
    #define SMARTRF_SETTING_IQIE_I1 0x00
    #define SMARTRF_SETTING_IQIE_I0 0x00
    #define SMARTRF_SETTING_IQIE_Q1 0x00
    #define SMARTRF_SETTING_IQIE_Q0 0x00
    #define SMARTRF_SETTING_RSSI1 0x80
    #define SMARTRF_SETTING_RSSI0 0x00
    #define SMARTRF_SETTING_MARCSTATE 0x41
    #define SMARTRF_SETTING_LQI_VAL 0x00
    #define SMARTRF_SETTING_PQT_SYNC_ERR 0xFF
    #define SMARTRF_SETTING_DEM_STATUS 0x00
    #define SMARTRF_SETTING_FREQOFF_EST1 0x00
    #define SMARTRF_SETTING_FREQOFF_EST0 0x00
    #define SMARTRF_SETTING_AGC_GAIN3 0x00
    #define SMARTRF_SETTING_AGC_GAIN2 0xD1
    #define SMARTRF_SETTING_AGC_GAIN1 0x00
    #define SMARTRF_SETTING_AGC_GAIN0 0x3F
    #define SMARTRF_SETTING_CFM_RX_DATA_OUT 0x00
    #define SMARTRF_SETTING_CFM_TX_DATA_IN 0x00
    #define SMARTRF_SETTING_ASK_SOFT_RX_DATA 0x30
    #define SMARTRF_SETTING_RNDGEN 0x7F
    #define SMARTRF_SETTING_MAGN2 0x00
    #define SMARTRF_SETTING_MAGN1 0x00
    #define SMARTRF_SETTING_MAGN0 0x00
    #define SMARTRF_SETTING_ANG1 0x00
    #define SMARTRF_SETTING_ANG0 0x00
    #define SMARTRF_SETTING_CHFILT_I2 0x08
    #define SMARTRF_SETTING_CHFILT_I1 0x00
    #define SMARTRF_SETTING_CHFILT_I0 0x00
    #define SMARTRF_SETTING_CHFILT_Q2 0x00
    #define SMARTRF_SETTING_CHFILT_Q1 0x00
    #define SMARTRF_SETTING_CHFILT_Q0 0x00
    #define SMARTRF_SETTING_GPIO_STATUS 0x00
    #define SMARTRF_SETTING_FSCAL_CTRL 0x01
    #define SMARTRF_SETTING_PHASE_ADJUST 0x00
    #define SMARTRF_SETTING_PARTNUMBER 0x48
    #define SMARTRF_SETTING_PARTVERSION 0x21
    #define SMARTRF_SETTING_SERIAL_STATUS 0x00
    #define SMARTRF_SETTING_MODEM_STATUS1 0x10
    #define SMARTRF_SETTING_MODEM_STATUS0 0x00
    #define SMARTRF_SETTING_MARC_STATUS1 0x00
    #define SMARTRF_SETTING_MARC_STATUS0 0x00
    #define SMARTRF_SETTING_PA_IFAMP_TEST 0x00
    #define SMARTRF_SETTING_FSRF_TEST 0x00
    #define SMARTRF_SETTING_PRE_TEST 0x00
    #define SMARTRF_SETTING_PRE_OVR 0x00
    #define SMARTRF_SETTING_ADC_TEST 0x00
    #define SMARTRF_SETTING_DVC_TEST 0x0B
    #define SMARTRF_SETTING_ATEST 0x40
    #define SMARTRF_SETTING_ATEST_LVDS 0x00
    #define SMARTRF_SETTING_ATEST_MODE 0x00
    #define SMARTRF_SETTING_XOSC_TEST1 0x3C
    #define SMARTRF_SETTING_XOSC_TEST0 0x00
    #define SMARTRF_SETTING_RXFIRST 0x00
    #define SMARTRF_SETTING_TXFIRST 0x00
    #define SMARTRF_SETTING_RXLAST 0x00
    #define SMARTRF_SETTING_TXLAST 0x00
    #define SMARTRF_SETTING_NUM_TXBYTES 0x00
    #define SMARTRF_SETTING_NUM_RXBYTES 0x00
    #define SMARTRF_SETTING_FIFO_NUM_TXBYTES 0x0F
    #define SMARTRF_SETTING_FIFO_NUM_RXBYTES 0x00

    SMART RF for TX:
    // 915MHz, 100 RX filter BW, 4-GFSK modulation, symbol rate 50KSPS, TX power -11dBm, high performance,
    // expected 24 Bytes preamble for sniff [ SMARTRF_SETTING_PREAMBLE_CFG1 = 0x30]
    #define SMARTRF_RADIO_CC1120
    #define SMARTRF_SETTING_IOCFG3 0xB0
    #define SMARTRF_SETTING_IOCFG2 0x06
    #define SMARTRF_SETTING_IOCFG1 0xB0
    #define SMARTRF_SETTING_IOCFG0 0x40
    #define SMARTRF_SETTING_SYNC3 0x93
    #define SMARTRF_SETTING_SYNC2 0x0B
    #define SMARTRF_SETTING_SYNC1 0x51
    #define SMARTRF_SETTING_SYNC0 0xDE
    #define SMARTRF_SETTING_SYNC_CFG1 0x08
    #define SMARTRF_SETTING_SYNC_CFG0 0x17
    #define SMARTRF_SETTING_DEVIATION_M 0x99
    #define SMARTRF_SETTING_MODCFG_DEV_E 0x2D
    #define SMARTRF_SETTING_DCFILT_CFG 0x15
    #define SMARTRF_SETTING_PREAMBLE_CFG1 0x30
    #define SMARTRF_SETTING_PREAMBLE_CFG0 0x2A
    #define SMARTRF_SETTING_FREQ_IF_CFG 0x3A
    #define SMARTRF_SETTING_IQIC 0x00
    #define SMARTRF_SETTING_CHAN_BW 0x02
    #define SMARTRF_SETTING_MDMCFG1 0x46
    #define SMARTRF_SETTING_MDMCFG0 0x05
    #define SMARTRF_SETTING_SYMBOL_RATE2 0x99
    #define SMARTRF_SETTING_SYMBOL_RATE1 0x99
    #define SMARTRF_SETTING_SYMBOL_RATE0 0x99
    #define SMARTRF_SETTING_AGC_REF 0x3C
    #define SMARTRF_SETTING_AGC_CS_THR 0xEF
    #define SMARTRF_SETTING_AGC_GAIN_ADJUST 0x00
    #define SMARTRF_SETTING_AGC_CFG3 0x91
    #define SMARTRF_SETTING_AGC_CFG2 0x20
    #define SMARTRF_SETTING_AGC_CFG1 0xA9
    #define SMARTRF_SETTING_AGC_CFG0 0xC0
    #define SMARTRF_SETTING_FIFO_CFG 0x00
    #define SMARTRF_SETTING_DEV_ADDR 0x00
    #define SMARTRF_SETTING_SETTLING_CFG 0x03
    #define SMARTRF_SETTING_FS_CFG 0x12
    #define SMARTRF_SETTING_WOR_CFG1 0x08
    #define SMARTRF_SETTING_WOR_CFG0 0x21
    #define SMARTRF_SETTING_WOR_EVENT0_MSB 0x00
    #define SMARTRF_SETTING_WOR_EVENT0_LSB 0x00
    #define SMARTRF_SETTING_PKT_CFG2 0x04
    #define SMARTRF_SETTING_PKT_CFG1 0x05
    #define SMARTRF_SETTING_PKT_CFG0 0x20
    #define SMARTRF_SETTING_RFEND_CFG1 0x0F
    #define SMARTRF_SETTING_RFEND_CFG0 0x00
    #define SMARTRF_SETTING_PA_CFG2 0x43
    #define SMARTRF_SETTING_PA_CFG1 0x56
    #define SMARTRF_SETTING_PA_CFG0 0x79
    #define SMARTRF_SETTING_PKT_LEN 0xFF
    #define SMARTRF_SETTING_IF_MIX_CFG 0x00
    #define SMARTRF_SETTING_FREQOFF_CFG 0x20
    #define SMARTRF_SETTING_TOC_CFG 0x0A
    #define SMARTRF_SETTING_MARC_SPARE 0x00
    #define SMARTRF_SETTING_ECG_CFG 0x00
    #define SMARTRF_SETTING_CFM_DATA_CFG 0x00
    #define SMARTRF_SETTING_EXT_CTRL 0x01
    #define SMARTRF_SETTING_RCCAL_FINE 0x00
    #define SMARTRF_SETTING_RCCAL_COARSE 0x00
    #define SMARTRF_SETTING_RCCAL_OFFSET 0x00
    #define SMARTRF_SETTING_FREQOFF1 0x00
    #define SMARTRF_SETTING_FREQOFF0 0x00
    #define SMARTRF_SETTING_FREQ2 0x72
    #define SMARTRF_SETTING_FREQ1 0x60
    #define SMARTRF_SETTING_FREQ0 0x00
    #define SMARTRF_SETTING_IF_ADC2 0x02
    #define SMARTRF_SETTING_IF_ADC1 0xA6
    #define SMARTRF_SETTING_IF_ADC0 0x04
    #define SMARTRF_SETTING_FS_DIG1 0x00
    #define SMARTRF_SETTING_FS_DIG0 0x5F
    #define SMARTRF_SETTING_FS_CAL3 0x00
    #define SMARTRF_SETTING_FS_CAL2 0x20
    #define SMARTRF_SETTING_FS_CAL1 0x40
    #define SMARTRF_SETTING_FS_CAL0 0x0E
    #define SMARTRF_SETTING_FS_CHP 0x28
    #define SMARTRF_SETTING_FS_DIVTWO 0x03
    #define SMARTRF_SETTING_FS_DSM1 0x00
    #define SMARTRF_SETTING_FS_DSM0 0x33
    #define SMARTRF_SETTING_FS_DVC1 0xFF
    #define SMARTRF_SETTING_FS_DVC0 0x17
    #define SMARTRF_SETTING_FS_LBI 0x00
    #define SMARTRF_SETTING_FS_PFD 0x50
    #define SMARTRF_SETTING_FS_PRE 0x6E
    #define SMARTRF_SETTING_FS_REG_DIV_CML 0x14
    #define SMARTRF_SETTING_FS_SPARE 0xAC
    #define SMARTRF_SETTING_FS_VCO4 0x14
    #define SMARTRF_SETTING_FS_VCO3 0x00
    #define SMARTRF_SETTING_FS_VCO2 0x00
    #define SMARTRF_SETTING_FS_VCO1 0x00
    #define SMARTRF_SETTING_FS_VCO0 0xB4
    #define SMARTRF_SETTING_GBIAS6 0x00
    #define SMARTRF_SETTING_GBIAS5 0x02
    #define SMARTRF_SETTING_GBIAS4 0x00
    #define SMARTRF_SETTING_GBIAS3 0x00
    #define SMARTRF_SETTING_GBIAS2 0x10
    #define SMARTRF_SETTING_GBIAS1 0x00
    #define SMARTRF_SETTING_GBIAS0 0x00
    #define SMARTRF_SETTING_IFAMP 0x01
    #define SMARTRF_SETTING_LNA 0x01
    #define SMARTRF_SETTING_RXMIX 0x01
    #define SMARTRF_SETTING_XOSC5 0x0E
    #define SMARTRF_SETTING_XOSC4 0xA0
    #define SMARTRF_SETTING_XOSC3 0x03
    #define SMARTRF_SETTING_XOSC2 0x04
    #define SMARTRF_SETTING_XOSC1 0x03
    #define SMARTRF_SETTING_XOSC0 0x00
    #define SMARTRF_SETTING_ANALOG_SPARE 0x00
    #define SMARTRF_SETTING_PA_CFG3 0x00
    #define SMARTRF_SETTING_WOR_TIME1 0x00
    #define SMARTRF_SETTING_WOR_TIME0 0x00
    #define SMARTRF_SETTING_WOR_CAPTURE1 0x00
    #define SMARTRF_SETTING_WOR_CAPTURE0 0x00
    #define SMARTRF_SETTING_BIST 0x00
    #define SMARTRF_SETTING_DCFILTOFFSET_I1 0x00
    #define SMARTRF_SETTING_DCFILTOFFSET_I0 0x00
    #define SMARTRF_SETTING_DCFILTOFFSET_Q1 0x00
    #define SMARTRF_SETTING_DCFILTOFFSET_Q0 0x00
    #define SMARTRF_SETTING_IQIE_I1 0x00
    #define SMARTRF_SETTING_IQIE_I0 0x00
    #define SMARTRF_SETTING_IQIE_Q1 0x00
    #define SMARTRF_SETTING_IQIE_Q0 0x00
    #define SMARTRF_SETTING_RSSI1 0x80
    #define SMARTRF_SETTING_RSSI0 0x00
    #define SMARTRF_SETTING_MARCSTATE 0x41
    #define SMARTRF_SETTING_LQI_VAL 0x00
    #define SMARTRF_SETTING_PQT_SYNC_ERR 0xFF
    #define SMARTRF_SETTING_DEM_STATUS 0x00
    #define SMARTRF_SETTING_FREQOFF_EST1 0x00
    #define SMARTRF_SETTING_FREQOFF_EST0 0x00
    #define SMARTRF_SETTING_AGC_GAIN3 0x00
    #define SMARTRF_SETTING_AGC_GAIN2 0xD1
    #define SMARTRF_SETTING_AGC_GAIN1 0x00
    #define SMARTRF_SETTING_AGC_GAIN0 0x3F
    #define SMARTRF_SETTING_CFM_RX_DATA_OUT 0x00
    #define SMARTRF_SETTING_CFM_TX_DATA_IN 0x00
    #define SMARTRF_SETTING_ASK_SOFT_RX_DATA 0x30
    #define SMARTRF_SETTING_RNDGEN 0x7F
    #define SMARTRF_SETTING_MAGN2 0x00
    #define SMARTRF_SETTING_MAGN1 0x00
    #define SMARTRF_SETTING_MAGN0 0x00
    #define SMARTRF_SETTING_ANG1 0x00
    #define SMARTRF_SETTING_ANG0 0x00
    #define SMARTRF_SETTING_CHFILT_I2 0x08
    #define SMARTRF_SETTING_CHFILT_I1 0x00
    #define SMARTRF_SETTING_CHFILT_I0 0x00
    #define SMARTRF_SETTING_CHFILT_Q2 0x00
    #define SMARTRF_SETTING_CHFILT_Q1 0x00
    #define SMARTRF_SETTING_CHFILT_Q0 0x00
    #define SMARTRF_SETTING_GPIO_STATUS 0x00
    #define SMARTRF_SETTING_FSCAL_CTRL 0x01
    #define SMARTRF_SETTING_PHASE_ADJUST 0x00
    #define SMARTRF_SETTING_PARTNUMBER 0x48
    #define SMARTRF_SETTING_PARTVERSION 0x21
    #define SMARTRF_SETTING_SERIAL_STATUS 0x00
    #define SMARTRF_SETTING_MODEM_STATUS1 0x10
    #define SMARTRF_SETTING_MODEM_STATUS0 0x00
    #define SMARTRF_SETTING_MARC_STATUS1 0x00
    #define SMARTRF_SETTING_MARC_STATUS0 0x00
    #define SMARTRF_SETTING_PA_IFAMP_TEST 0x00
    #define SMARTRF_SETTING_FSRF_TEST 0x00
    #define SMARTRF_SETTING_PRE_TEST 0x00
    #define SMARTRF_SETTING_PRE_OVR 0x00
    #define SMARTRF_SETTING_ADC_TEST 0x00
    #define SMARTRF_SETTING_DVC_TEST 0x0B
    #define SMARTRF_SETTING_ATEST 0x40
    #define SMARTRF_SETTING_ATEST_LVDS 0x00
    #define SMARTRF_SETTING_ATEST_MODE 0x00
    #define SMARTRF_SETTING_XOSC_TEST1 0x3C
    #define SMARTRF_SETTING_XOSC_TEST0 0x00
    #define SMARTRF_SETTING_RXFIRST 0x00
    #define SMARTRF_SETTING_TXFIRST 0x00
    #define SMARTRF_SETTING_RXLAST 0x00
    #define SMARTRF_SETTING_TXLAST 0x00
    #define SMARTRF_SETTING_NUM_TXBYTES 0x00
    #define SMARTRF_SETTING_NUM_RXBYTES 0x00
    #define SMARTRF_SETTING_FIFO_NUM_TXBYTES 0x0F
    #define SMARTRF_SETTING_FIFO_NUM_RXBYTES 0x00
  • Hi

    I selected the 50 kbps settings in SmartRF Studio and then chose the RX Sniff Mode tab. I changed the preamble to 7 bytes and the CS threshold to -78 dBm. I then exported the settings to run with the CC112x Sniff mode code example on the web. I kept the IOCFGx configuration to be compliant with the code example. I was able to receive all packets that I sent. My settings are shown below:

     

    // Packet length mode = Variable

    // Packet length = 255

    // Carrier frequency = 915.000000

    // Manchester enable = false

    // PA ramping = true

    // Whitening = false

    // Bit rate = 100

    // Symbol rate = 50

    // Deviation = 24.963379

    // Modulation format = 4-GFSK

    // RX filter BW = 100.000000

    // Performance mode = High Performance

    // Device address = 0

    // TX power = 15

    // Packet bit length = 0

    // Address config = No address check

     

    static const registerSetting_t preferredSettings[]=

    {

    {CC112X_IOCFG3,           0xB0},

    {CC112X_IOCFG2,           0x13},

    {CC112X_IOCFG1,           0xB0},

    {CC112X_IOCFG0,           0x06},

    {CC112X_SYNC_CFG1,         0x08},

    {CC112X_DEVIATION_M,       0x99},

    {CC112X_MODCFG_DEV_E,     0x2D},

    {CC112X_DCFILT_CFG,       0x15},

    {CC112X_PREAMBLE_CFG1,     0x24},

    {CC112X_FREQ_IF_CFG,       0x3A},

    {CC112X_IQIC,             0x00},

    {CC112X_CHAN_BW,           0x02},

    {CC112X_MDMCFG0,          0x05},

    {CC112X_SYMBOL_RATE2,     0x99},

    {CC112X_SYMBOL_RATE1,     0x99},

    {CC112X_SYMBOL_RATE0,     0x99},

    {CC112X_AGC_REF,           0x3C},

    {CC112X_AGC_CS_THR,       0x18},

    {CC112X_AGC_CFG1,         0xA0},

    {CC112X_AGC_CFG0,         0xC0},

    {CC112X_FIFO_CFG,         0x00},

    {CC112X_SETTLING_CFG,     0x03},

    {CC112X_FS_CFG,           0x12},

    {CC112X_WOR_CFG0,         0x20},

    {CC112X_WOR_EVENT0_LSB,   0x21},

    {CC112X_PKT_CFG0,         0x20},

    {CC112X_RFEND_CFG0,       0x09},

    {CC112X_PA_CFG0,           0x79},

    {CC112X_PKT_LEN,           0xFF},

    {CC112X_IF_MIX_CFG,       0x00},

    {CC112X_TOC_CFG,           0x0A},

    {CC112X_FREQ2,             0x72},

    {CC112X_FREQ1,             0x60},

    {CC112X_FS_DIG1,           0x00},

    {CC112X_FS_DIG0,           0x5F},

    {CC112X_FS_CAL1,           0x40},

    {CC112X_FS_CAL0,           0x0E},

    {CC112X_FS_DIVTWO,         0x03},

    {CC112X_FS_DSM0,           0x33},

    {CC112X_FS_DVC0,           0x17},

    {CC112X_FS_PFD,           0x50},

    {CC112X_FS_PRE,           0x6E},

    {CC112X_FS_REG_DIV_CML,   0x14},

    {CC112X_FS_SPARE,         0xAC},

    {CC112X_FS_VCO0,           0xB4},

    {CC112X_XOSC5,             0x0E},

    {CC112X_XOSC2,             0x00},

    {CC112X_XOSC1,             0x03},

    };

    BR

    Siri