My application with the BC127 will be within a meter from the host smartphone. I’ve combed through the datasheet and I cannot find any mention of turning down the RF output power. The spec page for it on Sierra’s website mentions that its <10dBm for BLE and <4dBm for BT Classic. Is there any way to tune this down to say 0dBm or -2dBm for both?
I would like to save as much power as possible, and preferably change the power dynamically on the fly (e.g. ramp down RF power during idle states or unpaired and ramp it back up during music streaming). But I assume the only way I can adjust it period is to mess with the PSKeys?
Alternatively, I’m figuring out how to configure the timeout from when the chip receives a UART character during deep sleep and when it goes back into deep sleep? The datasheet mentions a 1 second delay, but I keep running into the ERROR 0x0012 problem, even when I include an extra CR before and some delay. As well as the timeout of going into Deep Sleep while connected.
Unfortunately you are correct with regards the power, it is hardcoded. When we certify the unit we have to declare a power within its class to certify to and what is in the PTS is it, no way to dynamically change it on the fly. As you say if you wanted to modify it then you would need to play with the PSkeys.
For the deep sleep what is you scenario you are running? Also (really important bit) what firmware are you running?
Update on the above, been talking to people who clearly know more than me as I was wrong.
On the BC127 it is possible to change the power with the get/set commands TX_POWER (power in dBm).
TX_POWER 4 8
For BR/EDR the device supports power control so the LMP (Master) will decide on what power for the slave to transmit based on link budget and packet error rate. So there is a closed loop power control mechanism implemented in the Bluetooth specification. You set the default power and if the link degrades the LMP will tell the slave to increase power until the link gets better or you hit the max power limit on the device.
For LE you can set the max power for things like advertising but there is no closed loop power control in LE. As long as you certify at max power you can operate at powers below this supported by what levels you have in the power table.
Awesome thank you Matt.
I assume the first number is the default power output and the second is the maximum?
As with the deep sleep scenario, I’m running 6.1.5 apt. According to the datasheet after a specified amount of time (presumably set by the DISCOVERABLE config command if not connected or the LINK_POLICY if connected), if deep_sleep is enabled then it’ll enter that until a pair request or link activity. My question is can the time that the chip has to wait for: "After sending the carriage return, wait for 20ms (the chip wake-up time) and then send the
command. The chip will stay awake for 1s after the last byte is received on the UART. ", that 1 second delay. Be configured to a longer delay?
Also is the TX_POWER command going to be included in this upcoming FW release sometime this month? The successor to 6.1.5?
As TX_POWER doesn’t exist in 6.1.5.
Yes it is, had not spotted it was not in 6.1.5.