fix: Widen grp data type

ref: #1928
This commit is contained in:
Janez T 2026-03-19 09:25:42 +01:00
parent 1fb26e7623
commit 2f68769185
9 changed files with 41 additions and 34 deletions

View file

@ -288,20 +288,20 @@ Bytes 7+: Message Text (UTF-8, variable length)
**Command Format**:
```
Byte 0: 0x3E
Byte 1: Data Type (`data_type`)
Byte 2: Channel Index (0-7)
Bytes 3+: Binary payload bytes (variable length)
Bytes 1-2: Data Type (`data_type`, 16-bit little-endian)
Byte 3: Channel Index (0-7)
Bytes 4+: Binary payload bytes (variable length)
```
**Data Type / Transport Mapping**:
- `0xFF` (`DATA_TYPE_CUSTOM`) must be used for custom-protocol binary datagrams.
- `0x00` is invalid for this command.
- Values other than `0xFF` are reserved for official protocol extensions.
- `0x0000` is invalid for this command.
- `0xFFFF` (`DATA_TYPE_CUSTOM`) is the generic custom-app namespace.
- Other non-zero values can be used as assigned application/community namespaces.
**Note**: Applications that need a timestamp should encode it inside the binary payload.
**Limits**:
- Maximum payload length is `166` bytes.
- Maximum payload length is `163` bytes.
- Larger payloads are rejected with `PACKET_ERROR`.
**Response**: `PACKET_OK` (0x00) on success

View file

@ -386,7 +386,7 @@ https://github.com/meshcore-dev/MeshCore/blob/main/src/Packet.h#L19
#define PAYLOAD_TYPE_TXT_MSG 0x02 // a plain text message (prefixed with dest/src hashes, MAC) (enc data: timestamp, text)
#define PAYLOAD_TYPE_ACK 0x03 // a simple ack #define PAYLOAD_TYPE_ADVERT 0x04 // a node advertising its Identity
#define PAYLOAD_TYPE_GRP_TXT 0x05 // an (unverified) group text message (prefixed with channel hash, MAC) (enc data: timestamp, "name: msg")
#define PAYLOAD_TYPE_GRP_DATA 0x06 // an (unverified) group datagram (prefixed with channel hash, MAC) (enc data: timestamp, blob)
#define PAYLOAD_TYPE_GRP_DATA 0x06 // an (unverified) group datagram (prefixed with channel hash, MAC) (enc data: data_type, data_len, blob)
#define PAYLOAD_TYPE_ANON_REQ 0x07 // generic request (prefixed with dest_hash, ephemeral pub_key, MAC) (enc data: ...)
#define PAYLOAD_TYPE_PATH 0x08 // returned path (prefixed with dest/src hashes, MAC) (enc data: path, extra)