Currently, I'm trying to change the output power of Bluetooth.
I want to change it for the purpose that my device is only detected by a nearby device.
I think I can change the output power level by changing the register RF_ATTR_REG[PA_POWER_SETTING].
In the datasheets of DA14351, the followings are described.
- Table27: BLE 1Mb/s specification AC Characteristics
- Po_12, output power level, RF_ATTR_REG[PA_POWER_SETTING] = 12, 2.5dBm
- Po_11, output power level, RF_ATTR_REG[PA_POWER_SETTING] = 11, 1.5dBm
(snip)
- Po_1, output power level, RF_ATTR_REG[PA_POWER_SETTING] = 1, -19.5dBm
Therefore, I think we can change it by changing this register value.
There is no detail information about RF_ATTR_REG in the datasheet.
But, the SDK's header file "da14531.h" has a definition about this register.
I've experimented with it, but it doesn't seem to have changed.
(我试图set 1 to this register. And I read back it. The read-back value is 0.)
Would you please tell me if there is any good way/advice to change output power?
Thanks for the help.
Hi Takezawa123,
Thanks for your question and for your interest in our BLE solution.
In order to change the Tx power, please try to use the rf_pa_pwr_set() API – it is in the rf_531.h header file.
"Selects the Tx output power level. The selected value will be applied to hardware when set_recommended_settings() is called."
Thanks, PM_Dialog
Thank you for your answer.
It was very helpful.