set tx power level in nrf52810

Hello,

i am using nrf52810 and with my custom board and i want to know the tx power level of that and is it possible to change the range please let me know where to get and how to configure it??.

thank tou.

Parents
  • Hello,

    You can change they TX power level by using the sd_ble_gap_tx_power_set function. The valid TX power level configuration for the nRF52810 can be seen in its RADIO TXPOWER register documentation.

    Best regards,
    Karl

  • Hello ,

    thanks for the reply Karl, actually i am using ble_app_template example for advertising the sensor data for connectable beacon since here i have used this function already but i don't think so the value has changed. so for more details please check my code . here the cod

    at the starting i have added below line,
    
    static uint8_t  m_adv_handle = BLE_GAP_ADV_SET_HANDLE_NOT_SET;
    
    
    after this in advertising_init function i made this changes,
    
    static void advertising_init(void)
    {
        ret_code_t             err_code;
        ble_advertising_init_t init;
    
        memset(&init, 0, sizeof(init));
    
        int8_t tx_power_level = -40;
        sd_ble_gap_tx_power_set(BLE_GAP_TX_POWER_ROLE_ADV,m_adv_handle,tx_power_level);
    
    
        init.advdata.name_type               = BLE_ADVDATA_FULL_NAME;
        init.advdata.include_appearance      = true;
        init.advdata.flags                   = BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE;
        init.advdata.uuids_complete.uuid_cnt = sizeof(m_adv_uuids) / sizeof(m_adv_uuids[0]);
        init.advdata.uuids_complete.p_uuids  = m_adv_uuids;
    
        init.config.ble_adv_fast_enabled  = true;
        init.config.ble_adv_fast_interval = APP_ADV_INTERVAL;
        init.config.ble_adv_fast_timeout  = APP_ADV_DURATION;
    
        init.evt_handler = on_adv_evt;
    
        err_code = ble_advertising_init(&m_advertising, &init);
        APP_ERROR_CHECK(err_code);
    
        ble_advertising_conn_cfg_tag_set(&m_advertising, APP_BLE_CONN_CFG_TAG);
    }
    
    e snippet that i have added ,

  • m_advertising.adv_handle

    Yes, without any errors my code is working now but when i kept tx power value=0 dbm in nrf mobile app it shows -48 to -50 dbm . and if i set -20dbm then it shows -68dbm to -70 dbm .i have doubt that all softdevices have 0 dbm as a default tx power value so then i can i calculate it for meters like how dbm is equal to 1 meter.??

    thank you.

  • I am happy to hear that it functions as expected now!

    sagarnayakm said:
    i can i calculate it for meters like how dbm is equal to 1 meter.??

    The Received Signal Strength Indicator (RSSI) is dependent on a lot of external factors, not just the TXPOWER, and thus it can not be used as an accurate distance measurement. It is also therefore not possible to calculate it based on the distance, since the value will fluctuate based on things like line-of-sight, RF noise, multipath, obstacles in the environment, etc.

    Best regards,
    Karl

  • Hello ,

    thank you so much mr.karl for your valuable information, the issue has been resolved.Blush

  • sagarnayakm said:
    the issue has been resolved.

    Great, I am glad to hear that, sagarnayakm! :) 

    sagarnayakm said:
    thank you so much mr.karl for your valuable information

    No problem at all, I am happy to help!

    Please do not hesitate to open another ticket if you should encounter any other issues or questions in the future.

    Good luck with your development!

    Best regards,
    Karl

  • Hello ,

    hi mr.Karl Ylvisaker actually sorry for this question, i have query to ask you but the same query i have raised in devzone and someone answered me but i stuck in that custom characteristics, still i didn't get any reply from him.

    the query regarding send a data from nrf connect mobile app to device here i am using ble_app_template example with SDK version 17.0.2 since he told me to use the custom characteristics service by following this tutorial link https://github.com/edvinand/custom_ble_service_example so i started working on it but first part BLE should advertise the custom UUID but in my case its not advertising . so what is the problem i don't know , in the tutorial they have mentioned to use 16.0. version but i am using17.0.2 so is that a problem ??.

    thank you.  

Reply
  • Hello ,

    hi mr.Karl Ylvisaker actually sorry for this question, i have query to ask you but the same query i have raised in devzone and someone answered me but i stuck in that custom characteristics, still i didn't get any reply from him.

    the query regarding send a data from nrf connect mobile app to device here i am using ble_app_template example with SDK version 17.0.2 since he told me to use the custom characteristics service by following this tutorial link https://github.com/edvinand/custom_ble_service_example so i started working on it but first part BLE should advertise the custom UUID but in my case its not advertising . so what is the problem i don't know , in the tutorial they have mentioned to use 16.0. version but i am using17.0.2 so is that a problem ??.

    thank you.  

Children
Related