cancel
Showing results for 
Search instead for 
Did you mean: 

Is it possible to change (reduce) the transmission power of the stm32wb using software? What is the minimum tansmit power?

JSido
Associate II
 
3 REPLIES 3
Scott Löhr
Senior II

It looks like -40 dBm is the minimum...

/**

 * @brief This command sets the TX power level of the device. By controlling the

PA_LEVEL, that determines the output power level (dBm) at the IC pin.

When the system starts up or reboots, the default TX power level will be used, which is the

maximum value of 6 dBm. Once this command is given, the output power will be changed

instantly, regardless if there is Bluetooth communication going on or not. For example, for

debugging purpose, the device can be set to advertise all the time. And use this

command to observe the signal strength changing.

The system will keep the last received TX power level from the command, i.e. the 2nd

command overwrites the previous TX power level. The new TX power level remains until

another Set TX Power command, or the system reboots.

 * @param En_High_Power Enable High Power mode - Deprecated and ignored on STM32WB

 * Values:

 - 0x00: Standard Power

 - 0x01: High Power

 * @param PA_Level Power amplifier output level. Output power is indicative and it depends on the PCB layout and associated

components.Here the values are given at the IC pin

 * Values:

 - 0x00: -40 dBm

 - 0x01: -20.85 dBm

 - 0x02: -19.75 dBm

 - 0x03: -18.85 dBm

 - 0x04: -17.6 dBm

 - 0x05: -16.5 dBm

 - 0x06: -15.25 dBm

 - 0x07: -14.1 dBm

 - 0x08: -13.15 dBm

 - 0x09: -12.05 dBm

 - 0x0A: -10.9 dBm

 - 0x0B: -9.9 dBm

 - 0x0C: -8.85 dBm

 - 0x0D: -7.8 dBm

 - 0x0E: -6.9 dBm

 - 0x0F: -5.9 dBm

 - 0x10: -4.95 dBm

 - 0x11: -4 dBm

 - 0x12: -3.15 dBm

 - 0x13: -2.45 dBm

 - 0x14: -1.8 dBm

 - 0x15: -1.3 dBm

 - 0x16: -0.85 dBm

 - 0x17: -0.5 dBm

 - 0x18: -0.15 dBm

 - 0x19: 0 dBm

 - 0x1A: +1 dBm

 - 0x1B: +2 dBm

 - 0x1C: +3 dBm

 - 0x1D: +4 dBm

 - 0x1E: +5 dBm

 - 0x1F: +6 dBm

 * @retval Value indicating success or error code.

*/

tBleStatus aci_hal_set_tx_power_level(uint8_t En_High_Power,

                                     uint8_t PA_Level);

Scott Löhr
Senior II

@JSido​ - so this did not answer your question?

JSido
Associate II

Yes it did, thank you very much. :)