meshtastic: support
Some checks failed
Run tests / test (1.25) (push) Failing after 1m1s
Run tests / test (stable) (push) Failing after 1m0s

This commit is contained in:
2026-03-06 09:24:56 +01:00
parent e6bda98b92
commit e2b69d92fd
39 changed files with 26113 additions and 1 deletions

View File

@@ -0,0 +1,374 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v6.33.4
// source: meshtastic/portnums.proto
package pb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// 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.
// This change is backwards compatible by treating the legacy OPAQUE/CLEAR_TEXT values identically.
type PortNum int32
const (
// 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
PortNum_UNKNOWN_APP PortNum = 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)
// ENCODING: UTF-8 Plaintext (?)
PortNum_TEXT_MESSAGE_APP PortNum = 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
PortNum_REMOTE_HARDWARE_APP PortNum = 2
// The built-in position messaging app.
// Payload is a Position message.
// ENCODING: Protobuf
PortNum_POSITION_APP PortNum = 3
// The built-in user info app.
// Payload is a User message.
// ENCODING: Protobuf
PortNum_NODEINFO_APP PortNum = 4
// Protocol control packets for mesh protocol use.
// Payload is a Routing message.
// ENCODING: Protobuf
PortNum_ROUTING_APP PortNum = 5
// Admin control packets.
// Payload is a AdminMessage message.
// ENCODING: Protobuf
PortNum_ADMIN_APP PortNum = 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.
PortNum_TEXT_MESSAGE_COMPRESSED_APP PortNum = 7
// Waypoint payloads.
// Payload is a Waypoint message.
// ENCODING: Protobuf
PortNum_WAYPOINT_APP PortNum = 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.
PortNum_AUDIO_APP PortNum = 9
// Same as Text Message but originating from Detection Sensor Module.
// NOTE: This portnum traffic is not sent to the public MQTT starting at firmware version 2.2.9
PortNum_DETECTION_SENSOR_APP PortNum = 10
// Same as Text Message but used for critical alerts.
PortNum_ALERT_APP PortNum = 11
// Module/port for handling key verification requests.
PortNum_KEY_VERIFICATION_APP PortNum = 12
// Provides a 'ping' service that replies to any packet it receives.
// Also serves as a small example module.
// ENCODING: ASCII Plaintext
PortNum_REPLY_APP PortNum = 32
// Used for the python IP tunnel feature
// ENCODING: IP Packet. Handled by the python API, firmware ignores this one and pases on.
PortNum_IP_TUNNEL_APP PortNum = 33
// Paxcounter lib included in the firmware
// ENCODING: protobuf
PortNum_PAXCOUNTER_APP PortNum = 34
// Store and Forward++ module included in the firmware
// ENCODING: protobuf
// This module is specifically for Native Linux nodes, and provides a Git-style
// chain of messages.
PortNum_STORE_FORWARD_PLUSPLUS_APP PortNum = 35
// Node Status module
// ENCODING: protobuf
// This module allows setting an extra string of status for a node.
// Broadcasts on change and on a timer, possibly once a day.
PortNum_NODE_STATUS_APP PortNum = 36
// 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.
// Module is disabled by default can be turned on by setting SERIAL_MODULE_ENABLED = 1 in SerialPlugh.cpp.
// ENCODING: binary undefined
PortNum_SERIAL_APP PortNum = 64
// STORE_FORWARD_APP (Work in Progress)
// Maintained by Jm Casler (MC Hamster) : jm@casler.org
// ENCODING: Protobuf
PortNum_STORE_FORWARD_APP PortNum = 65
// Optional port for messages for the range test module.
// ENCODING: ASCII Plaintext
// NOTE: This portnum traffic is not sent to the public MQTT starting at firmware version 2.2.9
PortNum_RANGE_TEST_APP PortNum = 66
// Provides a format to send and receive telemetry data from the Meshtastic network.
// Maintained by Charles Crossan (crossan007) : crossan007@gmail.com
// ENCODING: Protobuf
PortNum_TELEMETRY_APP PortNum = 67
// 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
PortNum_ZPS_APP PortNum = 68
// 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
// ENCODING: Protobuf (?)
PortNum_SIMULATOR_APP PortNum = 69
// Provides a traceroute functionality to show the route a packet towards
// a certain destination would take on the mesh. Contains a RouteDiscovery message as payload.
// ENCODING: Protobuf
PortNum_TRACEROUTE_APP PortNum = 70
// Aggregates edge info for the network by sending out a list of each node's neighbors
// ENCODING: Protobuf
PortNum_NEIGHBORINFO_APP PortNum = 71
// ATAK Plugin
// Portnum for payloads from the official Meshtastic ATAK plugin
PortNum_ATAK_PLUGIN PortNum = 72
// Provides unencrypted information about a node for consumption by a map via MQTT
PortNum_MAP_REPORT_APP PortNum = 73
// PowerStress based monitoring support (for automated power consumption testing)
PortNum_POWERSTRESS_APP PortNum = 74
// LoraWAN Payload Transport
// ENCODING: compact binary LoRaWAN uplink (10-byte RF metadata + PHY payload) - see LoRaWANBridgeModule
PortNum_LORAWAN_BRIDGE PortNum = 75
// Reticulum Network Stack Tunnel App
// ENCODING: Fragmented RNS Packet. Handled by Meshtastic RNS interface
PortNum_RETICULUM_TUNNEL_APP PortNum = 76
// App for transporting Cayenne Low Power Payload, popular for LoRaWAN sensor nodes. Offers ability to send
// arbitrary telemetry over meshtastic that is not covered by telemetry.proto
// ENCODING: CayenneLLP
PortNum_CAYENNE_APP PortNum = 77
// 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 [regen-protos.sh](https://github.com/meshtastic/firmware/blob/master/bin/regen-protos.sh))
PortNum_PRIVATE_APP PortNum = 256
// ATAK Forwarder Module https://github.com/paulmandal/atak-forwarder
// ENCODING: libcotshrink
PortNum_ATAK_FORWARDER PortNum = 257
// Currently we limit port nums to no higher than this value
PortNum_MAX PortNum = 511
)
// Enum value maps for PortNum.
var (
PortNum_name = map[int32]string{
0: "UNKNOWN_APP",
1: "TEXT_MESSAGE_APP",
2: "REMOTE_HARDWARE_APP",
3: "POSITION_APP",
4: "NODEINFO_APP",
5: "ROUTING_APP",
6: "ADMIN_APP",
7: "TEXT_MESSAGE_COMPRESSED_APP",
8: "WAYPOINT_APP",
9: "AUDIO_APP",
10: "DETECTION_SENSOR_APP",
11: "ALERT_APP",
12: "KEY_VERIFICATION_APP",
32: "REPLY_APP",
33: "IP_TUNNEL_APP",
34: "PAXCOUNTER_APP",
35: "STORE_FORWARD_PLUSPLUS_APP",
36: "NODE_STATUS_APP",
64: "SERIAL_APP",
65: "STORE_FORWARD_APP",
66: "RANGE_TEST_APP",
67: "TELEMETRY_APP",
68: "ZPS_APP",
69: "SIMULATOR_APP",
70: "TRACEROUTE_APP",
71: "NEIGHBORINFO_APP",
72: "ATAK_PLUGIN",
73: "MAP_REPORT_APP",
74: "POWERSTRESS_APP",
75: "LORAWAN_BRIDGE",
76: "RETICULUM_TUNNEL_APP",
77: "CAYENNE_APP",
256: "PRIVATE_APP",
257: "ATAK_FORWARDER",
511: "MAX",
}
PortNum_value = map[string]int32{
"UNKNOWN_APP": 0,
"TEXT_MESSAGE_APP": 1,
"REMOTE_HARDWARE_APP": 2,
"POSITION_APP": 3,
"NODEINFO_APP": 4,
"ROUTING_APP": 5,
"ADMIN_APP": 6,
"TEXT_MESSAGE_COMPRESSED_APP": 7,
"WAYPOINT_APP": 8,
"AUDIO_APP": 9,
"DETECTION_SENSOR_APP": 10,
"ALERT_APP": 11,
"KEY_VERIFICATION_APP": 12,
"REPLY_APP": 32,
"IP_TUNNEL_APP": 33,
"PAXCOUNTER_APP": 34,
"STORE_FORWARD_PLUSPLUS_APP": 35,
"NODE_STATUS_APP": 36,
"SERIAL_APP": 64,
"STORE_FORWARD_APP": 65,
"RANGE_TEST_APP": 66,
"TELEMETRY_APP": 67,
"ZPS_APP": 68,
"SIMULATOR_APP": 69,
"TRACEROUTE_APP": 70,
"NEIGHBORINFO_APP": 71,
"ATAK_PLUGIN": 72,
"MAP_REPORT_APP": 73,
"POWERSTRESS_APP": 74,
"LORAWAN_BRIDGE": 75,
"RETICULUM_TUNNEL_APP": 76,
"CAYENNE_APP": 77,
"PRIVATE_APP": 256,
"ATAK_FORWARDER": 257,
"MAX": 511,
}
)
func (x PortNum) Enum() *PortNum {
p := new(PortNum)
*p = x
return p
}
func (x PortNum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (PortNum) Descriptor() protoreflect.EnumDescriptor {
return file_meshtastic_portnums_proto_enumTypes[0].Descriptor()
}
func (PortNum) Type() protoreflect.EnumType {
return &file_meshtastic_portnums_proto_enumTypes[0]
}
func (x PortNum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use PortNum.Descriptor instead.
func (PortNum) EnumDescriptor() ([]byte, []int) {
return file_meshtastic_portnums_proto_rawDescGZIP(), []int{0}
}
var File_meshtastic_portnums_proto protoreflect.FileDescriptor
const file_meshtastic_portnums_proto_rawDesc = "" +
"\n" +
"\x19meshtastic/portnums.proto\x12\n" +
"meshtastic*\xbf\x05\n" +
"\aPortNum\x12\x0f\n" +
"\vUNKNOWN_APP\x10\x00\x12\x14\n" +
"\x10TEXT_MESSAGE_APP\x10\x01\x12\x17\n" +
"\x13REMOTE_HARDWARE_APP\x10\x02\x12\x10\n" +
"\fPOSITION_APP\x10\x03\x12\x10\n" +
"\fNODEINFO_APP\x10\x04\x12\x0f\n" +
"\vROUTING_APP\x10\x05\x12\r\n" +
"\tADMIN_APP\x10\x06\x12\x1f\n" +
"\x1bTEXT_MESSAGE_COMPRESSED_APP\x10\a\x12\x10\n" +
"\fWAYPOINT_APP\x10\b\x12\r\n" +
"\tAUDIO_APP\x10\t\x12\x18\n" +
"\x14DETECTION_SENSOR_APP\x10\n" +
"\x12\r\n" +
"\tALERT_APP\x10\v\x12\x18\n" +
"\x14KEY_VERIFICATION_APP\x10\f\x12\r\n" +
"\tREPLY_APP\x10 \x12\x11\n" +
"\rIP_TUNNEL_APP\x10!\x12\x12\n" +
"\x0ePAXCOUNTER_APP\x10\"\x12\x1e\n" +
"\x1aSTORE_FORWARD_PLUSPLUS_APP\x10#\x12\x13\n" +
"\x0fNODE_STATUS_APP\x10$\x12\x0e\n" +
"\n" +
"SERIAL_APP\x10@\x12\x15\n" +
"\x11STORE_FORWARD_APP\x10A\x12\x12\n" +
"\x0eRANGE_TEST_APP\x10B\x12\x11\n" +
"\rTELEMETRY_APP\x10C\x12\v\n" +
"\aZPS_APP\x10D\x12\x11\n" +
"\rSIMULATOR_APP\x10E\x12\x12\n" +
"\x0eTRACEROUTE_APP\x10F\x12\x14\n" +
"\x10NEIGHBORINFO_APP\x10G\x12\x0f\n" +
"\vATAK_PLUGIN\x10H\x12\x12\n" +
"\x0eMAP_REPORT_APP\x10I\x12\x13\n" +
"\x0fPOWERSTRESS_APP\x10J\x12\x12\n" +
"\x0eLORAWAN_BRIDGE\x10K\x12\x18\n" +
"\x14RETICULUM_TUNNEL_APP\x10L\x12\x0f\n" +
"\vCAYENNE_APP\x10M\x12\x10\n" +
"\vPRIVATE_APP\x10\x80\x02\x12\x13\n" +
"\x0eATAK_FORWARDER\x10\x81\x02\x12\b\n" +
"\x03MAX\x10\xff\x03B^\n" +
"\x14org.meshtastic.protoB\bPortnumsZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3"
var (
file_meshtastic_portnums_proto_rawDescOnce sync.Once
file_meshtastic_portnums_proto_rawDescData []byte
)
func file_meshtastic_portnums_proto_rawDescGZIP() []byte {
file_meshtastic_portnums_proto_rawDescOnce.Do(func() {
file_meshtastic_portnums_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_portnums_proto_rawDesc), len(file_meshtastic_portnums_proto_rawDesc)))
})
return file_meshtastic_portnums_proto_rawDescData
}
var file_meshtastic_portnums_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_meshtastic_portnums_proto_goTypes = []any{
(PortNum)(0), // 0: meshtastic.PortNum
}
var file_meshtastic_portnums_proto_depIdxs = []int32{
0, // [0:0] is the sub-list for method output_type
0, // [0:0] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_meshtastic_portnums_proto_init() }
func file_meshtastic_portnums_proto_init() {
if File_meshtastic_portnums_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_portnums_proto_rawDesc), len(file_meshtastic_portnums_proto_rawDesc)),
NumEnums: 1,
NumMessages: 0,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_meshtastic_portnums_proto_goTypes,
DependencyIndexes: file_meshtastic_portnums_proto_depIdxs,
EnumInfos: file_meshtastic_portnums_proto_enumTypes,
}.Build()
File_meshtastic_portnums_proto = out.File
file_meshtastic_portnums_proto_goTypes = nil
file_meshtastic_portnums_proto_depIdxs = nil
}