Other Parts Discussed in Thread: SYSCONFIG
How can I set BLE TX power to 20 dB in cc1352p custom board?
Modified syscfg BLE radio configuration and checked "High PA" checkbox, however, the default Tx power cannot exceeds 5dBm
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.
This is tied to what you select as "Based on RF Design". The Launchpad you have selected has the 20 dBm path on 915 MHz and therefore you will not be able to select higher than 5 dBm on 2.4 GHz.
If you select a different Launchpad, then you should be able to select 20 Bm:
How have you setup the project to start with?
Have you selected "Use Custom Board" (not required if your design uses the same pins as the Launchpad)
The reason I ask is that it's not possible to just change the "Based on RF Design" without getting errors in syscfg.
Are you able to import an example for the CC1352P-2 Launchpad and start from there?
To test this I imported "simple_peripheral_CC13X2P1 (From the 5.20 SDK)
Then I selected "Use Custom Board".
Changing "Based On RF Design" under "BLE" and "RF Design" to LAUNCHXL-CC1352P-2 made it possible to select 20 dBm.
I'm able to set this to 20 dBm:
The max default will follow the max for "TX Power (dBm)"
Hi,
Thanks, I have managed to modify Default BLE TX power to 20dBm.
Our custom board RF design support PA path of both 868Mhz / 2.4Ghz.
We would like to assign PA to the frequency band during program initialization ( run time) according to the user configuration saved on flash.
Unfortunately, PA is now assigned to frequency band on compilation via syscfg.
How can assign PA to frequency band on run time?
Do you mean that you have designed you board to support 20 dBm both for 868 MHz and 2.4 GHz? If so, how have you done the matching to support both bands?
I need to better understand your implementation before I'm able to answer the rest of the question.
Hi,
We use a wide range balun for PA path support of 868/2.4Ghz.
Our deviec uses propritry 868Mhz and BLE for mobile phone configuration.
User can set output power for 868Mhz and BLE separately.
We would like to assign PA to the frequency band during program initialization ( According to user configuration).
Since none of our reference designs uses this configuration, syscfg has not been designed to handle this case. Syscfg only allow 20 dBm on either 868/ 915 MHz or 2.4 GHz.
To support what you want to I believe the easiest would be to disable syscfg after you have done the setup you are able to do with this tool and then change ti_radio_config.c. For your use this has to be containing both overrides and 20 dBm PA tables for 868 MHz and 2.4 GHz (copy/ paste from a couple of projects that use the PA on these frequency bands). Then ensure that the wanted override/ PA table is used.
From my understanding, BLE is limited to 10 dBm. Have you looked into this?
Hi,
Thanks for the quick reply.
EasyLink_setRfPower() will set Tx power also to BLE ( 2.4Ghz) or is there a separate API to set BLE Tx output power?
I'm aware of BT tx power limitation ( 10dBm) for regulatory compliance, However, we still want to use max output power ( 20dBM) on the BLE path for specific applications/customers.
Hi Amit,
If you are using the BLE stack, you can use the HCI_EXT_SetTxPowerCmd() to set the Tx power. (API description: https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_5_30_01_01/docs/ble5stack/ble_user_guide/doxygen/ble/html/group___h_c_i.html#gafb44c5a388a047db7c3c4d0a4ac57320 ).
Ever since Bluetooth 5.1 you are allowed to use up to 20 dBm with BLE (local regulations still apply, of course).
Cheers,
Marie H
Hi Marie,
Not sure it makes any difference:
BLE Tx power is not the same for Advertisement and connection packets?
As mentioned, If I modify ICALL initial parameters , for example:
user0Cfg.boardConfig->txPwrTbldefaultTxPwrVal = LL_EXT_TX_POWER_P2_19_DBM;
I can see BLE Tx power is increased ( Both by checking power consumption and by rssi on a mobile phone).
invoking HCI_EXT_SetTxPowerCmd() during run time makes no difference on both Advertisement packets or connection packets.
Hi Amit,
For ADV packets, you can select a Tx power for each advertisement set in SysConfig: RF STACKS-> BLE-> Broadcaster Configuration -> Advertisement Set X-> Advertisement Parameters X -> Tx power -> Set to Tx Power value. You will then get an additional setting, TX Power value, where you can select the Tx power.
Cheers,
Marie H
Hi Marie,
We need to set ADv Tx power dynamically according to desired power level saved the flash memory,
Tried using GapAdv_setParam(advHandleLegacy, GAP_ADV_PARAM_TX_POWER, &ble_tx_power), but it also makes no difference.
Hi Marie,
Added new app msg to SimplePeripheral, Changing Tx power is working now:
case SP_ADV_PARAM_TX_POWER_EVT:
// Stop advertising to allow Tx power change
GapAdv_disable(advHandleLegacy);
// Set new Tx power
GapAdv_setParam(advHandleLegacy, GAP_ADV_PARAM_TX_POWER, (int8_t*)(pMsg->pData));
// Start advertising
GapAdv_enable(advHandleLegacy, GAP_ADV_ENABLE_OPTIONS_USE_MAX , 0);
break;