Just like with the GeneralPlus characteristics, the first byte in the array determines the type of action / information while the other bytes are the actual content of the packet. The following lists are incomplete!
Commands are sent from the App to Furby's NordicWrite characteristic. The following list has been compiled from information in Furby Connect World's libFluff.so
, by sniffing BLE traffic and by trial and error:
0x01
: Get firmware version, responds with a FirmwareVersion packet0x03
: Get power report, responds with ReportPower packet0x04
: Communication test. Takes two bytes as parameters and responds with CommTest packet and the the inverse of the two parameter bytes.0x06
: Responds with GotTimeStamp, I don't know what this is for yet0x07
: Makes Furby disconnect, not sure if intentional0x08
: Responds with0x08
, I don't know what this is for0x09
: Takes parameters0x01:0x00
(enable) or0x00:0x00
(disable). Enables or disables GotPacketAck responses from Nordic while writing to FileWrite characteristic.0x0e
: I have no idea, but answers with0x0e
response
Responses are notifications send by the NordicListen characteristic to the App.
0x01
: Firmware version, for me that is0x19:0x00:0x00:0x00
0x03
: ReportPower, not sure what this is for, always answers0x00
for me0x04
: Commtest, answer to0x04
command0x06
: GotTimeStamp, I don't know what this is for yet0x09
: GotPacketAck, seems to indicate when Furby received data on the FileWrite characteristic. Has one byte as a parameter, possibly the number of packets it has received since the last report.0x0a
: GotPacketOverload, sent if too many FileWrite packets have been received in a too short amount of time to be processed.0x0d
: GotCurrentConnParam, I don't know where this is used yet.0x0e
: I have no idea, always contains0x0c:0x00
for me