| 
									
										
										
										
											2021-04-03 04:13:13 +00:00
										 |  |  | syntax = "proto3";
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-17 11:03:10 +00:00
										 |  |  | package meshtastic;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-09 16:06:24 +00:00
										 |  |  | import "meshtastic/config.proto";
 | 
					
						
							| 
									
										
										
										
											2024-03-29 09:23:22 +00:00
										 |  |  | import "meshtastic/mesh.proto";
 | 
					
						
							| 
									
										
										
										
											2023-05-20 09:29:34 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-06 16:14:04 +00:00
										 |  |  | option csharp_namespace = "Meshtastic.Protobufs";
 | 
					
						
							| 
									
										
										
										
											2023-05-20 09:29:34 +00:00
										 |  |  | option go_package = "github.com/meshtastic/go/generated";
 | 
					
						
							|  |  |  | option java_outer_classname = "MQTTProtos";
 | 
					
						
							|  |  |  | option java_package = "com.geeksville.mesh";
 | 
					
						
							| 
									
										
										
										
											2023-01-21 15:26:47 +00:00
										 |  |  | option swift_prefix = "";
 | 
					
						
							| 
									
										
										
										
											2021-04-03 04:13:13 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * This message wraps a MeshPacket with extra metadata about the sender and how it arrived.
 | 
					
						
							|  |  |  |  */
 | 
					
						
							|  |  |  | message ServiceEnvelope {
 | 
					
						
							| 
									
										
										
										
											2021-11-30 19:45:01 +00:00
										 |  |  |   /*
 | 
					
						
							|  |  |  |    * The (probably encrypted) packet
 | 
					
						
							|  |  |  |    */
 | 
					
						
							|  |  |  |   MeshPacket packet = 1;
 | 
					
						
							| 
									
										
										
										
											2021-04-03 04:13:13 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-30 19:45:01 +00:00
										 |  |  |   /*
 | 
					
						
							|  |  |  |    * The global channel ID it was sent on
 | 
					
						
							|  |  |  |    */
 | 
					
						
							|  |  |  |   string channel_id = 2;
 | 
					
						
							| 
									
										
										
										
											2021-04-03 04:13:13 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-30 19:45:01 +00:00
										 |  |  |   /*
 | 
					
						
							|  |  |  |    * The sending gateway node ID. Can we use this to authenticate/prevent fake
 | 
					
						
							|  |  |  |    * nodeid impersonation for senders? - i.e. use gateway/mesh id (which is authenticated) + local node id as
 | 
					
						
							|  |  |  |    * the globally trusted nodenum
 | 
					
						
							|  |  |  |    */
 | 
					
						
							|  |  |  |   string gateway_id = 3;
 | 
					
						
							| 
									
										
										
										
											2024-03-09 16:06:24 +00:00
										 |  |  | }
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * Information about a node intended to be reported unencrypted to a map using MQTT.
 | 
					
						
							|  |  |  |  */
 | 
					
						
							|  |  |  | message MapReport {
 | 
					
						
							|  |  |  |   /*
 | 
					
						
							|  |  |  |    * A full name for this user, i.e. "Kevin Hester"
 | 
					
						
							|  |  |  |    */
 | 
					
						
							|  |  |  |   string long_name = 1;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /*
 | 
					
						
							|  |  |  |    * A VERY short name, ideally two characters.
 | 
					
						
							|  |  |  |    * Suitable for a tiny OLED screen
 | 
					
						
							|  |  |  |    */
 | 
					
						
							|  |  |  |   string short_name = 2;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /*
 | 
					
						
							| 
									
										
										
										
											2024-03-29 09:23:22 +00:00
										 |  |  |    * Role of the node that applies specific settings for a particular use-case
 | 
					
						
							|  |  |  |    */
 | 
					
						
							| 
									
										
										
										
											2024-03-09 16:06:24 +00:00
										 |  |  |   Config.DeviceConfig.Role role = 3;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /*
 | 
					
						
							|  |  |  |    * Hardware model of the node, i.e. T-Beam, Heltec V3, etc...
 | 
					
						
							|  |  |  |    */
 | 
					
						
							|  |  |  |   HardwareModel hw_model = 4;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-09 18:09:10 +00:00
										 |  |  |   /*
 | 
					
						
							|  |  |  |    * Device firmware version string
 | 
					
						
							|  |  |  |    */
 | 
					
						
							|  |  |  |   string firmware_version = 5;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-09 16:06:24 +00:00
										 |  |  |   /*
 | 
					
						
							| 
									
										
										
										
											2024-03-29 09:23:22 +00:00
										 |  |  |    * The region code for the radio (US, CN, EU433, etc...)
 | 
					
						
							|  |  |  |    */
 | 
					
						
							| 
									
										
										
										
											2024-03-09 18:09:10 +00:00
										 |  |  |   Config.LoRaConfig.RegionCode region = 6;
 | 
					
						
							| 
									
										
										
										
											2024-03-09 16:06:24 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   /*
 | 
					
						
							| 
									
										
										
										
											2024-03-29 09:23:22 +00:00
										 |  |  |    * Modem preset used by the radio (LongFast, MediumSlow, etc...)
 | 
					
						
							|  |  |  |    */
 | 
					
						
							| 
									
										
										
										
											2024-03-09 18:09:10 +00:00
										 |  |  |   Config.LoRaConfig.ModemPreset modem_preset = 7;
 | 
					
						
							| 
									
										
										
										
											2024-03-09 16:06:24 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   /*
 | 
					
						
							| 
									
										
										
										
											2024-03-29 09:23:22 +00:00
										 |  |  |    * Whether the node has a channel with default PSK and name (LongFast, MediumSlow, etc...)
 | 
					
						
							|  |  |  |    * and it uses the default frequency slot given the region and modem preset.
 | 
					
						
							|  |  |  |    */
 | 
					
						
							| 
									
										
										
										
											2024-03-09 18:09:10 +00:00
										 |  |  |   bool has_default_channel = 8;
 | 
					
						
							| 
									
										
										
										
											2024-03-09 16:06:24 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   /*
 | 
					
						
							|  |  |  |    * Latitude: multiply by 1e-7 to get degrees in floating point
 | 
					
						
							|  |  |  |    */
 | 
					
						
							| 
									
										
										
										
											2024-03-09 18:09:10 +00:00
										 |  |  |   sfixed32 latitude_i = 9;
 | 
					
						
							| 
									
										
										
										
											2024-03-09 16:06:24 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   /*
 | 
					
						
							|  |  |  |    * Longitude: multiply by 1e-7 to get degrees in floating point
 | 
					
						
							|  |  |  |    */
 | 
					
						
							| 
									
										
										
										
											2024-03-09 18:09:10 +00:00
										 |  |  |   sfixed32 longitude_i = 10;
 | 
					
						
							| 
									
										
										
										
											2024-03-09 16:06:24 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   /*
 | 
					
						
							|  |  |  |    * Altitude in meters above MSL
 | 
					
						
							|  |  |  |    */
 | 
					
						
							| 
									
										
										
										
											2024-03-09 18:09:10 +00:00
										 |  |  |   int32 altitude = 11;
 | 
					
						
							| 
									
										
										
										
											2024-03-09 16:06:24 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   /*
 | 
					
						
							|  |  |  |    * Indicates the bits of precision for latitude and longitude set by the sending node
 | 
					
						
							|  |  |  |    */
 | 
					
						
							| 
									
										
										
										
											2024-03-09 18:09:10 +00:00
										 |  |  |   uint32 position_precision = 12;
 | 
					
						
							| 
									
										
										
										
											2024-03-09 16:06:24 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   /*
 | 
					
						
							|  |  |  |    * Number of online nodes (heard in the last 2 hours) this node has in its list that were received locally (not via MQTT)
 | 
					
						
							|  |  |  |    */
 | 
					
						
							| 
									
										
										
										
											2024-03-09 18:09:10 +00:00
										 |  |  |   uint32 num_online_local_nodes = 13;
 | 
					
						
							| 
									
										
										
										
											2024-03-29 09:23:22 +00:00
										 |  |  | }
 |