diff --git a/meshtastic/portnums.proto b/meshtastic/portnums.proto index 514593a..4f546cb 100644 --- a/meshtastic/portnums.proto +++ b/meshtastic/portnums.proto @@ -27,6 +27,7 @@ enum PortNum { * Deprecated: do not use in new code (formerly called OPAQUE) * A message sent from a device outside of the mesh, in a form the mesh does not understand * NOTE: This must be 0, because it is documented in IMeshService.aidl to be so + * ENCODING: binary undefined */ UNKNOWN_APP = 0; @@ -34,64 +35,80 @@ enum PortNum { * A simple UTF-8 text message, which even the little micros in the mesh * can understand and show on their screen eventually in some circumstances * even signal might send messages in this form (see below) + * ENCODING: UTF-8 Plaintext (?) */ TEXT_MESSAGE_APP = 1; /* * Reserved for built-in GPIO/example app. * See remote_hardware.proto/HardwareMessage for details on the message sent/received to this port number + * ENCODING: Protobuf */ REMOTE_HARDWARE_APP = 2; /* * The built-in position messaging app. * Payload is a [Position](/docs/developers/protobufs/api#position) message + * ENCODING: Protobuf */ POSITION_APP = 3; /* * The built-in user info app. * Payload is a [User](/docs/developers/protobufs/api#user) message + * ENCODING: Protobuf */ NODEINFO_APP = 4; /* * Protocol control packets for mesh protocol use. * Payload is a [Routing](/docs/developers/protobufs/api#routing) message + * ENCODING: Protobuf */ ROUTING_APP = 5; /* * Admin control packets. * Payload is a [AdminMessage](/docs/developers/protobufs/api#adminmessage) message + * ENCODING: Protobuf */ ADMIN_APP = 6; /* * Compressed TEXT_MESSAGE payloads. + * ENCODING: UTF-8 Plaintext (?) with Unishox2 Compression + * NOTE: The Device Firmware converts a TEXT_MESSAGE_APP to TEXT_MESSAGE_COMPRESSED_APP if the compressed + * payload is shorter. There's no need for app developers to do this themselves. Also the firmware will decompress + * any incoming TEXT_MESSAGE_COMPRESSED_APP payload and convert to TEXT_MESSAGE_APP. */ TEXT_MESSAGE_COMPRESSED_APP = 7; /* * Waypoint payloads. * Payload is a [Waypoint](/docs/developers/protobufs/api#waypoint) message + * ENCODING: Protobuf */ WAYPOINT_APP = 8; /* * Audio Payloads. * Encapsulated codec2 packets. On 2.4 GHZ Bandwidths only for now + * ENCODING: codec2 audio frames + * NOTE: audio frames contain a 3 byte header (0xc0 0xde 0xc2) and a one byte marker for the decompressed bitrate. + * This marker comes from the 'moduleConfig.audio.bitrate' enum minus one. */ AUDIO_APP = 9; /* * Provides a 'ping' service that replies to any packet it receives. * Also serves as a small example module. + * ENCODING: ASCII Plaintext */ REPLY_APP = 32; /* * Used for the python IP tunnel feature + * ENCODING: IP Packet. Handled by the python API, firmware ignores this one and pases on. */ IP_TUNNEL_APP = 33; @@ -101,23 +118,27 @@ enum PortNum { * network is forwarded to the RX pin while sending a packet to TX will go out to the Mesh network. * Maximum packet size of 240 bytes. * Module is disabled by default can be turned on by setting SERIAL_MODULE_ENABLED = 1 in SerialPlugh.cpp. + * ENCODING: binary undefined */ SERIAL_APP = 64; /* * STORE_FORWARD_APP (Work in Progress) * Maintained by Jm Casler (MC Hamster) : jm@casler.org + * ENCODING: Protobuf */ STORE_FORWARD_APP = 65; /* * Optional port for messages for the range test module. + * ENCODING: ASCII Plaintext */ RANGE_TEST_APP = 66; /* * Provides a format to send and receive telemetry data from the Meshtastic network. * Maintained by Charles Crossan (crossan007) : crossan007@gmail.com + * ENCODING: Protobuf */ TELEMETRY_APP = 67; @@ -125,6 +146,7 @@ enum PortNum { * Experimental tools for estimating node position without a GPS * Maintained by Github user a-f-G-U-C (a Meshtastic contributor) * Project files at https://github.com/a-f-G-U-C/Meshtastic-ZPS + * ENCODING: arrays of int64 fields */ ZPS_APP = 68; @@ -133,17 +155,20 @@ enum PortNum { * as if they did using their LoRa chip. * Maintained by GitHub user GUVWAF. * Project files at https://github.com/GUVWAF/Meshtasticator + * ENCODING: Protobuf (?) */ SIMULATOR_APP = 69; /* * Provides a traceroute functionality to show the route a packet towards * a certain destination would take on the mesh. + * ENCODING: Protobuf */ TRACEROUTE_APP = 70; /* * Aggregates edge info for the network by sending out a list of each node's neighbors + * ENCODING: Protobuf */ NEIGHBORINFO_APP = 71; @@ -156,6 +181,7 @@ enum PortNum { /* * ATAK Forwarder Module https://github.com/paulmandal/atak-forwarder + * ENCODING: libcotshrink */ ATAK_FORWARDER = 257; @@ -163,4 +189,4 @@ enum PortNum { * Currently we limit port nums to no higher than this value */ MAX = 511; -} \ No newline at end of file +}