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.

RTOS/LAUNCHXL-CC26X2R1: How to set the CC2642 TX Power

Part Number: LAUNCHXL-CC26X2R1
Other Parts Discussed in Thread: BLE-STACK

Tool/software: TI-RTOS

Hi all, 

We found that there are two way to change the TX power. Please refer to the following information.

But these two methods have the different power levels. One can reach -127dbm ~ +127dbm, and the other one only reach  -21dbm ~5dbm.

Could you help to provide some explanations to us?

1. To add GAP_ADTYPE_POWER_LEVEL Into advertData[] or scanRspData[], 

/// TX Power Level: 0xXX: -127 to +127 dBm

#define GAP_ADTYPE_POWER_LEVEL

2. Use HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_5_DBM) function.

#define HCI_EXT_TX_POWER_MINUS_21_DBM LL_EXT_TX_POWER_MINUS_21_DBM //!< -21 dBm
#define HCI_EXT_TX_POWER_MINUS_18_DBM LL_EXT_TX_POWER_MINUS_18_DBM //!< -18 dBm
#define HCI_EXT_TX_POWER_MINUS_15_DBM LL_EXT_TX_POWER_MINUS_15_DBM //!< -15 dBm
#define HCI_EXT_TX_POWER_MINUS_12_DBM LL_EXT_TX_POWER_MINUS_12_DBM //!< -12 dBm
#define HCI_EXT_TX_POWER_MINUS_9_DBM LL_EXT_TX_POWER_MINUS_9_DBM //!< 9 dBm
#define HCI_EXT_TX_POWER_MINUS_6_DBM LL_EXT_TX_POWER_MINUS_6_DBM //!< 6 dBm
#define HCI_EXT_TX_POWER_MINUS_3_DBM LL_EXT_TX_POWER_MINUS_3_DBM //!< 3 dBm
#define HCI_EXT_TX_POWER_0_DBM LL_EXT_TX_POWER_0_DBM //!< 0 dBm
#define HCI_EXT_TX_POWER_1_DBM LL_EXT_TX_POWER_1_DBM //!< 1 dBm
#define HCI_EXT_TX_POWER_2_DBM LL_EXT_TX_POWER_2_DBM //!< 2 dBm
#define HCI_EXT_TX_POWER_3_DBM LL_EXT_TX_POWER_3_DBM //!< 3 dBm
#define HCI_EXT_TX_POWER_4_DBM LL_EXT_TX_POWER_4_DBM //!< 4 dBm
#define HCI_EXT_TX_POWER_5_DBM LL_EXT_TX_POWER_5_DBM //!< 5 dBm

Thanks.

BR

Trevor

  • Hi Trevor,
    I believe the first option is simply flagging the TX Power to the peer devices, its doesn't necessarily mean that the BLE-Stack uses it. The HCI_EXT_SetTxPowerCmd is the correct API.
  • Hi Joakim,
    Got it, I known HCI_EXT_SetTxPowerCmd is the correct API. But our custom board, can't connect to peer device when the distance exceeds 2 meters(I have added "HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_5_DBM)" into ProjectZero_init()).

    But if I add the following configuration into advertData[] and scanRspData[], I can successfully connect to peer successfully at 10 meters distance, this result make me very surprised and confused.

    P.S We have not fine-tune our antenna performance yet, will do it later.




    // Tx power level
    2, // length of this data
    GAP_ADTYPE_POWER_LEVEL,
    20 // 20dBm

    Thanks.

    BR
    Trevor
  • Hi Trevor,
    Are you able to analyse the actual output power? Or at least check RSSI.

    Also, what Launchpad and SDK versions are you using?
  • Hi Joakim,
    we will measure the the actual output power later and feedback to you.
    The RSSI increased from -50dbm to -42dbm.

    SDK : V2.30
    CPU CC2642


    thanks.
    BR
    Trevor