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.

CC1310: RX filter bandwidth in Long range mode

Part Number: CC1310
Other Parts Discussed in Thread: CC1101,

Hi,

I use 625bps long range mode (915MHz) on CC1310 with a TI recommended crystal(Epson TSX-3225 24.0000MF15X-AC3). what RX filter bandwidth do we need?

My calculation:

a) Xtal mmp=10ppm(Frequency Tolerance) + 10ppm(Temperature Tolerance ) + 1ppm*5years (Aging)=25ppm  (operating temperature=-20 to +75C, product life time=5years)

b) RF parameters: Frequency=915MHz, 625bps long range mode(2-FSK symbol rate=10.00061kbps), Deviation=5.000 kHz, No whitening

c) RX filter bandwidth=10.00061K  + 2* 5.000K+  4*25*915=111.5KHz

The figure from SmartRF Studio 7 is 39KHz(as bellow), which figure should I use? Thanks.

// Parameter summary

// Address: aa-bb
// Frequency: 915.00000 MHz
// Data Format: Serial mode disable
// Deviation: 5.000 kHz
// Packet Length Config: Variable
// Max Packet Length: 128
// Packet Length: 20
// RX Filter BW: 39 kHz
// Symbol Rate: 10.00061 kBaud
// Sync Word Length: 32 Bits
// TX Power: 14 dBm (requires define CCFG_FORCE_VDDR_HH = 1 in ccfg.c, see CC13xx/CC26xx Technical Reference Manual)
// Whitening: No whitening

  • Legacy LRM is optimized for achieving the shortest packet length (this is what you are using to get 625 bps). The drawback of this mode is its low frequency offset tolerance. Increasing the RX filter BW does not improve the frequency offset tolerance. The minimum recommended setting for this mode is 10 Ksymbols per second and a deviation of 5 kHz. Achieving the recommended performance requires TCXOs at both sides of the link.

    SimpleLink LRM has been developed to address the drawbacks of Legacy LRM when it comes to frequency offset performance. The differences between SimpleLink LRM and Legacy LRM are the initial synchronization sequence and the selection of the default modulation kernel. SimpleLink LRM uses GFSK with h=0.5. The minimum recommended setting is 10 Ksymbols per second with a deviation of 2.5 KHz.

    In SmartRF Studio the recommended default setting is 20 Ksymbols per second, 5 KHz of deviation and a DSSS=4 (providing 2.5 Kb/s effective data rate). What you can do is to change the symbol rate to 10 Ksymbols per second and the DSSS spreading factor to 8. This yields 625 bps. DSSS=8 is set by using the override editor and change to HW_REG_OVERRIDE(505C,0x073C) (that is, change the override for address 0x505C from 0x0303).The frequency offset tolerance in this case will be approximately +/-20 ppm when using 49 kHz RX filter BW.

    Note that the initial frequency tolerance can be compensated for in production. This leaves temperature drift and ageing.
  • Hi Sverre,
    Thanks a lot for the reply. I will use this parameter to do test again. by the way, how to do the initial frequency tolerance compensation in production for each board? thank you.
  • You can read the frequency offset as DEMMAFC0 / 64 * f_dev; f_dev is the programmed deviation and has unit Hz.
  • Hi Sverre,

    How to read the value of DEMMAFC0? (I get undefined error message from CCS and I can't fine it from the technical reference manual.)Thansk.

  • Offset is read from DEMMAFC0[7:0] after receiving a packet and is a signed number. Address: 0x4004 5154
  • Hi Sverre,

    To read the RF frequency offset, I make some modification on example code of rfWsnConcentrator as below. However, I always get 0x81 even the reciving frequency changed. to comfirm it, a CC1101 reviever is used as a sniffer, and it shows -9 to +9 accordingly when  rfWsnNode is sending packages with different frequencies.

    Could you please guide me through of it? Thanks.

    1) Define a function in EasyLink.c

    rfc_CMD_READ_RFREG_t RF_cmdReadRfRegRfOffSet ={
    .commandNo = 0x0601,
    .address = 0x5154,
    };


    int8_t ReadRfOffSet(void)
    {
        int8_t RfOffSet;
        RfOffSet = (int8_t)RF_runImmediateCmd(rfHandle, (uint32_t*)&RF_cmdReadRfRegRfOffSet);
        return RfOffSet;
    }

    2)  Add this line in EasyLink.h

    extern int8_t ReadRfOffSet(void);

    3)  Call the function in rxDoneCallback

    static void rxDoneCallback(EasyLink_RxPacket * rxPacket, EasyLink_Status status)
    {

        /* If we received a packet successfully */
        if (status == EasyLink_Status_Success)
        {
            /* Save the latest RSSI, which is later sent to the receive callback */
            latestRssi = (int8_t)rxPacket->rssi;
            latestRfOffset=ReadRfOffSet();

            /* Signal packet received */
            Event_post(radioOperationEventHandle, RADIO_EVENT_VALID_PACKET_RECEIVED);
        }
    }

    4)  RF setup

    Use 0xd391d391 in CC1310 as the Sync Word to compatible with CC1101

    // Parameter summary
    // Address: off
    // Address0: 0xAA
    // Address1: 0xBB
    // Frequency: 915.00000 MHz
    // Data Format: Serial mode disable
    // Deviation: 25.000 kHz
    // Packet Length Config: Variable
    // Max Packet Length: 128
    // Packet Length: 20
    // RX Filter BW: 98 kHz
    // Symbol Rate: 50.00000 kBaud
    // Sync Word Length: 32 Bits 
    // TX Power: 14 dBm (requires define CCFG_FORCE_VDDR_HH = 1 in ccfg.c, see CC13xx/CC26xx Technical Reference Manual)
    // Whitening: No whitening

  • HI Sevrre,

    I just carried out a test with SmartRF Studio 7 &  CC1310 LauchPad,  the settings for Rx are:

    2.5 kbps, SimpleLink Long Range (20 kchip/s, 2-GFSK, conv. FEC r=1/2 K=7, DSSS SF=4, Tx dev.: 5 kHz, Rx BW: 49 kHz)

    The Tx is running a modified code of rfEasyLinkTx_CC1310_LAUNCHXL_tirtos_ccs as attached.(by adding 3 lines to rfEasyLinkTxFnx, it increase its tx frequency 1KHz in every tx packages) 

    I find that the receiving frequency range is from -17KHz to +29KHz, so I want to do the frequency compensation in production test, my question is apart from set frequency directly (e.g. EasyLink_setFrequency(868000000 + Offset)), any other way to do it? Thanks.

    Here is the Rx data from SmartRF Studio 7

    Offset is from 0xef(-17) to 0x1d(+29), -17KHz to +29KHz

    15:24:33.800 | aa 00 6e ef 93 4d 6d 77 d0 d8 1e 6d be b2 d3 f6 30 7f 2d 3f 98 89 03 fe 21 b4 dd 3e 8a 25 2c  |  -26
    15:24:34.020 | aa 00 6f f0 c8 b1 4b 1d 5b 07 36 24 6c 9e 0d 58 ac 5c 46 9d eb 0b b5 b8 7a 7c 3d 55 42 79 54  |  -19
    15:24:34.243 | aa 00 70 f1 a1 6c 38 d7 08 d0 f3 8d 55 5b 0f bb f1 e8 1a 8f a9 26 d8 24 4d 03 4b d4 0b d6 63  |  -19
    15:24:34.460 | aa 00 71 f2 89 4f 85 22 c4 1f be cf ab 66 c4 8b 7a e0 b0 93 d7 cf 7d ea af a8 40 e2 cf 7d 25  |  -19
    15:24:34.693 | aa 00 72 f3 42 2d 2d 1b 6d 4d a9 01 eb d5 76 29 29 8b f6 ef c1 30 d1 04 97 6b 70 42 b6 79 36  |  -19
    15:24:34.910 | aa 00 73 f4 e8 92 7c 53 17 1a 53 3a 66 8d f9 47 0f 27 17 3f fb 56 c0 91 23 e0 2a 66 a9 d4 2a  |  -19
    15:24:35.142 | aa 00 74 f5 b5 32 71 64 10 5a 89 65 83 35 8d f6 ed 25 ab ce 27 ad 5b 68 98 e0 5c 4a 97 8b 73  |  -19
    15:24:35.357 | aa 00 75 f6 84 21 e3 45 a4 6b ab d7 c0 ec 82 7a 7d 15 93 a7 7a 2d f8 6d 2c fe f8 fc 78 40 01  |  -19
    15:24:35.587 | aa 00 76 f7 15 c7 64 5f a0 6c d2 a1 7c bb 9a e2 70 61 a0 68 fe 53 1d a5 84 bf 18 fc 15 b4 a8  |  -19
    15:24:35.800 | aa 00 77 f8 15 90 e6 5d 96 2d b4 a5 75 ca 31 59 34 bb f8 dc 96 d0 1b 09 fd 87 e2 48 83 f1 43  |  -19
    15:24:36.330 | aa 00 79 fa f0 dc b2 4b 74 a9 1c ac 5f 5a 55 ea 7f d5 56 7c 2d 26 1b 3e 26 2a dc fd 2a 00 08  |  -19
    15:24:36.557 | aa 00 7a fb 57 2f 01 df 42 97 9a ba da 19 52 5c fd 06 4d b9 d7 48 16 bd ff 53 17 1b 50 c9 d4  |  -19
    15:24:36.784 | aa 00 7b fc 87 f0 ea 8a a1 d4 cb 82 f2 3b 36 7a 05 4d 79 30 37 00 66 af 12 45 17 58 6a f4 61  |  -19
    15:24:36.997 | aa 00 7c fd 3a 78 19 fb 3c 3a 09 63 4a ce b0 2a 77 e0 bd 62 ec dd 4a 80 84 61 d9 a2 27 63 0f  |  -19
    15:24:37.222 | aa 00 7d fe e7 22 32 e1 dc ce 64 c9 c0 f7 9d 27 49 b6 6a 2f 4a 9e 67 4b 88 60 7d a2 5d 40 dc  |  -19
    15:24:37.446 | aa 00 7e ff 0f 3b b7 f9 ee f5 c2 7a 2f 64 6d 96 8b 3f dd ad 97 24 af ea e2 8c 6c 0b d0 6f ca  |  -19
    15:24:37.666 | aa 00 7f 00 39 b6 a8 e5 c1 65 c7 af f5 85 4a 58 2a d2 ec ba 16 29 03 ce 2b b0 38 b2 b7 c3 03  |  -19
    15:24:37.890 | aa 00 80 01 bd a2 e9 c1 91 db 75 e3 35 78 f8 1e 76 e9 00 51 c6 b0 99 8e d8 ce 46 60 fe f1 bd  |  -19
    15:24:38.110 | aa 00 81 02 42 5a 66 74 46 90 92 6d dc c6 7b 40 64 0d 00 9f e9 3a 1d 3f fa 95 2c 68 4a 46 dd  |  -19
    15:24:38.341 | aa 00 82 03 07 80 f6 c9 fa 6a cb cd 63 d2 7d 4c 92 91 f2 d2 45 bc 98 88 c5 8f d9 f9 bf 1a 5c  |  -19
    15:24:38.861 | aa 00 84 05 0c d6 e3 93 1c 0e eb 35 9c e7 64 35 d3 55 7f 00 3b b1 f8 04 21 21 13 fb ff c6 58  |  -19
    15:24:39.087 | aa 00 85 06 99 a9 0d 32 da 63 78 93 6c 8e d1 00 19 ee 09 66 e4 5f 3e 89 e6 7e f9 8c ea 17 2d  |  -19
    15:24:39.311 | aa 00 86 07 c8 52 f0 2d 82 9c f6 61 20 57 d2 fb 4b 40 ed 75 ac a4 42 b5 02 42 df d3 05 ff 1b  |  -19
    15:24:39.529 | aa 00 87 08 fe 4c 98 1b 23 58 f7 2b b4 f5 5e bc d6 4a ab 21 32 3e 75 6d 4d 9f c7 79 a5 16 9b  |  -19
    15:24:39.758 | aa 00 88 09 91 cb 18 b0 d6 d8 8b 65 08 6f 27 4b a7 ca 7d 1b f5 d6 b9 5f 98 9e a2 bf f4 78 4f  |  -19
    15:24:39.981 | aa 00 89 0a 46 f2 aa 07 81 7c a6 fa e9 d2 40 f5 70 2f 37 e4 d3 33 8a 56 74 91 b6 0c f6 78 ac  |  -19
    15:24:40.197 | aa 00 8a 0b 9b c7 94 c1 5d f0 44 a1 cd a7 7f df af 53 ed a3 53 32 de 4e b1 4a bf 45 4c 13 58  |  -19
    15:24:40.421 | aa 00 8b 0c c3 e6 cb d1 37 23 4d f5 61 25 a1 5c 6e e7 59 b8 a1 73 cc 47 a7 0e d6 e1 b9 25 52  |  -19
    15:24:40.647 | aa 00 8c 0d 74 f6 58 13 78 fe 37 41 c2 25 31 fe ca ac f9 0f 5c d2 ed dc 37 49 13 ba 67 5c d5  |  -19
    15:24:40.871 | aa 00 8d 0e 62 dd 7d a0 e5 d0 6f 1e 8c d8 28 6c 34 65 fa 34 10 9b 84 91 8e 01 f3 a3 e7 ee fc  |  -19
    15:24:41.397 | aa 00 8f 10 2c 7a bd 69 04 ad cc 02 78 42 76 ed 7f cb bd f8 b2 36 79 50 aa fe 16 87 16 13 13  |  -19
    15:24:41.677 | aa 00 90 11 9e 8a 36 7b 7b 04 8f 56 d3 e0 33 aa d6 20 b6 09 99 1c 65 78 b5 e9 48 b9 9f 87 db  |  -19
    15:24:41.841 | aa 00 91 12 c5 cc 86 6b 6e 14 e2 3b 4e a6 aa 72 ec e5 83 33 b4 3b 6c e9 db c5 03 cf f7 be 7d  |  -19
    15:24:42.061 | aa 00 92 13 5a ad 63 af 32 4e 0d 9f 61 42 e0 ff 1d 75 47 93 47 53 72 f5 8c aa d1 66 3e 5d 4f  |  -19
    15:24:42.289 | aa 00 93 14 f0 ce 4f b1 d3 09 67 ef d3 b1 df da 71 ab e7 1e 5f 8c 9c 93 dd c3 b9 49 d6 86 1d  |  -19
    15:24:42.511 | aa 00 94 15 b9 7d 01 63 19 31 f5 f1 03 33 9f 6d 23 0c 33 f6 96 e8 b1 f0 8c 01 e2 48 a5 cd 10  |  -19
    15:24:42.733 | aa 00 95 16 09 e6 88 94 45 bd d0 50 e9 ff a9 d3 e2 c3 c3 7f 98 78 42 cb c6 91 f5 ce 1d ed 51  |  -19
    15:24:42.957 | aa 00 96 17 98 08 2f 04 9d e4 4a f5 d9 b5 76 74 d8 4f a1 2f 67 50 8b 7e aa 0d 45 2f fc 3d 6b  |  -19
    15:24:43.184 | aa 00 97 18 89 67 20 36 ad 0d ce 1b 0b 96 9b 53 6e fc aa 27 5f 3a 16 dd 8a 73 af c3 d1 e2 72  |  -20
    15:24:43.397 | aa 00 98 19 2d 85 ca 0a 49 89 89 1f dd 74 a5 23 cb 14 b2 84 fa 2b 23 c1 f6 d7 41 b6 44 c3 e7  |  -19
    15:24:43.932 | aa 00 9a 1b 8c da eb 7c 41 af 2e 2d 66 48 27 93 a3 1f 06 0a 6b c6 da 67 1e d8 17 c4 de a0 c8  |  -27
    15:24:44.153 | aa 00 9b 1c 31 8b 94 45 5b 4e 72 a0 79 d6 2c 42 5d f4 95 d0 2d c5 89 bd ba e2 a9 53 a1 4d d3  |  -28
    15:24:44.372 | aa 00 9c 1d 24 16 64 6c c6 d0 2d ac a8 b7 36 6a a6 9e 35 20 31 9a cc 29 ea 71 86 0e 04 c0 90  |  -28

    RF_Scan_868_BW49KHz.zip

  • There are no other ways of changing the frequency other than send a new CMD_FS (done by the EasyLink_setFrequency function).
    BR
    Siri
  • Thanks Siri, by the way, could please get me some helps on how to read the value of DEMMAFC?

  • Hi

     

    The problem is your ReadRfOffSet function:

     

    int8_t ReadRfOffSet(void)
    {
        int8_t RfOffSet;
        RfOffSet = (int8_t)RF_runImmediateCmd(rfHandle, (uint32_t*)&RF_cmdReadRfRegRfOffSet);
        return RfOffSet;
    }

     

    When you return RfOffSet you retun RF_Stat. what you want to retun is cmdReadRfRegRfOffSet.value

     

    BR

     

    Siri

  • Thanks Siri for your reply, Could please show me how to do it in detail?

  • Hi Siri,

    Thanks again for the reply,  Could you please show me how to get the value of it?

    Best regards,

    Jack

  • Not sure I understand what you are asking. After you do the RF_runImmediateCmd(rfHandle, (uint32_t*)&RF_cmdReadRfRegRfOffSet), the value is available in RF_cmdReadRfRegRfOffSet.value.

    int8_t ReadRfOffSet(void)
    {
    RF_runImmediateCmd(rfHandle, (uint32_t*)&RF_cmdReadRfRegRfOffSet);
    return RF_cmdReadRfRegRfOffSet.value;
    }

    The offset shoud then be multplied by the f_dev/64.

    Siri
  • Thanks Siri,

    Yes, it's what I need.  just one more question: is it possible to read the LQI?

    BR

    Jack

  • LQI is not supported for long range mode

    BR

    Siri
  • Hi Siri,

    Thanks for your help, now I can read the DEMMAFC0 value.

    However, when I do the calculation, the result doesn't match the real frequency offset. for example, when the frequency=+22KHz, the DEMMAFC0 value=34, according to Sverre's formulation (see post above) , the frequency offset=34/64*5000=2656.25Hz

    Could you please tell me what is wrong?

    BR,

    Jack

  • Hi Jack

    If your deviation is 5 kHz, the resolution of your measurements is 5000/64 = 78.125 Hz per bit.
    You have a signed 8 bit int, meaning that you can measure +- 128 * 78.125 = 10 kHz.
    The measurements will be very linear up to +- 10/2 = +-5 kHz

    You will not be able to measure an offset of 22 kHz.

    BR

    Siri
  • Hi Siri,

    Thanks a lot for your reply. it seems that something is wrong with RF offset reading.

    I do the test again and capture the Rx data as below.The datat show that the Rx frequency ragne is -26KHz to +21KHz,  the Rx BW=26KHz+21KHz=47KHz which meet RF settings (-24.5KHz to +24.5KHz in theory ). but the RF offset bytes are jumping, and value doesn't make sense.

    The attached Tx code run on CC1310 LaunchPad to send RF packages to the air, it increases the RF frequency 1 KHz every package. The Rx code run on CC1310 LaunchPad to receive the RF packages and read the RSSI and RF offset and send to uart port.

    Could you please help me to find out what is wrong?

    Thank you,

    Jack

    FrqScan_868MHz_LRM2K5_TX.zip

    FrqScan_868MHz_LRM2K5_RX_TO_UART.zip

    // Parameter summary
    // Address: off
    // Address0: 0xAA
    // Address1: 0xBB
    // Frequency: 868.00000 MHz
    // Data Format: Serial mode disable
    // Deviation: 5.000 kHz
    // Packet Length Config: Variable
    // Max Packet Length: 128
    // Packet Length: 20
    // RX Filter BW: 49 kHz
    // Symbol Rate: 19.99969 kBaud
    // Sync Word Length: 32 Bits
    // TX Power: 14 dBm (requires define CCFG_FORCE_VDDR_HH = 1 in ccfg.c, see CC13xx/CC26xx Technical Reference Manual)
    // Whitening: No whitening

    The 3th byte is the real frequency setting 0xE6= -26 (Frq= -26KHz); the second last byte is RSSI, and the last byte is DEMMAFC0=0xFE

    [R x] DC 65 E6 1F E2 79 39 8B 4A 82 A3 4D A0 EA 93 E4 01 17 0D 8E 1F 20 6E 1A F2 08 F0 8B 1C B8 D4 FE
    [R x] DC 66 E7 71 1D BE 33 07 3B C8 3B 0D 2E DE 4A 64 8F 63 73 6B FF C9 B3 1C 17 17 BA E5 13 1C D6 FE
    [R x] DC 67 E8 47 3D 71 72 30 1B 30 B8 19 58 75 C8 DF 73 99 0F 62 29 29 35 E0 A3 A8 2E 0F 60 09 D7 FE
    [R x] DC 68 E9 FC E0 EB 51 A6 16 92 B7 59 8B A9 BF CC 52 BA BA FA AF 69 4B C0 86 74 B2 3B 85 6A DD DA
    [R x] DC 69 EA DF 11 2E 14 58 F1 2B CA 21 BD 54 A1 E5 04 E3 9E 98 40 CD E8 55 7B 07 57 F6 BD 7B DE E4
    [R x] DC 6A EB 75 3C C9 03 06 43 BE D1 F0 DE 95 3E 2F 4A F0 0A CB 20 94 AF F6 3B E7 2A E8 6E 2B DE F0
    [R x] DC 6B EC 7B E7 78 3A 86 61 7B 0D F9 0D F1 0E BD 3E E1 05 49 D7 9C C9 04 75 75 49 5D 5B 41 DE FA
    [R x] DC 6C ED AC 21 8D 3C C7 1C A2 F5 64 8C 39 4D 32 88 FE A4 B6 AA C7 78 E6 7A 91 B7 87 9B 3F DE F6
    [R x] DC 6E EF 4C 2C A8 79 28 69 90 DA A5 26 EB 7D 96 06 5C 91 6D 53 BA CC 54 F1 8B 37 0D 05 41 DE F0
    [R x] DC 6F F0 8A 64 36 7C 4C BE 69 BE 7C 87 F6 DC CA A9 57 BD 09 EB 5D 23 87 1F EC BB 2E 0E 79 DD 04
    [R x] DC 70 F1 5C 24 45 43 82 DB 56 03 7E E9 3A ED B9 29 7B 2C 00 4A E1 DC 23 3A 6A 57 50 50 0A DE F4
    [R x] DC 71 F2 2D 3C 23 4B B7 AF C2 D2 DD C9 9F 19 DB 47 D3 5D 57 69 57 9F 3E A4 40 32 5D 0C BD DE FE
    [R x] DC 72 F3 BF 7F CC B1 C9 93 BF 41 16 3D 72 C5 13 46 49 95 5A 6E EC 66 CF 5D C2 0E 7D 4D 2E DD 08
    [R x] DC 73 F4 2E 79 8C 05 CC 44 EA 67 7A 2A 86 A0 72 67 0C 73 9D 69 8C 50 F4 F6 3D 60 99 1D F4 DD 02
    [R x] DC 74 F5 B4 DE 62 E3 0E 99 10 30 70 37 1C BB B9 1A B1 3F C2 C5 47 34 F2 4B A0 20 A0 79 7D DD F2
    [R x] DC 75 F6 2B C3 24 42 DB EF 93 EF 76 83 81 5C A2 EF 19 04 FE 7B 76 F6 FE EF DD 60 8A 04 BC DD F6
    [R x] DC 76 F7 56 8D 66 88 00 65 8C B6 EB 17 7B 92 DE 50 17 63 5B 05 9B 9B C0 64 0E 9D 20 7C 84 DD 00
    [R x] DC 77 F8 DE AB 1A 64 0F CB AF 66 8D 1B 63 86 DB EF D0 23 BC 18 0B 1C 92 11 59 D6 77 EE B1 DD FC
    [R x] DC 79 FA 9C 31 97 1C EF 21 E9 D7 99 26 78 20 68 24 40 6D B5 27 3D 9B 3D 0E A5 75 C0 F7 E8 DD F8
    [R x] DC 7A FB 5B 69 68 9D A6 44 F8 A3 8D 69 16 20 EF 29 E8 08 F8 6F F9 47 3F AC B0 90 9F 85 94 DD F4
    [R x] DC 7B FC D5 3F 41 E4 DE E6 29 D8 0E 40 0C 7B F0 75 35 8C E1 7B 7A 15 6B 43 F1 79 62 A5 72 DD FE
    [R x] DC 7C FD C1 0C D1 A3 42 E1 D8 D6 BF B9 07 18 4B 3D 0B 7B 0F DD FE 73 E6 34 64 21 B8 39 E1 DD F0
    [R x] DC 7D FE 97 2B BC 86 9B 3B 14 09 7E F6 E4 B2 F6 79 B8 B5 D6 53 2C 7B E3 38 29 2E 77 6B DF DD FA
    [R x] DC 7E FF D8 E9 82 4A 55 56 C4 37 26 A9 15 6E 01 96 9D 50 7C BE F5 08 26 99 A9 54 63 1F 6E DD F6
    [R x] DC 7F 00 0B 39 24 93 C2 EB 8A 98 15 3E C3 2C 59 EE 8C 2A 44 D8 3A 88 48 22 76 67 B3 28 B9 DD 02
    [R x] DC 80 01 88 2A 85 7C 1B B6 69 AA 6E D6 B2 A0 4E FA F1 3E 2D A4 31 95 BE D6 F5 33 53 3B F4 DD 0C
    [R x] DC 81 02 F6 17 93 ED 49 F0 26 C0 1E FA E7 1E D5 43 B2 B8 79 A3 86 44 99 61 BC 08 E8 A5 05 DD 08
    [R x] DC 82 03 94 A2 25 AF 66 80 71 5E 9E 0A 09 37 8C 1C D6 C9 EE CA 42 3A 0D 51 BA 16 96 BE E5 DD FA
    [R x] DC 84 05 1B 53 63 63 2A 1D 02 4F 99 B9 83 4A AF 1A 15 C1 E6 99 75 1F 8B 5C E6 21 18 84 F2 DD 0E
    [R x] DC 85 06 51 1A DF 7F 21 B7 F0 FB 32 F5 61 33 4E 99 20 14 78 7D 4B 62 C9 3E 6D 40 0C AB 78 DD 0A
    [R x] DC 86 07 19 E8 82 A6 F2 65 40 C5 9F 83 43 FA C9 00 F4 C0 18 26 50 FB 4E B8 64 C4 20 97 88 DD FA
    [R x] DC 87 08 D8 37 5B 72 AC C6 82 3D DB 16 1F 38 8D 4E 13 B9 68 55 F4 D0 F2 FA CD 57 A9 E3 98 DD 08
    [R x] DC 88 09 E4 3C 7C 93 68 1B C7 D4 C9 B5 AA F5 87 43 B6 AF E4 B2 1A 8E 86 0D 99 39 D1 AB 4E DD F6
    [R x] DC 89 0A 02 18 20 28 0C C4 03 76 33 6D F3 7C 69 4E B1 25 6B 05 3C 02 9B 45 0E D3 9C 40 1C DD 00
    [R x] DC 8A 0B B0 D1 8A CF D1 6D 32 DA 90 C8 D3 F3 B1 46 19 42 84 28 51 27 01 73 E8 0A AB 9F A8 DD 0A
    [R x] DC 8B 0C 21 05 B3 7C 84 06 3B 9A 8C FA 07 AD 69 DF A5 64 5B BE 6F FE 10 DC 40 53 C1 A6 F4 DD FA
    [R x] DC 8C 0D 0B 5A A1 0B 8E 75 96 04 47 E0 18 3B AE D9 D7 77 8F A2 32 20 A8 EC 2F 89 08 02 38 DD 10
    [R x] DC 8D 0E 22 B6 96 95 B4 0C AF AD 5A A8 FF 47 F1 F7 D8 09 AC 20 D9 12 F8 A9 30 7F 11 E9 8F DD 00
    [R x] DC 8F 10 0E CD C9 68 15 03 1F 3C A8 CC 80 11 BE B7 ED B8 F0 B5 40 5A D7 40 E5 8D 22 48 58 DD 16
    [R x] DC 90 11 79 E2 62 86 15 B0 13 6D 1C 0E 7E 7B BD 01 37 46 10 E0 8D D0 AB C0 88 DB 04 A1 A1 DD 10
    [R x] DC 91 12 89 5A 44 34 81 44 06 DF A0 A9 A6 A0 6D EB C5 9D 54 74 65 3E 8A 61 23 BF A5 ED 34 DD 1C
    [R x] DC 92 13 F7 9F 21 E5 AE 33 42 7F AC 4A FC 3B 27 D1 BA DA 00 31 AC F7 E4 3B 42 D3 25 D1 67 DD 28
    [R x] DC 93 14 56 55 7E 04 A8 D3 1D BD 07 EE 8C D3 F4 8B FC F2 21 3F 87 F1 CE 79 EB E3 E6 6F 06 D6 02
    [R x] DC 94 15 D8 CA 11 83 37 10 9C 5C 10 D5 4D D2 0F A1 58 07 50 A0 BE 5C 06 0C 45 BF CE 5B 3A D4 04

    The 3th byte is the real frequency setting 0x15= +21 (Frq= +21KHz); the last byte is DEMMAFC0=0x04

  • Hi Jack

    I just learnt that the Frequency offset is only available when using the genfsk PHY and not when using LRM.

    BR
    Siri
  • Hi Siri,

    Thank you for your help. I run the test again with 50 kbps, 2-GFSK, 25 kHz deviation, all good.

    So I will do test with GFSK mode to get freuency offset in production, and use LRM in operation. Now the question is how to change the RF settings in run mode without change the parameters in smartrf_settings.c and re-flash the chip again?'

    Best regards,

    Jack

  • Hi Jack

    You will need to do an RF_open with the genfsk settings and then before changing config. you do an RF_close. You then do another RF_open with the new settings:

    rfHandle = RF_open(&rfObject, &RF_prop, (RF_RadioSetup*)&RF_cmdPropRadioDivSetup_genfsk, &rfParams);
    .
    .
    .
    RF_close(rfHandle);
    
    rfHandle = RF_open(&rfObject, &RF_prop, (RF_RadioSetup*)&RF_cmdPropRadioDivSetup_SLR, &rfParams);
    

    Siri