With the BT121 are BLE and classic Bluetooth connections possible. To set the TX power of the classical Bluetooth there is the function "bt_gap_set_max_power (power)". My question is, how can I set the TX power for BLE?
I found out that for BLExxx modules this can be set in the hardware.xml or with the function "hardware_set_txpower (power)". For the BT121 both not working.
There is a similar command for LE, its called dumo_cmd_le_gap_set_max_power();
If you are given a newer unofficial firmware/SDK to test with by the support team (requires opening a private case starting from http://www.silabs.com/support/Pages/default.aspx, "Create a Support Request" button) the related API reference is found in the dumo.html which is under the directory /hostbgapi/ of the SDK.
In it you will find the two BGAPI/BGScript commands bt_gap_set_max_power and le_gap_set_max_power for configuring the max RF TX power during runtime independently for the Bluetooth Classic part and the Low Energy part.
The parameter of the first command can range from -20 to +12 and corresponds roughly to the desired RF TX power in dBm, while with the latter command for the BLE part the values for the parameter can be from 0 to 5 where 0=7dBm (default), 1=2dBm, 2=-3dBm, 3=-8 dBm, 4=-13 dBm, 5=-18 dBm
I am having a problem with bt_gap_set_max_power() as well.
Using Bgtool 1.0.0 build 97, it's not a beta version
calling bt_gap_set_max_power in system_initialized() works when calling this alone,
when combining bt_gap_set_mode(), it makes the module hang up.
it does not matter bt_gap_set_mode(1,1,0), or bt_gap_set_mode(0,0,0). (although, I want (0,0,0)) so the BT classic only discover others devices.
Anytime these 2 functions are called it will hang the module.
The problem caused by the bt_gap_set_mode and bt_gap_set_max_power calls appearing together under the system_initialized event is already fixed.
While waiting for the next official firmware/SDK to be published you might want to ask for a beta version to test with and verify that the problem is gone. In order to obtain the latest beta firmware please contact our support team directly by opening a private case here: http://www.silabs.com/support/Pages/default.aspx ("Create a Support Request" button)