nRF52833 Tx Power to 8dBm

Hello fellow developers,

we're evaluating the BL653 (nRF52833 chip) for our application using the ESB protocol (BLE).

I'm using Zephyr RTOS + nRF Connect SDK + NCS 1.9.1 here.

Currently, according to the API, the maximum transmit power available (enum esb_tx_power) is 4dBm.

But according to the specs of the device (Laird) it may reach up to 8dBm.

Is there a way to "hack" it and get the 8dBm via the API?

Thanks in advance,

  • It seems like the solution is pretty simple, just have added to enum esb_tx_power in esb.h the following:

    ESB_TX_POWER_8DBM = RADIO_TXPOWER_TXPOWER_Pos8dBm
    The final enum looks like this:
    enum esb_tx_power {
    	ESB_TX_POWER_8DBM = RADIO_TXPOWER_TXPOWER_Pos8dBm, 
    	/** 4 dBm radio transmit power. */
    #if !defined(CONFIG_SOC_NRF5340_CPUNET)
    	ESB_TX_POWER_4DBM = RADIO_TXPOWER_TXPOWER_Pos4dBm,
    #endif
    #if defined(CONFIG_SOC_SERIES_NRF52X)
    	/** 3 dBm radio transmit power. */
    	ESB_TX_POWER_3DBM = RADIO_TXPOWER_TXPOWER_Pos3dBm,
    #endif
    	/** 0 dBm radio transmit power. */
    	ESB_TX_POWER_0DBM = RADIO_TXPOWER_TXPOWER_0dBm,
    	/** -4 dBm radio transmit power. */
    	ESB_TX_POWER_NEG4DBM = RADIO_TXPOWER_TXPOWER_Neg4dBm,
    	/** -8 dBm radio transmit power. */
    	ESB_TX_POWER_NEG8DBM = RADIO_TXPOWER_TXPOWER_Neg8dBm,
    	/** -12 dBm radio transmit power. */
    	ESB_TX_POWER_NEG12DBM = RADIO_TXPOWER_TXPOWER_Neg12dBm,
    	/** -16 dBm radio transmit power. */
    	ESB_TX_POWER_NEG16DBM = RADIO_TXPOWER_TXPOWER_Neg16dBm,
    	/** -20 dBm radio transmit power. */
    	ESB_TX_POWER_NEG20DBM = RADIO_TXPOWER_TXPOWER_Neg20dBm,
    	/** -30 dBm radio transmit power. */
    	ESB_TX_POWER_NEG30DBM = RADIO_TXPOWER_TXPOWER_Neg30dBm,
    	/** -40 dBm radio transmit power. */
    	ESB_TX_POWER_NEG40DBM = RADIO_TXPOWER_TXPOWER_Neg40dBm
    };
Related