h2zero / n-able-Arduino

An arduino core for ARM based BLE devices supported by the NimBLE stack.
GNU Lesser General Public License v2.1
35 stars 14 forks source link

NimBLEDevice::setPower(int dbm) not working as expected #31

Closed lilindian16 closed 11 months ago

lilindian16 commented 11 months ago

NRF52840-QIAA

n-able core version = 1.0.0 NimBLE-Arduino version = 1.4.1

platformio.ini config: _platform = https://github.com/h2zero/platform-n-able.git#1.0.0 framework = arduino lib_deps = h2zero/NimBLE-Arduino@^1.4.0 upload_protocol = jlink board = generic_nrf52840 debugtool = jlink

Using NimBLEDevice::setPower(int dbm) seems to not change the tx power from what I can tell.

Iterating through the following dbm values shows no change using LightBlue to read RSSI: {RADIO_TXPOWER_TXPOWER_Neg4dBm, RADIO_TXPOWER_TXPOWER_0dBm, RADIO_TXPOWER_TXPOWER_Pos3dBm, RADIO_TXPOWER_TXPOWER_Pos4dBm} Reading RSSI on LightBlue app shows no change between all four settings

The workaround I have used so far is changing nimconfig MYNEWT_VAL_BLE_LL_TX_PWR_DBM=0 to -MYNEWT_VAL_BLE_LL_TX_PWR_DBM=4 with platformio build flag build_flags = -DMYNEWT_VAL_BLE_LL_TX_PWR_DBM=4 Reading RSSI on LightBlue shows immediate change after device is flashed with new config

lilindian16 commented 11 months ago

Sorry, wrong repo. Will remove