Configuring and setting the TX power in BLE ADVertisement and connection.

Hello everyone. 

i want to configure the TX power of the NRF radio in BLE advertisement and connection of the NRF54L15 MCU. I am using the nrf Connect SDK version  2.7.0. the Online Documentation show me to use  CONFIG_BT_CTLR_TX_PWR_MINUS_<X> or CONFIG_BT_CTLR_TX_PWR_PLUS_<X> in the prj.conf file. But after setting the TX Power to +8db here (CONFIG_BT_CTLR_TX_PWR_PLUS_8=y). i don't get the correct power output as when i read the NRF_RADIO->TXPWR register in case of advertisement and connection. i get the value of -2dbm. i am not understanding why it this so. also i did'nt see any API provided by Zephyr's to control the TX and RX power of Radio. please help me in this.

Parents
  • Hello,

    Which specific samples form NCS you are working on, or it is your custom project?

    Thanks.

    BR

    Kazi

  • Hello, 
    Actually i am working on a ncs sample. 
    This sample can be found under samples/bluetooth/peripheral_gatt_write in the Zephyr tree.
    here is my project config file   prj.conf

    CONFIG_BT=y

    CONFIG_BT_PERIPHERAL=y

    CONFIG_BT_SMP=y

    CONFIG_BT_GATT_CLIENT=y

    CONFIG_BT_DEVICE_NAME="Zephyr GATT Write"

    CONFIG_BT_BUF_ACL_RX_SIZE=255

    CONFIG_BT_BUF_ACL_TX_SIZE=251

    CONFIG_BT_BUF_CMD_TX_SIZE=255

    CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=255

    CONFIG_BT_L2CAP_TX_MTU=247

    CONFIG_LOG=y

    # Enable logging backend (e.g., UART for console output)

    CONFIG_LOG_BACKEND_UART=y

    CONFIG_UART_CONSOLE=y       # Enable UART console for printk and logs

    CONFIG_PRINTK=y

    CONFIG_STDOUT_CONSOLE=y

    # CONFIG_BT_PHY_UPDATE=y

    # CONFIG_BT_USER_PHY_UPDATE=y

    # CONFIG_BT_CTLR_DATA_LENGTH_MAX=251

    # CONFIG_BT_CTLR_ADV_EXT=y

    CONFIG_BT_CTLR_TX_PWR_PLUS_8=y

    # CONFIG_BT_CTLR_TX_PWR_0=y

    # CONFIG_BT_CTLR_TX_PWR_PLUS_8=y

    # CONFIG_BT_CTLR_TX_PWR_ANTENNA=y%

Reply
  • Hello, 
    Actually i am working on a ncs sample. 
    This sample can be found under samples/bluetooth/peripheral_gatt_write in the Zephyr tree.
    here is my project config file   prj.conf

    CONFIG_BT=y

    CONFIG_BT_PERIPHERAL=y

    CONFIG_BT_SMP=y

    CONFIG_BT_GATT_CLIENT=y

    CONFIG_BT_DEVICE_NAME="Zephyr GATT Write"

    CONFIG_BT_BUF_ACL_RX_SIZE=255

    CONFIG_BT_BUF_ACL_TX_SIZE=251

    CONFIG_BT_BUF_CMD_TX_SIZE=255

    CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=255

    CONFIG_BT_L2CAP_TX_MTU=247

    CONFIG_LOG=y

    # Enable logging backend (e.g., UART for console output)

    CONFIG_LOG_BACKEND_UART=y

    CONFIG_UART_CONSOLE=y       # Enable UART console for printk and logs

    CONFIG_PRINTK=y

    CONFIG_STDOUT_CONSOLE=y

    # CONFIG_BT_PHY_UPDATE=y

    # CONFIG_BT_USER_PHY_UPDATE=y

    # CONFIG_BT_CTLR_DATA_LENGTH_MAX=251

    # CONFIG_BT_CTLR_ADV_EXT=y

    CONFIG_BT_CTLR_TX_PWR_PLUS_8=y

    # CONFIG_BT_CTLR_TX_PWR_0=y

    # CONFIG_BT_CTLR_TX_PWR_PLUS_8=y

    # CONFIG_BT_CTLR_TX_PWR_ANTENNA=y%

Children
Related