@AntiCat I've got v90.12 also but I'm still having problems. There's something going on inside EspruinoHub with a function within noble called discoverAllServicesAndCharacteristics(). It should return very quickly with arrays of services and characteristics, but most of the time it doesn't and the connect process times out after 4 seconds. At the puck end I see a connection followed by an immediate disconnect. It shouldn't disconnect and that's probably why discoverAllServicesAndCharacteristics() doesn't pass back any data. These are the messages:
<Connect> Timed out getting services. Disconnecting.
<Connect> Disconnect error: TypeError: value is out of bounds
The second error is because the timeout is trying to disconnect but the device is already disconnected.
I wrote my own javascript that uses noble and runs at the command line to do similar and I get the same results. Oddly if I do an explicit connect followed only by an explicit disconnect, all of the above works but only one time. It's maddening. In my javascript I changed the logic to do separate discover services and discover characteristics and now that part is working better. I also tweaked the logic to allow writing up to 60 characters vs 20. I might try similar changes to the EspruinoHub logic and see if that helps at all.
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.
@AntiCat I've got v90.12 also but I'm still having problems. There's something going on inside EspruinoHub with a function within noble called discoverAllServicesAndCharacteristics(). It should return very quickly with arrays of services and characteristics, but most of the time it doesn't and the connect process times out after 4 seconds. At the puck end I see a connection followed by an immediate disconnect. It shouldn't disconnect and that's probably why discoverAllServicesAndCharacteristics() doesn't pass back any data. These are the messages:
The second error is because the timeout is trying to disconnect but the device is already disconnected.
I wrote my own javascript that uses noble and runs at the command line to do similar and I get the same results. Oddly if I do an explicit connect followed only by an explicit disconnect, all of the above works but only one time. It's maddening. In my javascript I changed the logic to do separate discover services and discover characteristics and now that part is working better. I also tweaked the logic to allow writing up to 60 characters vs 20. I might try similar changes to the EspruinoHub logic and see if that helps at all.