aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArslaan Pathan <[email protected]>2026-03-29 15:10:00 +1300
committerArslaan Pathan <[email protected]>2026-03-29 15:10:00 +1300
commit4171ca28a2afe8177c6018d3f3229c303743b5e7 (patch)
tree837ef263ac9c3e885937fce0be7a4f9a6b2d9f29
parent4d446eecf5faa216d9f07465600111d0d2d07b02 (diff)
downloadzwzn-freefit-re-4171ca28a2afe8177c6018d3f3229c303743b5e7.tar.xz
zwzn-freefit-re-4171ca28a2afe8177c6018d3f3229c303743b5e7.zip
Put packet structures in code blocks so that it's not chopped
-rw-r--r--README.md6
1 files changed, 6 insertions, 0 deletions
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