NCS Mesh: TX Power register value does not change when changing TX Power via HCI

I am trying to control TX Power of Mesh using sample code from here: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/samples/bluetooth/hci_pwr_ctrl/README.html

I call set_tx_power(BT_HCI_VS_LL_HANDLE_TYPE_ADV, 0(int8_t) 4);

Function does not return with error, however value in TXPOWER register does not change.

Calling get_tx_power(BT_HCI_VS_LL_HANDLE_TYPE_ADV, 0, &tx_power); afterwards, returns expected value of 4.

Chip nRF52832.

prj.conf contains the following settings which might be related to issue:

CONFIG_BT_OBSERVER=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_SETTINGS=y
CONFIG_BT_LL_SOFTDEVICE=n
CONFIG_BT_LL_SW_SPLIT=y
CONFIG_BT_CTLR_ADVANCED_FEATURES=y
CONFIG_BT_CTLR_TX_PWR_DYNAMIC_CONTROL=y
CONFIG_BT_EXT_ADV=n
Mesh is also enabled and communication functions properly.

Could you please advice what can be wrong?

Parents Reply
  • Hi, 
    It's strange that even after the fix it doesn't work for you. 
    Since it's Zephyr controller, you will have to create an issue on github or use Discord as we don't have much experience with the controller. 
    My suggestion is to try step into the code to see why when you set the new TX Power it doesn't take any effect. The benefit of using Zephyr controller is that you can step into the stack and debug. 

Children
Related