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.

CC2541: Tx power extra modes setting not working

Part Number: CC2541
Other Parts Discussed in Thread: CC2540,

Hi All,

Just went through Datasheet as i wanted some more Tx power levels in between -6DB to -23 DB

I found one table :

Table 1. Output Power(1) (2)
TXPOWER Setting | Typical Output Power (dBm)
0xE1       0
0xD1    –2
0xC1    –4
0xB1    –6
0xA1    –8
0x91  –10
0x81  –12
0x71  –14
0x61  –16
0x51  –18
0x41  –20

if i have to set these power levels which API i have to use as i have tried with 

HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_MINUS_12_DBM);

In above command i have added HCI_EXT_TX_POWER_MINUS_12_DBM next number in ll.h where already enum 0,1,2,3 were defined for 4DB,0DB,-6DB,-23DB 

AND Called the API in application but it didn't work. 

i have to pass HCI_EXT_SetTxPowerCmd(0x81); to configure tx power as -12 ?  

Please Guide me ,if i have to test the above mentioned power levels mentioned in Datasheet how to set it using which API in application?

Any inputs or suggestions please write back.

Regards

Atul

  • Hi Atul,

    I am afraid what you are asking is not possible. Here is the documentation for HCI_EXT_SetTxPowerCmd API (in hci.h),

    /*******************************************************************************
     * @fn          HCI_EXT_SetTxPowerCmd API
     *
     * @brief       This HCI Extension API is used to set the transmit power.
     *
     *              Related Events: HCI_VendorSpecifcCommandCompleteEvent
     *
     * input parameters
     *
     * @param       txPower - For CC254x: HCI_EXT_TX_POWER_MINUS_23_DBM,
     *                                    HCI_EXT_TX_POWER_MINUS_6_DBM,
     *                                    HCI_EXT_TX_POWER_0_DBM,
     *                                    HCI_EXT_TX_POWER_4_DBM
     *
     * ....
     *
     * output parameters
     *
     * @param       None.
     *
     * @return      hciStatus_t
     */
    extern hciStatus_t HCI_EXT_SetTxPowerCmd( uint8 txPower );

    For CC2540, only the values HCI_EXT_TX_POWER_MINUS_23_DBM, HCI_EXT_TX_POWER_MINUS_6_DBM, HCI_EXT_TX_POWER_0_DBM, LL_EXT_TX_POWER_4_DBM can be passed to the function. Otherwise an error will be raised.

    For CC2541, only the values HCI_EXT_TX_POWER_MINUS_23_DBM, HCI_EXT_TX_POWER_MINUS_6_DBM, HCI_EXT_TX_POWER_0_DBM can be passed to the function. Otherwise an error will be raised.

    I hope this will help,

    Best regards,

  • Hi Clement,

    Thanks for you response..!!

    So You are saying apart from - 

    For CC2541, only the values HCI_EXT_TX_POWER_MINUS_23_DBM, HCI_EXT_TX_POWER_MINUS_6_DBM, HCI_EXT_TX_POWER_0_DBM can be passed to the function. Otherwise an error will be raised.

    No other Tx power level can be set for  CC2541 ? 

    Regards,

    Atul

  • Hi,

    Yes, I am saying only the values HCI_EXT_TX_POWER_MINUS_23_DBM, HCI_EXT_TX_POWER_MINUS_6_DBM, HCI_EXT_TX_POWER_0_DBM can be passed to the function for CC2541.

    Best regards,

  • ok thanks .