From 972a9ba9440aebb08c158ebb510b02e8620ff0cb Mon Sep 17 00:00:00 2001 From: Janez T Date: Thu, 5 Mar 2026 08:51:18 +0100 Subject: [PATCH] Document raw binary routing --- docs/image-mode-technical.md | 10 ++++++++++ docs/voice-mode-technical.md | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/docs/image-mode-technical.md b/docs/image-mode-technical.md index 8168746..bd1a44b 100644 --- a/docs/image-mode-technical.md +++ b/docs/image-mode-technical.md @@ -248,6 +248,16 @@ Fallback defaults are used when radio params are unavailable: `SF10`, `BW250kHz` - Raw return path requires a valid direct route to requester. - Available on iOS and Android (`image_picker` + `flutter_avif`). +### 11.1 Raw Binary Routing Semantics + +- Image fragment payloads use companion command `CMD_SEND_RAW_DATA` (`25` / `0x19`). +- Companion push back to the app is `PUSH_CODE_RAW_DATA` (`0x84`). +- Over-the-air packet type for this flow is `PAYLOAD_TYPE_RAW_CUSTOM` (`0x0F`). +- This flow is direct-route only, not flood/broadcast: + - it is sent to one destination path; + - only nodes on that path relay it; + - it is **not** received by everyone in the mesh. + ## 12. High-Level Sequence ```mermaid diff --git a/docs/voice-mode-technical.md b/docs/voice-mode-technical.md index 88f9b28..243c8e2 100644 --- a/docs/voice-mode-technical.md +++ b/docs/voice-mode-technical.md @@ -210,6 +210,16 @@ Fallback defaults are used when radio params are unavailable: `SF10`, `BW250kHz` - Raw return path needs a currently valid direct route to requester. - Voice capture is available on iOS and Android (`Platform.isIOS || Platform.isAndroid`). +### 11.1 Raw Binary Routing Semantics + +- Voice payload packets use companion command `CMD_SEND_RAW_DATA` (`25` / `0x19`). +- Companion push back to the app is `PUSH_CODE_RAW_DATA` (`0x84`). +- Over-the-air packet type for this flow is `PAYLOAD_TYPE_RAW_CUSTOM` (`0x0F`). +- This flow is direct-route only, not flood/broadcast: + - it is sent to one destination path; + - only nodes on that path relay it; + - it is **not** received by everyone in the mesh. + ## 12. Backward Compatibility - Legacy `V:` text packet parsing is still supported.