how is delivery of data guaranteed (if it is at all)?
I believe some level of retransmit/error correction is done by the Bluetooth stack - it seems pretty reliable for code uploads anyway
Is there any sort of flow control available that can he used for this?
Not yet, so you'd have to implement your own. Espruino itself can implement software XON/XOFF flow control on Serial, but so far that hasn't been extended for use with Bluetooth.
Maximum characters that can be send at once is 20 I think?
Yes. If you're sending from Espruino then it will automatically 'chunk' everything for you. When you're sending to Espruino then yes, you have to split at 20 chars.
Is there a way to increase the MTU at the moment?
There's a branch of the code that implements this (https://github.com/espruino/Espruino/tree/increased_mtu) but it's not merged yet as it permanently uses a chunk of RAM and I need to decide if that's a good idea or maybe whether there's a trade-off (eg. 100 byte MTU rather than the full amount).
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.
I believe some level of retransmit/error correction is done by the Bluetooth stack - it seems pretty reliable for code uploads anyway
Not yet, so you'd have to implement your own. Espruino itself can implement software XON/XOFF flow control on Serial, but so far that hasn't been extended for use with Bluetooth.
Yes. If you're sending from Espruino then it will automatically 'chunk' everything for you. When you're sending to Espruino then yes, you have to split at 20 chars.
There's a branch of the code that implements this (https://github.com/espruino/Espruino/tree/increased_mtu) but it's not merged yet as it permanently uses a chunk of RAM and I need to decide if that's a good idea or maybe whether there's a trade-off (eg. 100 byte MTU rather than the full amount).