pull/477/head
Sacha Weatherstone 2024-03-29 19:23:22 +10:00
rodzic 2982d3017b
commit e6b4c590e7
12 zmienionych plików z 66 dodań i 78 usunięć

Wyświetl plik

@ -279,7 +279,7 @@ message AdminMessage {
* Remove the node by the specified node-num from the NodeDB on the device * Remove the node by the specified node-num from the NodeDB on the device
*/ */
uint32 remove_by_nodenum = 38; uint32 remove_by_nodenum = 38;
/* /*
* Set specified node-num to be favorited on the NodeDB on the device * Set specified node-num to be favorited on the NodeDB on the device
*/ */
@ -296,7 +296,7 @@ message AdminMessage {
Position set_fixed_position = 41; Position set_fixed_position = 41;
/* /*
* Clear fixed position coordinates and then set position.fixed_position = false * Clear fixed position coordinates and then set position.fixed_position = false
*/ */
bool remove_fixed_position = 42; bool remove_fixed_position = 42;

Wyświetl plik

@ -7,11 +7,11 @@ option go_package = "github.com/meshtastic/go/generated";
option java_outer_classname = "ATAKProtos"; option java_outer_classname = "ATAKProtos";
option java_package = "com.geeksville.mesh"; option java_package = "com.geeksville.mesh";
option swift_prefix = ""; option swift_prefix = "";
/* /*
* Packets for the official ATAK Plugin * Packets for the official ATAK Plugin
*/ */
message TAKPacket message TAKPacket {
{
/* /*
* Are the payloads strings compressed for LoRA transport? * Are the payloads strings compressed for LoRA transport?
*/ */
@ -189,6 +189,7 @@ message Status {
*/ */
uint32 battery = 1; uint32 battery = 1;
} }
/* /*
* ATAK Contact * ATAK Contact
* <contact endpoint='0.0.0.0:4242:tcp' phone='+12345678' callsign='FALKE'/> * <contact endpoint='0.0.0.0:4242:tcp' phone='+12345678' callsign='FALKE'/>
@ -247,5 +248,5 @@ message PLI {
/* /*
* Course in degrees * Course in degrees
*/ */
uint32 course = 5; uint32 course = 5;
} }

Wyświetl plik

@ -85,16 +85,16 @@ message ChannelSettings {
/* /*
* Per-channel module settings. * Per-channel module settings.
*/ */
ModuleSettings module_settings = 7; ModuleSettings module_settings = 7;
} }
/* /*
* This message is specifically for modules to store per-channel configuration data. * This message is specifically for modules to store per-channel configuration data.
*/ */
message ModuleSettings { message ModuleSettings {
/* /*
* Bits of precision for the location sent in position packets. * Bits of precision for the location sent in position packets.
*/ */
uint32 position_precision = 1; uint32 position_precision = 1;
} }

Wyświetl plik

@ -50,7 +50,7 @@ message Config {
/* /*
* Description: Broadcasts GPS position packets as priority. * Description: Broadcasts GPS position packets as priority.
* Technical Details: Position Mesh packets will be prioritized higher and sent more frequently by default. * Technical Details: Position Mesh packets will be prioritized higher and sent more frequently by default.
* When used in conjunction with power.is_power_saving = true, nodes will wake up, * When used in conjunction with power.is_power_saving = true, nodes will wake up,
* send position, and then sleep for position.position_broadcast_secs seconds. * send position, and then sleep for position.position_broadcast_secs seconds.
*/ */
TRACKER = 5; TRACKER = 5;
@ -58,7 +58,7 @@ message Config {
/* /*
* Description: Broadcasts telemetry packets as priority. * Description: Broadcasts telemetry packets as priority.
* Technical Details: Telemetry Mesh packets will be prioritized higher and sent more frequently by default. * Technical Details: Telemetry Mesh packets will be prioritized higher and sent more frequently by default.
* When used in conjunction with power.is_power_saving = true, nodes will wake up, * When used in conjunction with power.is_power_saving = true, nodes will wake up,
* send environment telemetry, and then sleep for telemetry.environment_update_interval seconds. * send environment telemetry, and then sleep for telemetry.environment_update_interval seconds.
*/ */
SENSOR = 6; SENSOR = 6;
@ -76,18 +76,18 @@ message Config {
* Technical Details: Used for nodes that "only speak when spoken to" * Technical Details: Used for nodes that "only speak when spoken to"
* Turns all of the routine broadcasts but allows for ad-hoc communication * Turns all of the routine broadcasts but allows for ad-hoc communication
* Still rebroadcasts, but with local only rebroadcast mode (known meshes only) * Still rebroadcasts, but with local only rebroadcast mode (known meshes only)
* Can be used for clandestine operation or to dramatically reduce airtime / power consumption * Can be used for clandestine operation or to dramatically reduce airtime / power consumption
*/ */
CLIENT_HIDDEN = 8; CLIENT_HIDDEN = 8;
/* /*
* Description: Broadcasts location as message to default channel regularly for to assist with device recovery. * Description: Broadcasts location as message to default channel regularly for to assist with device recovery.
* Technical Details: Used to automatically send a text message to the mesh * Technical Details: Used to automatically send a text message to the mesh
* with the current position of the device on a frequent interval: * with the current position of the device on a frequent interval:
* "I'm lost! Position: lat / long" * "I'm lost! Position: lat / long"
*/ */
LOST_AND_FOUND = 9; LOST_AND_FOUND = 9;
/* /*
* Description: Enables automatic TAK PLI broadcasts and reduces routine broadcasts. * Description: Enables automatic TAK PLI broadcasts and reduces routine broadcasts.
* Technical Details: Turns off many of the routine broadcasts to favor ATAK CoT packet stream * Technical Details: Turns off many of the routine broadcasts to favor ATAK CoT packet stream
@ -118,7 +118,7 @@ message Config {
* Only rebroadcasts message on the nodes local primary / secondary channels. * Only rebroadcasts message on the nodes local primary / secondary channels.
*/ */
LOCAL_ONLY = 2; LOCAL_ONLY = 2;
/* /*
* Ignores observed messages from foreign meshes like LOCAL_ONLY, * Ignores observed messages from foreign meshes like LOCAL_ONLY,
* but takes it step further by also ignoring messages from nodenums not in the node's known list (NodeDB) * but takes it step further by also ignoring messages from nodenums not in the node's known list (NodeDB)
@ -257,18 +257,18 @@ message Config {
enum GpsMode { enum GpsMode {
/* /*
* GPS is present but disabled * GPS is present but disabled
*/ */
DISABLED = 0; DISABLED = 0;
/* /*
* GPS is present and enabled * GPS is present and enabled
*/ */
ENABLED = 1; ENABLED = 1;
/* /*
* GPS is not present on the device * GPS is not present on the device
*/ */
NOT_PRESENT = 2; NOT_PRESENT = 2;
} }
@ -293,7 +293,7 @@ message Config {
/* /*
* Is GPS enabled for this node? * Is GPS enabled for this node?
*/ */
bool gps_enabled = 4[deprecated = true]; bool gps_enabled = 4 [deprecated = true];
/* /*
* How often should we try to get GPS position (in seconds) * How often should we try to get GPS position (in seconds)
@ -305,7 +305,7 @@ message Config {
/* /*
* Deprecated in favor of using smart / regular broadcast intervals as implicit attempt time * Deprecated in favor of using smart / regular broadcast intervals as implicit attempt time
*/ */
uint32 gps_attempt_time = 6 [deprecated = true]; uint32 gps_attempt_time = 6 [deprecated = true];
/* /*
* Bit field of boolean configuration options for POSITION messages * Bit field of boolean configuration options for POSITION messages

Wyświetl plik

@ -5,8 +5,8 @@ package meshtastic;
import "meshtastic/channel.proto"; import "meshtastic/channel.proto";
import "meshtastic/localonly.proto"; import "meshtastic/localonly.proto";
import "meshtastic/mesh.proto"; import "meshtastic/mesh.proto";
import "meshtastic/telemetry.proto";
import "meshtastic/module_config.proto"; import "meshtastic/module_config.proto";
import "meshtastic/telemetry.proto";
import "nanopb.proto"; import "nanopb.proto";
option csharp_namespace = "Meshtastic.Protobufs"; option csharp_namespace = "Meshtastic.Protobufs";
@ -80,7 +80,7 @@ message DeviceState {
/* /*
* New lite version of NodeDB to decrease memory footprint * New lite version of NodeDB to decrease memory footprint
*/ */
repeated NodeInfoLite node_db_lite = 14 [(nanopb).callback_datatype="std::vector<meshtastic_NodeInfoLite>"]; repeated NodeInfoLite node_db_lite = 14 [(nanopb).callback_datatype = "std::vector<meshtastic_NodeInfoLite>"];
} }
message NodeInfoLite { message NodeInfoLite {

Wyświetl plik

@ -114,7 +114,7 @@ message LocalModuleConfig {
/* /*
* The part of the config that is specific to the Ambient Lighting module * The part of the config that is specific to the Ambient Lighting module
*/ */
ModuleConfig.AmbientLightingConfig ambient_lighting = 12; ModuleConfig.AmbientLightingConfig ambient_lighting = 12;
/* /*
* The part of the config that is specific to the Detection Sensor module * The part of the config that is specific to the Detection Sensor module
@ -132,4 +132,4 @@ message LocalModuleConfig {
* NodeDB.cpp in the device code. * NodeDB.cpp in the device code.
*/ */
uint32 version = 8; uint32 version = 8;
} }

Wyświetl plik

@ -340,8 +340,8 @@ enum HardwareModel {
SENSELORA_S3 = 28; SENSELORA_S3 = 28;
/* /*
* Canary Radio Company - CanaryOne: https://canaryradio.io/products/canaryone * Canary Radio Company - CanaryOne: https://canaryradio.io/products/canaryone
*/ */
CANARYONE = 29; CANARYONE = 29;
/* /*
@ -456,13 +456,13 @@ enum HardwareModel {
* LilyGo T-Watch S3 with ESP32-S3 CPU and IPS display * LilyGo T-Watch S3 with ESP32-S3 CPU and IPS display
*/ */
T_WATCH_S3 = 51; T_WATCH_S3 = 51;
/* /*
* Bobricius Picomputer with ESP32-S3 CPU, Keyboard and IPS display * Bobricius Picomputer with ESP32-S3 CPU, Keyboard and IPS display
*/ */
PICOMPUTER_S3 = 52; PICOMPUTER_S3 = 52;
/* /*
* Heltec HT-CT62 with ESP32-C3 CPU and SX1262 LoRa * Heltec HT-CT62 with ESP32-C3 CPU and SX1262 LoRa
*/ */
HELTEC_HT62 = 53; HELTEC_HT62 = 53;
@ -481,7 +481,7 @@ enum HardwareModel {
* CircuitMess Chatter 2 LLCC68 Lora Module and ESP32 Wroom * CircuitMess Chatter 2 LLCC68 Lora Module and ESP32 Wroom
* Lora module can be swapped out for a Heltec RA-62 which is "almost" pin compatible * Lora module can be swapped out for a Heltec RA-62 which is "almost" pin compatible
* with one cut and one jumper Meshtastic works * with one cut and one jumper Meshtastic works
*/ */
CHATTER_2 = 56; CHATTER_2 = 56;
/* /*
@ -498,7 +498,7 @@ enum HardwareModel {
* Older "V1.0" Variant * Older "V1.0" Variant
*/ */
HELTEC_WIRELESS_TRACKER_V1_0 = 58; HELTEC_WIRELESS_TRACKER_V1_0 = 58;
/* /*
* ------------------------------------------------------------------------------------------------------------------------------------------ * ------------------------------------------------------------------------------------------------------------------------------------------
* Reserved ID For developing private Ports. These will show up in live traffic sparsely, so we can use a high number. Keep it within 8 bits. * Reserved ID For developing private Ports. These will show up in live traffic sparsely, so we can use a high number. Keep it within 8 bits.
@ -784,7 +784,7 @@ message Waypoint {
/* /*
* This message will be proxied over the PhoneAPI for the client to deliver to the MQTT server * This message will be proxied over the PhoneAPI for the client to deliver to the MQTT server
*/ */
message MqttClientProxyMessage { message MqttClientProxyMessage {
/* /*
* The MQTT topic this message will be sent /received on * The MQTT topic this message will be sent /received on
*/ */
@ -1010,10 +1010,10 @@ message MeshPacket {
*/ */
bool via_mqtt = 14; bool via_mqtt = 14;
/* /*
* Hop limit with which the original packet started. Sent via LoRa using three bits in the unencrypted header. * Hop limit with which the original packet started. Sent via LoRa using three bits in the unencrypted header.
* When receiving a packet, the difference between hop_start and hop_limit gives how many hops it traveled. * When receiving a packet, the difference between hop_start and hop_limit gives how many hops it traveled.
*/ */
uint32 hop_start = 15; uint32 hop_start = 15;
} }
@ -1126,7 +1126,7 @@ message NodeInfo {
* Number of hops away from us this node is (0 if adjacent) * Number of hops away from us this node is (0 if adjacent)
*/ */
uint32 hops_away = 9; uint32 hops_away = 9;
/* /*
* True if node is in our favorites list * True if node is in our favorites list
* Persists between NodeDB internal clean ups * Persists between NodeDB internal clean ups
@ -1507,9 +1507,9 @@ message Neighbor {
float snr = 2; float snr = 2;
/* /*
* Reception time (in secs since 1970) of last message that was last sent by this ID. * Reception time (in secs since 1970) of last message that was last sent by this ID.
* Note: this is for local storage only and will not be sent out over the mesh. * Note: this is for local storage only and will not be sent out over the mesh.
*/ */
fixed32 last_rx_time = 3; fixed32 last_rx_time = 3;
/* /*
@ -1574,13 +1574,11 @@ message DeviceMetadata {
bool hasRemoteHardware = 10; bool hasRemoteHardware = 10;
} }
/* /*
* A heartbeat message is sent to the node from the client to keep the connection alive. * 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. * This is currently only needed to keep serial connections alive, but can be used by any PhoneAPI.
*/ */
message Heartbeat { message Heartbeat {}
}
/* /*
* RemoteHardwarePins associated with a node * RemoteHardwarePins associated with a node

Wyświetl plik

@ -125,7 +125,7 @@ message ModuleConfig {
* Whether the Module is enabled * Whether the Module is enabled
*/ */
bool enabled = 1; bool enabled = 1;
/* /*
* Interval in seconds of how often we should try to send our * Interval in seconds of how often we should try to send our
* Neighbor Info to the mesh * Neighbor Info to the mesh
@ -136,7 +136,7 @@ message ModuleConfig {
/* /*
* Detection Sensor Module Config * Detection Sensor Module Config
*/ */
message DetectionSensorConfig { message DetectionSensorConfig {
/* /*
* Whether the Module is enabled * Whether the Module is enabled
*/ */
@ -542,15 +542,6 @@ message ModuleConfig {
* air quality metrics to the mesh * air quality metrics to the mesh
*/ */
bool power_screen_enabled = 10; bool power_screen_enabled = 10;
} }
/* /*
@ -661,11 +652,10 @@ message ModuleConfig {
} }
/* /*
Ambient Lighting Module - Settings for control of onboard LEDs to allow users to adjust the brightness levels and respective color levels. 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. Initially created for the RAK14001 RGB LED module.
*/ */
message AmbientLightingConfig { message AmbientLightingConfig {
/* /*
* Sets LED to on or off. * Sets LED to on or off.
*/ */
@ -798,4 +788,4 @@ enum RemoteHardwarePinType {
* GPIO pin can be written to (high / low) * GPIO pin can be written to (high / low)
*/ */
DIGITAL_WRITE = 2; DIGITAL_WRITE = 2;
} }

Wyświetl plik

@ -2,8 +2,8 @@ syntax = "proto3";
package meshtastic; package meshtastic;
import "meshtastic/mesh.proto";
import "meshtastic/config.proto"; import "meshtastic/config.proto";
import "meshtastic/mesh.proto";
option csharp_namespace = "Meshtastic.Protobufs"; option csharp_namespace = "Meshtastic.Protobufs";
option go_package = "github.com/meshtastic/go/generated"; option go_package = "github.com/meshtastic/go/generated";
@ -49,8 +49,8 @@ message MapReport {
string short_name = 2; string short_name = 2;
/* /*
* Role of the node that applies specific settings for a particular use-case * Role of the node that applies specific settings for a particular use-case
*/ */
Config.DeviceConfig.Role role = 3; Config.DeviceConfig.Role role = 3;
/* /*
@ -64,19 +64,19 @@ message MapReport {
string firmware_version = 5; string firmware_version = 5;
/* /*
* The region code for the radio (US, CN, EU433, etc...) * The region code for the radio (US, CN, EU433, etc...)
*/ */
Config.LoRaConfig.RegionCode region = 6; Config.LoRaConfig.RegionCode region = 6;
/* /*
* Modem preset used by the radio (LongFast, MediumSlow, etc...) * Modem preset used by the radio (LongFast, MediumSlow, etc...)
*/ */
Config.LoRaConfig.ModemPreset modem_preset = 7; Config.LoRaConfig.ModemPreset modem_preset = 7;
/* /*
* Whether the node has a channel with default PSK and name (LongFast, MediumSlow, etc...) * 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. * and it uses the default frequency slot given the region and modem preset.
*/ */
bool has_default_channel = 8; bool has_default_channel = 8;
/* /*
@ -103,4 +103,4 @@ message MapReport {
* Number of online nodes (heard in the last 2 hours) this node has in its list that were received locally (not via MQTT) * Number of online nodes (heard in the last 2 hours) this node has in its list that were received locally (not via MQTT)
*/ */
uint32 num_online_local_nodes = 13; uint32 num_online_local_nodes = 13;
} }

Wyświetl plik

@ -184,7 +184,7 @@ enum PortNum {
* ENCODING: Protobuf * ENCODING: Protobuf
*/ */
NEIGHBORINFO_APP = 71; NEIGHBORINFO_APP = 71;
/* /*
* ATAK Plugin * ATAK Plugin
* Portnum for payloads from the official Meshtastic ATAK plugin * Portnum for payloads from the official Meshtastic ATAK plugin
@ -213,4 +213,4 @@ enum PortNum {
* Currently we limit port nums to no higher than this value * Currently we limit port nums to no higher than this value
*/ */
MAX = 511; MAX = 511;
} }

Wyświetl plik

@ -215,4 +215,4 @@ message StoreAndForward {
*/ */
bytes text = 5; bytes text = 5;
} }
} }

Wyświetl plik

@ -194,7 +194,7 @@ message Telemetry {
AirQualityMetrics air_quality_metrics = 4; AirQualityMetrics air_quality_metrics = 4;
/* /*
* Power Metrics * Power Metrics
*/ */
PowerMetrics power_metrics = 5; PowerMetrics power_metrics = 5;
} }
@ -283,5 +283,4 @@ enum TelemetrySensorType {
* BMP085/BMP180 High accuracy temperature and pressure (older Version of BMP280) * BMP085/BMP180 High accuracy temperature and pressure (older Version of BMP280)
*/ */
BMP085 = 15; BMP085 = 15;
} }