2020-11-28 02:40:47 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
|
2020-12-07 11:49:43 +00:00
|
|
|
option java_package = "com.geeksville.mesh";
|
|
|
|
option java_outer_classname = "Portnums";
|
|
|
|
option optimize_for = LITE_RUNTIME;
|
2022-10-19 07:03:17 +00:00
|
|
|
option go_package = "github.com/meshtastic/go/generated";
|
2020-12-07 11:49:43 +00:00
|
|
|
|
2021-01-29 02:11:10 +00:00
|
|
|
/*
|
|
|
|
* For any new 'apps' that run on the device or via sister apps on phones/PCs they should pick and use a
|
|
|
|
* unique 'portnum' for their application.
|
|
|
|
* If you are making a new app using meshtastic, please send in a pull request to add your 'portnum' to this
|
2021-04-20 09:08:28 +00:00
|
|
|
* master table.
|
|
|
|
* PortNums should be assigned in the following range:
|
2021-01-29 02:11:10 +00:00
|
|
|
* 0-63 Core Meshtastic use, do not use for third party apps
|
|
|
|
* 64-127 Registered 3rd party apps, send in a pull request that adds a new entry to portnums.proto to register your application
|
|
|
|
* 256-511 Use one of these portnums for your private applications that you don't want to register publically
|
|
|
|
* All other values are reserved.
|
|
|
|
* Note: This was formerly a Type enum named 'typ' with the same id #
|
2021-02-23 23:15:20 +00:00
|
|
|
* We have change to this 'portnum' based scheme for specifying app handlers for particular payloads.
|
2021-01-29 02:11:10 +00:00
|
|
|
* This change is backwards compatible by treating the legacy OPAQUE/CLEAR_TEXT values identically.
|
|
|
|
*/
|
2020-11-28 02:40:47 +00:00
|
|
|
enum PortNum {
|
2021-01-29 02:11:10 +00:00
|
|
|
|
2021-11-30 19:45:01 +00:00
|
|
|
/*
|
|
|
|
* 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
|
|
|
|
*/
|
|
|
|
UNKNOWN_APP = 0;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* 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)
|
|
|
|
*/
|
|
|
|
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
|
|
|
|
*/
|
|
|
|
REMOTE_HARDWARE_APP = 2;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* The built-in position messaging app.
|
2022-03-09 22:23:22 +00:00
|
|
|
* Payload is a [Position](/docs/developers/protobufs/api#position) message
|
2021-11-30 19:45:01 +00:00
|
|
|
*/
|
|
|
|
POSITION_APP = 3;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* The built-in user info app.
|
2022-03-09 22:23:22 +00:00
|
|
|
* Payload is a [User](/docs/developers/protobufs/api#user) message
|
2021-11-30 19:45:01 +00:00
|
|
|
*/
|
|
|
|
NODEINFO_APP = 4;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Protocol control packets for mesh protocol use.
|
2022-03-09 22:23:22 +00:00
|
|
|
* Payload is a [Routing](/docs/developers/protobufs/api#routing) message
|
2021-11-30 19:45:01 +00:00
|
|
|
*/
|
|
|
|
ROUTING_APP = 5;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Admin control packets.
|
2022-03-09 22:23:22 +00:00
|
|
|
* Payload is a [AdminMessage](/docs/developers/protobufs/api#adminmessage) message
|
2021-11-30 19:45:01 +00:00
|
|
|
*/
|
|
|
|
ADMIN_APP = 6;
|
|
|
|
|
2022-05-24 04:03:32 +00:00
|
|
|
/*
|
|
|
|
* Compressed TEXT_MESSAGE payloads.
|
|
|
|
*/
|
|
|
|
TEXT_MESSAGE_COMPRESSED_APP = 7;
|
|
|
|
|
2022-06-04 01:02:01 +00:00
|
|
|
/*
|
|
|
|
* Waypoint payloads.
|
2022-08-19 23:39:31 +00:00
|
|
|
* Payload is a [Waypoint](/docs/developers/protobufs/api#waypoint) message
|
2022-06-04 01:02:01 +00:00
|
|
|
*/
|
|
|
|
WAYPOINT_APP = 8;
|
|
|
|
|
2022-11-02 12:46:35 +00:00
|
|
|
/* Audio Payloads.
|
|
|
|
* Encapsulated codec2 packets. On 2.4 GHZ Bandwidths only for now
|
|
|
|
*/
|
|
|
|
AUDIO_APP = 9;
|
|
|
|
|
2021-11-30 19:45:01 +00:00
|
|
|
/*
|
|
|
|
* Provides a 'ping' service that replies to any packet it receives.
|
2022-02-27 08:58:46 +00:00
|
|
|
* Also serves as a small example module.
|
2021-11-30 19:45:01 +00:00
|
|
|
*/
|
|
|
|
REPLY_APP = 32;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Used for the python IP tunnel feature
|
|
|
|
*/
|
|
|
|
IP_TUNNEL_APP = 33;
|
|
|
|
|
2022-02-21 22:39:30 +00:00
|
|
|
/*
|
2021-11-30 19:45:01 +00:00
|
|
|
* Provides a hardware serial interface to send and receive from the Meshtastic network.
|
|
|
|
* Connect to the RX/TX pins of a device with 38400 8N1. Packets received from the Meshtastic
|
|
|
|
* 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.
|
2022-03-09 07:06:09 +00:00
|
|
|
* Module is disabled by default can be turned on by setting SERIAL_MODULE_ENABLED = 1 in SerialPlugh.cpp.
|
2021-11-30 19:45:01 +00:00
|
|
|
*/
|
|
|
|
SERIAL_APP = 64;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* STORE_FORWARD_APP (Work in Progress)
|
|
|
|
* Maintained by Jm Casler (MC Hamster) : jm@casler.org
|
|
|
|
*/
|
|
|
|
STORE_FORWARD_APP = 65;
|
|
|
|
|
|
|
|
/*
|
2022-03-01 03:34:20 +00:00
|
|
|
* Optional port for messages for the range test module.
|
2021-11-30 19:45:01 +00:00
|
|
|
*/
|
|
|
|
RANGE_TEST_APP = 66;
|
|
|
|
|
|
|
|
/*
|
2022-02-27 04:13:18 +00:00
|
|
|
* Provides a format to send and receive telemetry data from the Meshtastic network.
|
2021-11-30 19:45:01 +00:00
|
|
|
* Maintained by Charles Crossan (crossan007) : crossan007@gmail.com
|
|
|
|
*/
|
2022-02-27 04:13:18 +00:00
|
|
|
TELEMETRY_APP = 67;
|
2021-11-30 19:45:01 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* 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
|
|
|
|
*/
|
|
|
|
ZPS_APP = 68;
|
|
|
|
|
2022-10-01 10:16:04 +00:00
|
|
|
/*
|
|
|
|
* Used to let multiple instances of Linux native applications communicate
|
|
|
|
* as if they did using their LoRa chip.
|
|
|
|
* Maintained by GitHub user GUVWAF.
|
|
|
|
* Project files at https://github.com/GUVWAF/Meshtasticator
|
|
|
|
*/
|
|
|
|
SIMULATOR_APP = 69;
|
|
|
|
|
2021-11-30 19:45:01 +00:00
|
|
|
/*
|
|
|
|
* Private applications should use portnums >= 256.
|
|
|
|
* To simplify initial development and testing you can use "PRIVATE_APP"
|
2022-10-31 08:51:54 +00:00
|
|
|
* in your code without needing to rebuild protobuf files (via [regen-protos.sh](https://github.com/meshtastic/firmware/blob/master/bin/regen-protos.sh))
|
2021-11-30 19:45:01 +00:00
|
|
|
*/
|
|
|
|
PRIVATE_APP = 256;
|
|
|
|
|
|
|
|
/*
|
2022-02-27 08:58:46 +00:00
|
|
|
* ATAK Forwarder Module https://github.com/paulmandal/atak-forwarder
|
2021-11-30 19:45:01 +00:00
|
|
|
*/
|
|
|
|
ATAK_FORWARDER = 257;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Currently we limit port nums to no higher than this value
|
|
|
|
*/
|
|
|
|
MAX = 511;
|
|
|
|
}
|