Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

MeshCore Protocol Specification

Section 13: Payload — Raw Custom

Overview

The RAW_CUSTOM payload carries application-defined raw bytes with no prescribed structure. It is intended for applications that implement their own encryption, framing, or payload formats on top of the MeshCore transport.

Payload Type

Header payload type field: 0x0F (RAW_CUSTOM)

Wire Format

 0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Raw Data (1-184 bytes)    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Fields

FieldOffsetSizeTypeDescription
data01-184 bytesrawApplication-defined payload

Routing

In the current reference implementation, RAW_CUSTOM packets are only processed when received via direct routing. They are NOT flood-routed.

Constraints

  • Payload MUST be at least 1 byte.
  • Maximum payload: 184 bytes (MAX_PACKET_PAYLOAD).
  • Maximum total data: limited by sizeof(Packet::payload) which is MAX_PACKET_PAYLOAD (184).

Cross-References

Reference Implementation

  • Mesh::createRawData() in src/Mesh.cpp — Encoding
  • Mesh::onRecvPacket(), case PAYLOAD_TYPE_RAW_CUSTOM — Processing (direct only)