diff options
| author | Arslaan Pathan <[email protected]> | 2026-03-29 15:10:00 +1300 |
|---|---|---|
| committer | Arslaan Pathan <[email protected]> | 2026-03-29 15:10:00 +1300 |
| commit | 4171ca28a2afe8177c6018d3f3229c303743b5e7 (patch) | |
| tree | 837ef263ac9c3e885937fce0be7a4f9a6b2d9f29 | |
| parent | 4d446eecf5faa216d9f07465600111d0d2d07b02 (diff) | |
| download | zwzn-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.md | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -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 |
