You are reading a single comment by @Gordon and its replies. Click here to read the full conversation.
  • what is purpose of Bluetooth: ON if it requires you to press Make Connectable every time you toggle it ON?

    It doesn't - or it shouldn't. Once Bluetooth is ON you should be good to go.

    Make Connectable doesn't work/recover it unless I use 'Turn Off' feature.

    Is it possible that some other device is trying to connect to it in the background?

  • Is it possible that some other device is trying to connect to it in the background?

    Well, I'm using Node-red via EspruinoHub Debug printing the advertising? Does that count as a connection? not sure. It does have written "Connected" in green by the MQTT Listener In.

    I'm trying hard to reproduce the bug, but its very hard.. :(

  • what is purpose of Bluetooth: ON if it requires you to press Make Connectable every time you toggle it ON?

    It doesn't - or it shouldn't. Once Bluetooth is ON you should be good to go.

    Make Connectable doesn't work/recover it unless I use 'Turn Off' feature.

    Is it possible that some other device is trying to connect to it in the background?

    Okay, well I can see the current behavior is that , "Make Connectable" is controlling NRF.wake and NRF.sleep. Its also setting ble.ON and ble.OFF.

    If we agree that NRF.wake is that which triggers 'advertising' packets and ble.ON does not call NRF.wake anywhere, its understandable why its necessary to press Make Connectable after ble.ON. I just find its confusing a bit counter-intuitive to have an extra setting that seems to do same task. Under the hood there is only the wake and sleep? And thats for both advertising and other bluetooth features like scanning and outbound GATT requests?

    Of course when you reload clock/home , it is calling NRF.sleep if ble.Off. But there is no where to be found NRF.wake ?

    If however, the purpose of Make connectable is to separate functionality, inbound/outbound, there still remains an issue with Make connectable:No as it sets BLE.off, which would disable ALL features? That might not be the case if outbound ble requests will automatic wake from NRF.sleep, BUT it would be strange that a device can do bluetooth operations whilst user knowing a setting named bluetooth is set to off in settings.

    TLDR: BLE.on means NRF.Sleep won't be called when clock is loaded /reset. But its not actually on until NRF.Wake is called by an app or in our case "Make Connectable" in settings app.

About

Avatar for Gordon @Gordon started