@meshtastic/protobufs@2.5.7Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
This message is handled by the Admin module and is responsible for all settings/channel read/write operations.This message is used to do settings operations to both remote AND local nodes.(Prior to 1.2 these operations were done via special ToRadio operations)
TODO: REPLACE
Describes the enum meshtastic.AdminMessage.ConfigType.
TODO: REPLACE
Describes the enum meshtastic.AdminMessage.ModuleConfigType.
Describes the message meshtastic.AdminMessage.Use create(AdminMessageSchema)
to create a new message.
Describes the file admin.proto.
Parameters for setting up Meshtastic for ameteur radio usage
Describes the message meshtastic.HamParameters.Use create(HamParametersSchema)
to create a new message.
Response envelope for node_remote_hardware_pins
Describes the message meshtastic.NodeRemoteHardwarePinsResponse.Use create(NodeRemoteHardwarePinsResponseSchema)
to create a new message.
This is the most compact possible representation for a set of channels.It includes only one PRIMARY channel (which must be first) andany SECONDARY channels.No DISABLED channels are included.This abstraction is used only on the the 'app side' of the world (ie python, javascript and android etc) to show a group of Channels as a (long) URL
Describes the message meshtastic.ChannelSet.Use create(ChannelSetSchema)
to create a new message.
Describes the file apponly.proto.
ATAK Contact
Describes the message meshtastic.Contact.Use create(ContactSchema)
to create a new message.
Describes the file atak.proto.
ATAK GeoChat message
Describes the message meshtastic.GeoChat.Use create(GeoChatSchema)
to create a new message.
ATAK Group<__group role='Team Member' name='Cyan'/>
Describes the message meshtastic.Group.Use create(GroupSchema)
to create a new message.
Role of the group member
Describes the enum meshtastic.MemberRole.
Position Location Information from ATAK
Describes the message meshtastic.PLI.Use create(PLISchema)
to create a new message.
ATAK EUD Status
Describes the message meshtastic.Status.Use create(StatusSchema)
to create a new message.
Packets for the official ATAK Plugin
Describes the message meshtastic.TAKPacket.Use create(TAKPacketSchema)
to create a new message.
Describes the enum meshtastic.Team.
Canned message module configuration.
Describes the message meshtastic.CannedMessageModuleConfig.Use create(CannedMessageModuleConfigSchema)
to create a new message.
Describes the file cannedmessages.proto.
A pair of a channel number, mode and the (sharable) settings for that channel
How this channel is being used (or not).Note: this field is an enum to give us options for the future.In particular, someday we might make a 'SCANNING' option.SCANNING channels could have different frequencies and the radio wouldoccasionally check that freq to see if anything is being transmitted.For devices that have multiple physical radios attached, we could keep multiple PRIMARY/SCANNING channels active at once to allowcross band routing as needed.If a device has only a single radio (the common case) only one channel can be PRIMARY at a time(but any number of SECONDARY channels can't be sent received on that common frequency)
Describes the enum meshtastic.Channel.Role.
Describes the message meshtastic.Channel.Use create(ChannelSchema)
to create a new message.
This information can be encoded as a QRcode/url so that other users can configuretheir radio to join the same channel.A note about how channel names are shown to users: channelname-Xpoundsymbol is a prefix used to indicate this is a channel name (idea from @professr).Where X is a letter from A-Z (base 26) representing a hash of the PSK for thischannel - so that if the user changes anything about the channel (which doesforce a new PSK) this letter will also change. Thus preventing user confusion iftwo friends try to type in a channel name of "BobsChan" and then can't talkbecause their PSKs will be different.The PSK is hashed into this letter by "0x41 + [xor all bytes of the psk ] modulo 26"This also allows the option of someday if people have the PSK off (zero), theusers COULD type in a channel name and be able to talk.FIXME: Add description of multi-channel support and how primary vs secondary channels are used.FIXME: explain how apps use channels for security.explain how remote settings and remote gpio are managed as an example
Describes the message meshtastic.ChannelSettings.Use create(ChannelSettingsSchema)
to create a new message.
Describes the file channel.proto.
This message is specifically for modules to store per-channel configuration data.
Describes the message meshtastic.ModuleSettings.Use create(ModuleSettingsSchema)
to create a new message.
This abstraction is used to contain any configuration for provisioning a node on any client.It is useful for importing and exporting configurations.
Describes the message meshtastic.DeviceProfile.Use create(DeviceProfileSchema)
to create a new message.
Describes the file clientonly.proto.
Describes the enum meshtastic.Config.BluetoothConfig.PairingMode.
Describes the message meshtastic.Config.BluetoothConfig.Use create(Config_BluetoothConfigSchema)
to create a new message.
Configuration
Defines the device's behavior for how messages are rebroadcast
Describes the enum meshtastic.Config.DeviceConfig.RebroadcastMode.
Defines the device's role on the Mesh network
Describes the enum meshtastic.Config.DeviceConfig.Role.
Describes the message meshtastic.Config.DeviceConfig.Use create(Config_DeviceConfigSchema)
to create a new message.
Display Config
Describes the enum meshtastic.Config.DisplayConfig.CompassOrientation.
Describes the enum meshtastic.Config.DisplayConfig.DisplayMode.
Unit display preference
Describes the enum meshtastic.Config.DisplayConfig.DisplayUnits.
How the GPS coordinates are displayed on the OLED screen.
Describes the enum meshtastic.Config.DisplayConfig.GpsCoordinateFormat.
Override OLED outo detect with this if it fails.
Describes the enum meshtastic.Config.DisplayConfig.OledType.
Describes the message meshtastic.Config.DisplayConfig.Use create(Config_DisplayConfigSchema)
to create a new message.
Lora Config
Standard predefined channel settingsNote: these mappings must match ModemPreset Choice in the device code.
Describes the enum meshtastic.Config.LoRaConfig.ModemPreset.
Describes the enum meshtastic.Config.LoRaConfig.RegionCode.
Describes the message meshtastic.Config.LoRaConfig.Use create(Config_LoRaConfigSchema)
to create a new message.
Network Config
Describes the enum meshtastic.Config.NetworkConfig.AddressMode.
Describes the message meshtastic.Config.NetworkConfig.IpV4Config.Use create(Config_NetworkConfig_IpV4ConfigSchema)
to create a new message.
Describes the message meshtastic.Config.NetworkConfig.Use create(Config_NetworkConfigSchema)
to create a new message.
Position Config
Describes the enum meshtastic.Config.PositionConfig.GpsMode.
Bit field of boolean configuration options, indicating which optionalfields to include when assembling POSITION messages.Longitude, latitude, altitude, speed, heading, and DOPare always included (also time if GPS-synced)NOTE: the more fields are included, the larger the message will be -leading to longer airtime and a higher risk of packet loss
Describes the enum meshtastic.Config.PositionConfig.PositionFlags.
Describes the message meshtastic.Config.PositionConfig.Use create(Config_PositionConfigSchema)
to create a new message.
Power ConfigSee Power Config for additional power config details.
Describes the message meshtastic.Config.PowerConfig.Use create(Config_PowerConfigSchema)
to create a new message.
Describes the message meshtastic.Config.SecurityConfig.Use create(Config_SecurityConfigSchema)
to create a new message.
Blank config request, strictly for getting the session key
Describes the message meshtastic.Config.SessionkeyConfig.Use create(Config_SessionkeyConfigSchema)
to create a new message.
Describes the message meshtastic.Config.Use create(ConfigSchema)
to create a new message.
Describes the file config.proto.
Bluetooth connection status
Describes the message meshtastic.BluetoothConnectionStatus.Use create(BluetoothConnectionStatusSchema)
to create a new message.
Describes the message meshtastic.DeviceConnectionStatus.Use create(DeviceConnectionStatusSchema)
to create a new message.
Ethernet connection status
Describes the message meshtastic.EthernetConnectionStatus.Use create(EthernetConnectionStatusSchema)
to create a new message.
Describes the file connection_status.proto.
Ethernet or WiFi connection status
Describes the message meshtastic.NetworkConnectionStatus.Use create(NetworkConnectionStatusSchema)
to create a new message.
Serial connection status
Describes the message meshtastic.SerialConnectionStatus.Use create(SerialConnectionStatusSchema)
to create a new message.
WiFi connection status
Describes the message meshtastic.WifiConnectionStatus.Use create(WifiConnectionStatusSchema)
to create a new message.
Describes the file localonly.proto.
Describes the message meshtastic.LocalConfig.Use create(LocalConfigSchema)
to create a new message.
Describes the message meshtastic.LocalModuleConfig.Use create(LocalModuleConfigSchema)
to create a new message.
Responses to a ChunkedPayload request
Describes the message meshtastic.ChunkedPayloadResponse.Use create(ChunkedPayloadResponseSchema)
to create a new message.
Describes the message meshtastic.ChunkedPayload.Use create(ChunkedPayloadSchema)
to create a new message.
A notification message from the device to the clientTo be used for important messages that should to be displayed to the userin the form of push notifications or validation messages when savinginvalid configuration.
Describes the message meshtastic.ClientNotification.Use create(ClientNotificationSchema)
to create a new message.
Compressed message payload
Describes the message meshtastic.Compressed.Use create(CompressedSchema)
to create a new message.
Shared constants between device and phone
Describes the enum meshtastic.Constants.
Error codes for critical errorsThe device might report these fault codes on the screen.If you encounter a fault code, please post on the meshtastic.discourse.groupand we'll try to help.
Describes the enum meshtastic.CriticalErrorCode.
(Formerly called SubPacket)The payload portion fo a packet, this is the actual bytes that are sentinside a radio packet (because from/to are broken out by the comms library)
Describes the message meshtastic.Data.Use create(DataSchema)
to create a new message.
Device metadata response
Describes the message meshtastic.DeviceMetadata.Use create(DeviceMetadataSchema)
to create a new message.
Describes the file mesh.proto.
Individual File info for the device
Describes the message meshtastic.FileInfo.Use create(FileInfoSchema)
to create a new message.
Packets from the radio to the phone will appear on the fromRadio characteristic.It will support READ and NOTIFY. When a new packet arrives the device will BLE notify?It will sit in that descriptor until consumed by the phone,at which point the next item in the FIFO will be populated.
Describes the message meshtastic.FromRadio.Use create(FromRadioSchema)
to create a new message.
Note: these enum names must EXACTLY match the string used in the devicebin/build-all.sh script.Because they will be used to find firmware filenames in the android app for OTA updates.To match the old style filenames, _ is converted to -, p is converted to .
Describes the enum meshtastic.HardwareModel.
A heartbeat message is sent to the node from the client to keep the connection alive.This is currently only needed to keep serial connections alive, but can be used by any PhoneAPI.
Describes the message meshtastic.Heartbeat.Use create(HeartbeatSchema)
to create a new message.
Debug output from the device.To minimize the size of records inside the device code, if a time/source/level is not seton the message it is assumed to be a continuation of the previously sent message.This allows the device code to use fixed maxlen 64 byte strings for messages,and then extend as needed by emitting multiple records.
Log levels, chosen to match python logging conventions.
Describes the enum meshtastic.LogRecord.Level.
Describes the message meshtastic.LogRecord.Use create(LogRecordSchema)
to create a new message.
A packet envelope sent/received over the meshonly payload_variant is sent in the payload portion of the LORA packet.The other fields are either not sent at all, or sent in the special 16 byte LORA header.
Identify if this is a delayed packet
Describes the enum meshtastic.MeshPacket.Delayed.
The priority of this message for sending.Higher priorities are sent first (when managing the transmit queue).This field is never sent over the air, it is only used internally inside of a local device node.API clients (either on the local node or connected directly to the node)can set this parameter if necessary.(values must be <= 127 to keep protobuf field to one byte in size.Detailed background on this field:I noticed a funny side effect of lora being so slow: Usually when makinga protocol there isn’t much need to use message priority to change the orderof transmission (because interfaces are fairly fast).But for lora where packets can take a few seconds each, it is very importantto make sure that critical packets are sent ASAP.In the case of meshtastic that means we want to send protocol acks as soon as possible(to prevent unneeded retransmissions), we want routing messages to be sent next,then messages marked as reliable and finally 'background' packets like periodic position updates.So I bit the bullet and implemented a new (internal - not sent over the air)field in MeshPacket called 'priority'.And the transmission queue in the router object is now a priority queue.
Describes the enum meshtastic.MeshPacket.Priority.
Describes the message meshtastic.MeshPacket.Use create(MeshPacketSchema)
to create a new message.
This message will be proxied over the PhoneAPI for the client to deliver to the MQTT server
Describes the message meshtastic.MqttClientProxyMessage.Use create(MqttClientProxyMessageSchema)
to create a new message.
Unique local debugging info for this nodeNote: we don't include position or the user info, because that will come in theSent to the phone in response to WantNodes.
Describes the message meshtastic.MyNodeInfo.Use create(MyNodeInfoSchema)
to create a new message.
A single edge in the mesh
Full info on edges for a single node
Describes the message meshtastic.NeighborInfo.Use create(NeighborInfoSchema)
to create a new message.
Describes the message meshtastic.Neighbor.Use create(NeighborSchema)
to create a new message.
The bluetooth to device link:Old BTLE protocol docs from TODO, merge in above and make real docs...use protocol buffers, and NanoPBmessages from device to phone:POSITION_UPDATE (..., time)TEXT_RECEIVED(from, text, time)OPAQUE_RECEIVED(from, payload, time) (for signal messages or other applications)messages from phone to device:SET_MYID(id, human readable long, human readable short) (send down the unique IDstring used for this node, a human readable string shown for that id, and a veryshort human readable string suitable for oled screen) SEND_OPAQUE(dest, payload)(for signal messages or other applications) SEND_TEXT(dest, text) Get allnodes() (returns list of nodes, with full info, last time seen, loc, batterylevel etc) SET_CONFIG (switches device to a new set of radio params andpreshared key, drops all existing nodes, force our node to rejoin this new group)Full information about a node on the mesh
Describes the message meshtastic.NodeInfo.Use create(NodeInfoSchema)
to create a new message.
RemoteHardwarePins associated with a node
Describes the message meshtastic.NodeRemoteHardwarePin.Use create(NodeRemoteHardwarePinSchema)
to create a new message.
a gps position
How the altitude was acquired: manual, GPS int/ext, etcDefault: same as location_source if present
Describes the enum meshtastic.Position.AltSource.
How the location was acquired: manual, onboard GPS, external (EUD) GPS
Describes the enum meshtastic.Position.LocSource.
Describes the message meshtastic.Position.Use create(PositionSchema)
to create a new message.
Describes the message meshtastic.QueueStatus.Use create(QueueStatusSchema)
to create a new message.
Wrapper message for broken repeated oneof support
Describes the message meshtastic.resend_chunks.Use create(resend_chunksSchema)
to create a new message.
A message used in a traceroute
Describes the message meshtastic.RouteDiscovery.Use create(RouteDiscoverySchema)
to create a new message.
A Routing control Data packet handled by the routing module
A failure in delivering a message (usually used for routing control messages, but might be provided in addition to ack.fail_id to providedetails on the type of failure).
Describes the enum meshtastic.Routing.Error.
Describes the message meshtastic.Routing.Use create(RoutingSchema)
to create a new message.
Packets/commands to the radio will be written (reliably) to the toRadio characteristic.Once the write completes the phone can assume it is handled.
Describes the message meshtastic.ToRadio.Use create(ToRadioSchema)
to create a new message.
Broadcast when a newly powered mesh node wants to find a node num it can useSent from the phone over bluetooth to set the user id for the owner of this node.Also sent from nodes to each other when a new node signs on (so all clients can have this info)The algorithm is as follows:when a node starts up, it broadcasts their user and the normal flow is for allother nodes to reply with their User as well (so the new node can build its nodedb)If a node ever receives a User (not just the first broadcast) message wherethe sender node number equals our node number, that indicates a collision hasoccurred and the following steps should happen:If the receiving node (that was already in the mesh)'s macaddr is LOWER than thenew User who just tried to sign in: it gets to keep its nodenum.We send a broadcast message of OUR User (we use a broadcast so that the other node canreceive our message, considering we have the same id - it also serves to letobservers correct their nodedb) - this case is rare so it should be okay.If any node receives a User where the macaddr is GTE than their local macaddr,they have been vetoed and should pick a new random nodenum (filtering againstwhatever it knows about the nodedb) and rebroadcast their User.A few nodenums are reserved and will never be requested:0xff - broadcast0 through 3 - for future use
Describes the message meshtastic.User.Use create(UserSchema)
to create a new message.
Waypoint message, used to share arbitrary locations across the mesh
Describes the message meshtastic.Waypoint.Use create(WaypointSchema)
to create a new message.
Describes the file module_config.proto.
Module Config
Ambient Lighting Module - Settings for control of onboard LEDs to allow users to adjust the brightness levels and respective color levels.Initially created for the RAK14001 RGB LED module.
Describes the message meshtastic.ModuleConfig.AmbientLightingConfig.Use create(ModuleConfig_AmbientLightingConfigSchema)
to create a new message.
Audio Config for codec2 voice
Baudrate for codec2 voice
Describes the enum meshtastic.ModuleConfig.AudioConfig.Audio_Baud.
Describes the message meshtastic.ModuleConfig.AudioConfig.Use create(ModuleConfig_AudioConfigSchema)
to create a new message.
TODO: REPLACE
Describes the enum meshtastic.ModuleConfig.CannedMessageConfig.InputEventChar.
Describes the message meshtastic.ModuleConfig.CannedMessageConfig.Use create(ModuleConfig_CannedMessageConfigSchema)
to create a new message.
Detection Sensor Module Config
Describes the enum meshtastic.ModuleConfig.DetectionSensorConfig.TriggerType.
Describes the message meshtastic.ModuleConfig.DetectionSensorConfig.Use create(ModuleConfig_DetectionSensorConfigSchema)
to create a new message.
External Notifications Config
Describes the message meshtastic.ModuleConfig.ExternalNotificationConfig.Use create(ModuleConfig_ExternalNotificationConfigSchema)
to create a new message.
Settings for reporting unencrypted information about our node to a map via MQTT
Describes the message meshtastic.ModuleConfig.MapReportSettings.Use create(ModuleConfig_MapReportSettingsSchema)
to create a new message.
MQTT Client Config
Describes the message meshtastic.ModuleConfig.MQTTConfig.Use create(ModuleConfig_MQTTConfigSchema)
to create a new message.
NeighborInfoModule Config
Describes the message meshtastic.ModuleConfig.NeighborInfoConfig.Use create(ModuleConfig_NeighborInfoConfigSchema)
to create a new message.
Config for the Paxcounter Module
Describes the message meshtastic.ModuleConfig.PaxcounterConfig.Use create(ModuleConfig_PaxcounterConfigSchema)
to create a new message.
Preferences for the RangeTestModule
Describes the message meshtastic.ModuleConfig.RangeTestConfig.Use create(ModuleConfig_RangeTestConfigSchema)
to create a new message.
RemoteHardwareModule Config
Describes the message meshtastic.ModuleConfig.RemoteHardwareConfig.Use create(ModuleConfig_RemoteHardwareConfigSchema)
to create a new message.
Serial Config
TODO: REPLACE
Describes the enum meshtastic.ModuleConfig.SerialConfig.Serial_Baud.
TODO: REPLACE
Describes the enum meshtastic.ModuleConfig.SerialConfig.Serial_Mode.
Describes the message meshtastic.ModuleConfig.SerialConfig.Use create(ModuleConfig_SerialConfigSchema)
to create a new message.
Store and Forward Module Config
Describes the message meshtastic.ModuleConfig.StoreForwardConfig.Use create(ModuleConfig_StoreForwardConfigSchema)
to create a new message.
Configuration for both device and environment metrics
Describes the message meshtastic.ModuleConfig.TelemetryConfig.Use create(ModuleConfig_TelemetryConfigSchema)
to create a new message.
Describes the message meshtastic.ModuleConfig.Use create(ModuleConfigSchema)
to create a new message.
A GPIO pin definition for remote hardware module
Describes the message meshtastic.RemoteHardwarePin.Use create(RemoteHardwarePinSchema)
to create a new message.
Describes the enum meshtastic.RemoteHardwarePinType.
Describes the file mqtt.proto.
Information about a node intended to be reported unencrypted to a map using MQTT.
Describes the message meshtastic.MapReport.Use create(MapReportSchema)
to create a new message.
This message wraps a MeshPacket with extra metadata about the sender and how it arrived.
Describes the message meshtastic.ServiceEnvelope.Use create(ServiceEnvelopeSchema)
to create a new message.
Describes the file paxcount.proto.
TODO: REPLACE
Describes the message meshtastic.Paxcount.Use create(PaxcountSchema)
to create a new message.
Describes the file portnums.proto.
For any new 'apps' that run on the device or via sister apps on phones/PCs they should pick and use aunique 'portnum' for their application.If you are making a new app using meshtastic, please send in a pull request to add your 'portnum' to thismaster table.PortNums should be assigned in the following range:0-63 Core Meshtastic use, do not use for third party apps64-127 Registered 3rd party apps, send in a pull request that adds a new entry to portnums.proto to register your application256-511 Use one of these portnums for your private applications that you don't want to register publicallyAll 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.
Describes the enum meshtastic.PortNum.
Describes the file powermon.proto.
Note: There are no 'PowerMon' messages normally in use (PowerMons are sent only as structured logs - slogs).But we wrap our State enum in this message to effectively nest a namespace (without our linter yelling at us)
Any significant power changing event in meshtastic should be tagged with a powermon state transition.If you are making new meshtastic features feel free to add new entries at the end of this definition.
Describes the enum meshtastic.PowerMon.State.
Describes the message meshtastic.PowerMon.Use create(PowerMonSchema)
to create a new message.
PowerStress testing support via the C++ PowerStress module
What operation would we like the UUT to perform.note: senders should probably set want_response in their request packets, so that they can know when the statemachine has started processing their request
Describes the enum meshtastic.PowerStressMessage.Opcode.
Describes the message meshtastic.PowerStressMessage.Use create(PowerStressMessageSchema)
to create a new message.
Describes the file remote_hardware.proto.
An example app to show off the module system. This message is used forREMOTE_HARDWARE_APP PortNums.Also provides easy remote access to any GPIO.In the future other remote hardware operations can be added based on user interest(i.e. serial output, spi/i2c input/output).FIXME - currently this feature is turned on by default which is dangerousbecause no security yet (beyond the channel mechanism).It should be off by default and then protected based on some TBD mechanism(a special channel once multichannel support is included?)
TODO: REPLACE
Describes the enum meshtastic.HardwareMessage.Type.
Describes the message meshtastic.HardwareMessage.Use create(HardwareMessageSchema)
to create a new message.
Describes the file rtttl.proto.
Canned message module configuration.
Describes the message meshtastic.RTTTLConfig.Use create(RTTTLConfigSchema)
to create a new message.
Describes the file storeforward.proto.
TODO: REPLACE
TODO: REPLACE
Describes the message meshtastic.StoreAndForward.Heartbeat.Use create(StoreAndForward_HeartbeatSchema)
to create a new message.
TODO: REPLACE
Describes the message meshtastic.StoreAndForward.History.Use create(StoreAndForward_HistorySchema)
to create a new message.
001 - 063 = From Router064 - 127 = From Client
Describes the enum meshtastic.StoreAndForward.RequestResponse.
TODO: REPLACE
Describes the message meshtastic.StoreAndForward.Statistics.Use create(StoreAndForward_StatisticsSchema)
to create a new message.
Describes the message meshtastic.StoreAndForward.Use create(StoreAndForwardSchema)
to create a new message.
Air quality metrics
Describes the message meshtastic.AirQualityMetrics.Use create(AirQualityMetricsSchema)
to create a new message.
Key native device metrics such as battery level
Describes the message meshtastic.DeviceMetrics.Use create(DeviceMetricsSchema)
to create a new message.
Weather station or other environmental metrics
Describes the message meshtastic.EnvironmentMetrics.Use create(EnvironmentMetricsSchema)
to create a new message.
Describes the file telemetry.proto.
Health telemetry metrics
Describes the message meshtastic.HealthMetrics.Use create(HealthMetricsSchema)
to create a new message.
Local device mesh statistics
Describes the message meshtastic.LocalStats.Use create(LocalStatsSchema)
to create a new message.
NAU7802 Telemetry configuration, for saving to flash
Describes the message meshtastic.Nau7802Config.Use create(Nau7802ConfigSchema)
to create a new message.
Power Metrics (voltage / current / etc)
Describes the message meshtastic.PowerMetrics.Use create(PowerMetricsSchema)
to create a new message.
Types of Measurements the telemetry module is equipped to handle
Describes the message meshtastic.Telemetry.Use create(TelemetrySchema)
to create a new message.
Supported I2C Sensors for telemetry in Meshtastic
Describes the enum meshtastic.TelemetrySensorType.
Describes the file xmodem.proto.
Describes the enum meshtastic.XModem.Control.
Describes the message meshtastic.XModem.Use create(XModemSchema)
to create a new message.