Set +3dbm power on nrf5340

Hello,

We want to set Tx power of +3dbm i followed the procedure as mentioned in following ticket:

 nRF5340 Radio Tx power 

I set the high voltage in network core main as following:

	nrf_vreqctrl_radio_high_voltage_set(NRF_VREQCTRL, true);
	while(!nrf_vreqctrl_radio_high_voltage_check(NRF_VREQCTRL));
	if (nrf_vreqctrl_radio_high_voltage_check(NRF_VREQCTRL)) {
		LOG_DBG("VREQH configuration success");
	} else {
		LOG_DBG("VREQH configuration failed");
	}

we set value 3 using 

bt_hci_cmd_send_sync(BT_HCI_OP_VS_WRITE_TX_POWER_LEVEL,
buf, &rsp);


While testing with analyzer we get +1.8dbm value.


Can you help us how we can get exact +3dbm?

Regards

Parents
  • Hi mapg,

    There are no known issues in software that could lead to your observation.

    What SDK version are you working on? I notice you are not using a public API, could you please give some insights into why you made that decision?

    It could also very well be something with your hardware design. We could take a look at your hardware files. If you wish to proceed with that, let's turn this question into a private one and continue.

    Best regards,

    Hieu

  • Hi Hieu.

    I am using ncs 1.9.1. Which is the public API for this configuration?

  • Hi mapg,

    My apology for claiming it to be not a public API. I cannot find it in the documentation and thought that it is some inner functions being used directly.
    It seems that it is the way to do it, as officially demonstrated in the Bluetooth: HCI Power Control Zephyr sample.

    Just to be sure that software is not the problem, could you please share how buf is setup in your call to bt_hci_cmd_send_sync()?

    Meanwhile, I cannot find an alternative way to set TX Power via software (so as to rule out software as a potential cause).

    If it turns out to be not software, would you mind sharing your hardware files for a review?

    Best regards,

    Hieu

  • Hello Hieu,

    We are already using the bt_hci_cmd_send_sync and its working values -40dbm, 0dbm.
    But for 3dbm its not giving the correct measurements.

    I am doing doing the configuration in following order:


    • Enable the high voltage on RADIO using  nrf_vreqctrl_radio_high_voltage_set
    • The setting the Tx power as mentioned in the Bluetooth: HCI Power

    Is there any stack configuration i am missing? Which needs to be enabled.
    Another question Do the stack already configured to have maximum 3dbm value? May be there is some define in the stack which set the maximum to 0dbm.

    I am passing 3 as argument to set_tx_power for setting 3dbm.

    I have seen that in hal/nrf5/radio/radio_nrf5340.h


    Which says the maximum power is 0dbm. Then how the 3dbm can be configured?

     

Reply
  • Hello Hieu,

    We are already using the bt_hci_cmd_send_sync and its working values -40dbm, 0dbm.
    But for 3dbm its not giving the correct measurements.

    I am doing doing the configuration in following order:


    • Enable the high voltage on RADIO using  nrf_vreqctrl_radio_high_voltage_set
    • The setting the Tx power as mentioned in the Bluetooth: HCI Power

    Is there any stack configuration i am missing? Which needs to be enabled.
    Another question Do the stack already configured to have maximum 3dbm value? May be there is some define in the stack which set the maximum to 0dbm.

    I am passing 3 as argument to set_tx_power for setting 3dbm.

    I have seen that in hal/nrf5/radio/radio_nrf5340.h


    Which says the maximum power is 0dbm. Then how the 3dbm can be configured?

     

Children
Related