From 4171ca28a2afe8177c6018d3f3229c303743b5e7 Mon Sep 17 00:00:00 2001 From: Arslaan Pathan Date: Sun, 29 Mar 2026 15:10:00 +1300 Subject: Put packet structures in code blocks so that it's not chopped --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'README.md') diff --git a/README.md b/README.md index 5fbc9a3..cac803f 100644 --- a/README.md +++ b/README.md @@ -22,24 +22,29 @@ Documentation/protocols derived from decompiled FereFit Android app (jadx) ### Battery status/notification (read/6E40FC21) Sent by watch if command is invalid. TODO find proper trigger for this +``` byte[0] = 0x94 (BATTERY command/response) byte[1] = battery percentage (0-100) +``` ### syncTime Time sync packet structure (write/6E40FC20) +``` byte[0] = 0x01 (command) byte[1-4] = Unix timestamp (big endian, seconds) byte[5-8] = timezone offset (big endian, seconds) byte[9] = i (unknown param, use 0x00) byte[10] = language code byte[11] = 0x01 if traditional Chinese, else 0x00 +``` Response: 0x81 0x00 (success, notify/6E40FC21) ### enterMakeDial (watch face) Watch face header packet (write/6E40FC20) +``` byte[0] = 0xE4 (ZK_DIAL command) byte[1] = 0x51 (mode flag) byte[2] = 0x01 (start) @@ -55,5 +60,6 @@ byte[16] = 0x00 byte[17-18] = transparent color (RGB565) byte[19-20] = checksum (sum of all image bytes, big endian) byte[21] = show date (0x01 = yes, 0x00 = no) +``` Header packet is followed by chunked RGB565 data, 1 chunk = MTU-14 bytes -- cgit v1.2.3