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.

CCS/LAUNCHXL-CC2640R2: Which factors affect the measurable distance in RTLS?

Part Number: LAUNCHXL-CC2640R2
Other Parts Discussed in Thread: CC2640, CC2640R2F

Tool/software: Code Composer Studio

Hi, recently I examined the rtls projects of sdk v3.10 and v3.20 with cc2640.

I can get some result about the measurable distance.

The sdk v3.10 can measure until about 120m, but v3.20 can measure until about 60m.

Both ToF and AoA have similar result. The between v3.10 and v3.20, there are many things that changed.

Could you let me know what makes the bad measurable distance in sdk v3.20?

Best regards,
Inseob

  • Hi,

    Assigning an expert to comment.

  • Hi,

    The txPower used by TOF has been modified between SDK 3.10 and SDK 3.20.

    This value is set in the file TOF.c (source\ti\blestack\common\cc26xx\tof):

    RF_cmdTof.txPower              = 0x61;

    I hope this will help,

    Best regards,

  • Hi,

    I see the sdk 3.10 and 3.20 for cc2640r2f.

    But the RF_cmdTof.txPower is same (0x3F) both.

    And when I set the power to 0x61, the tof is frozen with tof enable success log.

    Could you explain the value (e.g. 0x3F, 0x61) and the variable (RF_cmdTof.txPower)?

    If I want to increase AoA txpower, how to increase it (please, could you explain it code-level)?

    Best regards,
    Inseob

  • Hi Inseob,

    For TOF, keep in mind that changing the txPower might cause some packets to be filtered because their RSSI is too high. This is more likely to happen if the master and the slave are close. You can try to perform the calibration with the boards a bit further the one from the other (let's say 10m) to check if this could solve your issue.

    For AOA (which is using the classical BLE stack), you can basically use the classical HCI command: HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_5_DBM); (this command can be called almost where you want once the GATT client has been initialized -> for example just before GAP_DeviceInit())

    I hope this will help,

    Regards,

  • Hi,

    The field txPower of RF_cmdTof sets up the radio power. The corresponding TX Power for a given value of RF_cmdTof.txPower can be found using SmartRF Studio (see the image below). For a given device and a given TX Power, you can get the field txPower of the radio command. We basically use this number inside RF_cmdTof.txPower. Note, SmartRF Studio provides 16 bits values, but you only need to take in consideration the 8 LSF bits (the 8 MSF bits are used for temperature compensation).

    In short, for CC2640R2:

    RF_cmdTof.txPower value TX Power
    0x3F max power (~5 dBm)
    0x1C 3 dBm
    0x61 0 dBm
    0x4E -9 dBm
    0xC7 -21 dBm

         

    I hope this will help,