meshtastic-protobuf/portnums.proto

137 wiersze
4.5 KiB
Protocol Buffer
Czysty Zwykły widok Historia

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;
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
* master table. PortNums should be assigned in the following range:
*
* 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 #
*
* 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.
*/
enum PortNum {
2021-01-29 02:11:10 +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;
2021-01-29 02:11:10 +00:00
/*
* 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)
* Formerly called CLEAR_TEXT
*/
TEXT_MESSAGE_APP = 1;
2021-01-29 02:11:10 +00:00
/*
* A message receive acknowledgment, sent in cleartext - allows radio to
2021-01-29 02:11:10 +00:00
* show user that a message has been read by the recipient, optional
*
* Note: this concept has been removed for now. Once READACK is implemented, use the
* new packet type/port number stuff?
*
* @exclude
*
* CLEAR_READACK = 2;
*
* 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;
2020-12-05 00:47:06 +00:00
2021-01-29 02:11:10 +00:00
/*
* The built-in position messaging app.
* See Position for details on the message sent to this port number.
2021-02-17 05:05:46 +00:00
* payload is a Position protobuf
2021-01-29 02:11:10 +00:00
*/
2020-11-28 10:10:11 +00:00
POSITION_APP = 3;
2021-01-29 02:11:10 +00:00
/*
* The built-in user info app.
* See User for details on the message sent to this port number.
2021-02-17 05:05:46 +00:00
* payload is a User protobuf
2021-01-29 02:11:10 +00:00
*/
2020-12-05 01:23:57 +00:00
NODEINFO_APP = 4;
2021-02-17 05:05:46 +00:00
/* Protocol control packets for mesh protocol use, payload is a Routing protobuf */
ROUTING_APP = 5;
2021-02-21 06:03:13 +00:00
/* Admin control packets, payload is a AdminMessage protobuf */
ADMIN_APP = 6;
2021-01-29 02:11:10 +00:00
/*
* Provides a 'ping' service that replies to any packet it receives.
* Also this serves as a small example plugin.
2021-01-29 02:11:10 +00:00
*/
2020-12-11 00:32:16 +00:00
REPLY_APP = 32;
2021-01-29 02:11:10 +00:00
/*
* Used for the python IP tunnel feature
*/
IP_TUNNEL_APP = 33;
2021-01-29 02:11:10 +00:00
/*
* Provides a format to send and receive environmental data from the Meshtastic network.
2021-01-29 02:11:10 +00:00
*
* Maintained by Charles Crossan (crossan007) : crossan007@gmail.com
2021-01-29 02:11:10 +00:00
*/
ENVIRONMENTAL_MEASUREMENT_APP = 34;
/** 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.
Plugin is disabled by default can be turned on by setting SERIALPLUGIN_ENABLED = 1 in
SerialPlugh.cpp.
Maintained by Jm Casler (MC Hamster) : jm@casler.org
*/
2021-01-13 05:53:16 +00:00
SERIAL_APP = 64;
2021-01-29 02:11:10 +00:00
/*
2021-02-06 01:56:17 +00:00
* STORE_FORWARD_APP (Work in Progress)
2021-01-29 02:11:10 +00:00
*
* Maintained by Jm Casler (MC Hamster) : jm@casler.org
*/
2021-02-06 01:56:17 +00:00
STORE_FORWARD_APP = 65;
2021-01-29 02:11:10 +00:00
2021-02-08 04:35:23 +00:00
/*
* STORE_FORWARD_APP (Work in Progress)
*
* Maintained by Jm Casler (MC Hamster) : jm@casler.org
*/
RANGE_TEST_APP = 66;
2021-01-29 02:11:10 +00:00
/*
* Private applications should use portnums >= 256.
* To simplify initial development and testing you can use "PRIVATE_APP"
* in your code without needing to rebuild protobuf files (via bin/regin_protos.sh)
*/
PRIVATE_APP = 256;
2021-01-29 02:11:10 +00:00
/*
* ATAK Forwarder Plugin https://github.com/paulmandal/atak-forwarder
*/
ATAK_FORWARDER = 257;
2021-02-22 02:25:29 +00:00
/** Currently we limit port nums to no higher than this value */
MAX = 511;
2021-01-13 05:53:16 +00:00
}