nRF5 SDK is not maintained anymore
More Info: Consider nRF Connect SDK for new designs

Increase tx_power_level

Hello,

I am using nrf52832 and i am using a SW similar to the beacon.

I tried 2 configuration:

  • tx_power = 0 (0 dbm)
  • tx_power = 4 (4 dbm)

I tried to measure the power consumption and RSSI level in both configuration, but i didn't found any difference. the 4 dbm should actually use more power and improve the RSSI level but the output from both are very similar.

I am sure that the configuration was set correctly, but i don't know what possibly went wrong.

Could you please support me?

Looking forward to hearing from you soon.

Best regards.

Parents
  • Hello,

    Thank you very much for your answer.

    • 1st point: We are using:
    sd_ble_gap_tx_power_set(BLE_GAP_TX_POWER_ROLE_ADV, m_adv_handle, radio_strength);
    radio_strength = 0 or 4 depending on the test condition.
    we are storing radio_strength in the flash and we output the value on the serial to check the current value at the start time of the SW
    int extract_radio_strength(uint32_t flash_storage_value){
       int radio_strength;
       switch((flash_storage_value & 0xF00000)>>20){
         case 0:
           radio_strength = -40;
           return radio_strength;
         case 1:
           radio_strength = -20;
           return radio_strength;
         case 2:
           radio_strength = -16;
           return radio_strength;
         case 3:
           radio_strength = -12;
           return radio_strength;
         case 4:
           radio_strength = -8;
           return radio_strength;
         case 5:
           radio_strength = -4;
           return radio_strength;
         case 6:
           radio_strength = 0;
           return radio_strength;
         case 7:
           radio_strength = 3;
           return radio_strength;
         case 8:
           radio_strength = 4;
           return radio_strength;
         default:
           radio_strength = 0;
           return radio_strength;
       }
    }
    • 2nd point:

    Why we cannot see much difference when we look at the RSSI on a receiver side over the air? the main reason we increase the power of transmission is that we can send our packet to longer distance and check lower RSSI on the receiver side.

    Looking forward to your reply.

    Best regards.

Reply
  • Hello,

    Thank you very much for your answer.

    • 1st point: We are using:
    sd_ble_gap_tx_power_set(BLE_GAP_TX_POWER_ROLE_ADV, m_adv_handle, radio_strength);
    radio_strength = 0 or 4 depending on the test condition.
    we are storing radio_strength in the flash and we output the value on the serial to check the current value at the start time of the SW
    int extract_radio_strength(uint32_t flash_storage_value){
       int radio_strength;
       switch((flash_storage_value & 0xF00000)>>20){
         case 0:
           radio_strength = -40;
           return radio_strength;
         case 1:
           radio_strength = -20;
           return radio_strength;
         case 2:
           radio_strength = -16;
           return radio_strength;
         case 3:
           radio_strength = -12;
           return radio_strength;
         case 4:
           radio_strength = -8;
           return radio_strength;
         case 5:
           radio_strength = -4;
           return radio_strength;
         case 6:
           radio_strength = 0;
           return radio_strength;
         case 7:
           radio_strength = 3;
           return radio_strength;
         case 8:
           radio_strength = 4;
           return radio_strength;
         default:
           radio_strength = 0;
           return radio_strength;
       }
    }
    • 2nd point:

    Why we cannot see much difference when we look at the RSSI on a receiver side over the air? the main reason we increase the power of transmission is that we can send our packet to longer distance and check lower RSSI on the receiver side.

    Looking forward to your reply.

    Best regards.

Children
Related