RCVD is the missing KaiOS application and, first and foremost, a JS library that allows you to interact with a set of most recent Casio watches via Bluetooth 4.0LE communication protocol.
The list is incomplete and your watch may be supported too. Please let me know if this is the case!
The library can be used "as is" or as a building block for more advanced tools. For its purposes, it exposes several methods:
RCVD.connect() -> Promise- connect to a watch, perform the necessary handshake operations and resolve the Promise on success;
RCVD.disconnect()- disconnect from the currently connected watch's GATT server;
RCVD.sync(Date obj?) -> Promise- perform time synchronization with the optional Date object (if it's not passed, actual current local time will be set), running all the required DST/world time setting cycles before setting the actual time;
RCVD.getModel() -> String- return the watch model name obdained during the connection process;
RCVD.rawRead(uint8 param1, uint8 param2...) -> Promise(Uint8Array)- accept variable number of integer parameters and execute the read command on the watch, resolving to the result in a Uint8Array value;
RCVD.rawWrite(Uint8Array command) -> Promise- accept a write command shaped as byte data in Uint8Array and resolve on successful write operation.
The last two methods are not used in the app directly in their exposed format, but allow to use the library to easily create more advanced applications to interact with Casio watches based on already known protocol details, without having to worry about low-level connectivity bits.
Created by Luxferre in 2022. Both the app and the library are released into public domain.
Made in Ukraine.