EnvelopeCodec message layer; scripts are thin business-API wrappers
This commit is contained in:
1 parent
f15ae42db7
commit
363c7cc6a2
14 files changed
+551
-900
No files matched your search
@@ -188,8 +188,14 @@ marker model is kept for the unverified Bluetooth path.
|
||||
failures keep accumulating ("receive incomplete data").
|
||||
|
||||
So requests are `S1 || transform(S2)` (split at the computable header
|
||||
length) while responses are `s || 0x58 || transform(tail)` (split at the
|
||||
second `0x58` marker). Both halves share the one additive stream.
|
||||
length); live socket replies use the identical framing and split
|
||||
(`decrypt_wire` locates the header at the 2nd comma — no ids needed up
|
||||
front). Both halves share the one additive stream.
|
||||
|
||||
Library shape: `protocol/messages.py:EnvelopeCodec` owns the bytes
|
||||
(`encode`/`decode` under one device key); `device_local`,
|
||||
`battery` and `power` implement the business calls on top; `scripts/`
|
||||
are thin CLI wrappers over those calls.
|
||||
|
||||
Live corroboration (2026-10-15, PCAPdroid capture of the working app): a
|
||||
request frame opens with the ASCII header
|
||||
|
||||
Reference in new issue
Block a user