Wow, thanks for digging into this - that's really interesting!
So Bangle.js (and Bluetooth Espruino in general) has a power save mode that moves to a low power mode after ~1 minute of inactivity, and then after some data is sent it requests the 7.5ms mode.
However if NRF.setConnectionInterval(7.5) had taken effect, that mode should be disabled and it shouldn't be sending the 'Connection Parameter Update Request'...
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Wow, thanks for digging into this - that's really interesting!
So Bangle.js (and Bluetooth Espruino in general) has a power save mode that moves to a low power mode after ~1 minute of inactivity, and then after some data is sent it requests the 7.5ms mode.
However if
NRF.setConnectionInterval(7.5)
had taken effect, that mode should be disabled and it shouldn't be sending the 'Connection Parameter Update Request'...The low power stuff is handled by the
DYNAMIC_INTERVAL_ADJUSTMENT
ifdefs, and it should get reset with the code here on disconnect https://github.com/espruino/Espruino/blob/master/targets/nrf5x/bluetooth.c#L1148But... maybe something about the way it disconnects when out of range causes that code not to work?