Checks if Lua is in the REPL/break by sending a simple print command and expecting a response.
If Lua is in the REPL/break state, it will respond with the printed output and we return true.
If a Lua main loop is running, it will not respond to the print command within the short timeout, and we return false.
Same as sendData but user includes the 0x01 header byte to avoid extra memory allocation
awaitBtResponse indicates whether to wait for a bluetooth-level ack from the write operation (write-without-response/write-with-response)
awaitAppResponse indicates whether to wait for an application-level ack from the data handler on the device
validateHeader indicates whether to check that the first byte is 0x01 (true for data tx, false for audio)
timeout indicates how long to wait for the application-level ack before timing out
Sends a typed message as a series of messages to Frame as chunks marked by
[0x01 (dataFlag), messageFlag & 0xFF, {first packet: length(Uint16)}, payload(chunked)]
until all data in the payload is sent. Payload data cannot exceed 65535 bytes in length.
Can be received by a corresponding Lua function on Frame.