You are reading a single comment by @DanTheMan827 and its replies. Click here to read the full conversation.
  • Well, I was referring to the BLE UART, not a physical serial connection.

    Flushing the transmit buffer isn’t a huge deal, I currently just set a timeout, but if there was a way to pause js execution until the last BLE UART packet has been sent, it could definitely simplify things and eliminate guessing.

    I only really have one situation where I don’t want the buffer combined with previous repl output, but that’s just when I move it to Serial1 and send a string to let other end know I’m ready.

    The receive buffer has the workaround mentioned above, although one thing that might be helpful is a way to tell espruino to not fire the next on(data) event until so many bytes have been received, with the option of a timeout.

    Maybe something like this to receive 500 bytes with a max timeout of 100ms between rx events Bluetooth.receive(500, 100, dataReceived, rxTimeout)

    My project might not be typical, but I chose to forego the REPL console on Bluetooth for the additional speed of sending data.

    An example of an exchange is

    -> 0x03 0x01
    <- 0x03 0x01
    -> (572 bytes)
    <- 0x03 0x01

About