kopia lustrzana https://github.com/meshtastic/protobufs
Merge remote-tracking branch 'origin/master' into next
commit
37a57aff9f
|
|
@ -3,3 +3,4 @@ packages/rust/src/generated/*
|
|||
packages/rust/target
|
||||
packages/c/*
|
||||
!.gitkeep
|
||||
.DS_Store
|
||||
|
|
|
|||
|
|
@ -14,3 +14,4 @@ The [Protobuf](https://developers.google.com/protocol-buffers) message definitio
|
|||
## Stats
|
||||
|
||||

|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,11 @@
|
|||
|
||||
*AdminMessage.session_passkey max_size:8
|
||||
|
||||
*AdminMessage.InputEvent.event_code int_size:8
|
||||
*AdminMessage.InputEvent.kb_char int_size:8
|
||||
*AdminMessage.InputEvent.touch_x int_size:16
|
||||
*AdminMessage.InputEvent.touch_y int_size:16
|
||||
|
||||
*AdminMessage.set_canned_message_module_messages max_size:201
|
||||
*AdminMessage.get_canned_message_module_messages_response max_size:201
|
||||
*AdminMessage.delete_file_request max_size:201
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ message AdminMessage {
|
|||
SECURITY_CONFIG = 7;
|
||||
|
||||
/*
|
||||
*
|
||||
* Session key config
|
||||
*/
|
||||
SESSIONKEY_CONFIG = 8;
|
||||
|
||||
|
|
@ -166,6 +166,28 @@ message AdminMessage {
|
|||
SD = 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Input event message to be sent to the node.
|
||||
*/
|
||||
message InputEvent {
|
||||
/*
|
||||
* The input event code
|
||||
*/
|
||||
uint32 event_code = 1;
|
||||
/*
|
||||
* Keyboard character code
|
||||
*/
|
||||
uint32 kb_char = 2;
|
||||
/*
|
||||
* The touch X coordinate
|
||||
*/
|
||||
uint32 touch_x = 3;
|
||||
/*
|
||||
* The touch Y coordinate
|
||||
*/
|
||||
uint32 touch_y = 4;
|
||||
}
|
||||
|
||||
/*
|
||||
* TODO: REPLACE
|
||||
*/
|
||||
|
|
@ -296,6 +318,13 @@ message AdminMessage {
|
|||
* Remove backups of the node's preferences
|
||||
*/
|
||||
BackupLocation remove_backup_preferences = 26;
|
||||
|
||||
/*
|
||||
* Send an input event to the node.
|
||||
* This is used to trigger physical input events like button presses, touch events, etc.
|
||||
*/
|
||||
InputEvent send_input_event = 27;
|
||||
|
||||
/*
|
||||
* Set the owner for this node
|
||||
*/
|
||||
|
|
@ -397,6 +426,16 @@ message AdminMessage {
|
|||
*/
|
||||
bool commit_edit_settings = 65;
|
||||
|
||||
/*
|
||||
* Add a contact (User) to the nodedb
|
||||
*/
|
||||
SharedContact add_contact = 66;
|
||||
|
||||
/*
|
||||
* Initiate or respond to a key verification request
|
||||
*/
|
||||
KeyVerificationAdmin key_verification = 67;
|
||||
|
||||
/*
|
||||
* Tell the node to factory reset config everything; all device state and configuration will be returned to factory defaults and BLE bonds will be cleared.
|
||||
*/
|
||||
|
|
@ -472,3 +511,70 @@ message NodeRemoteHardwarePinsResponse {
|
|||
*/
|
||||
repeated NodeRemoteHardwarePin node_remote_hardware_pins = 1;
|
||||
}
|
||||
|
||||
message SharedContact {
|
||||
/*
|
||||
* The node number of the contact
|
||||
*/
|
||||
uint32 node_num = 1;
|
||||
|
||||
/*
|
||||
* The User of the contact
|
||||
*/
|
||||
User user = 2;
|
||||
|
||||
/*
|
||||
* Add this contact to the blocked / ignored list
|
||||
*/
|
||||
bool should_ignore = 3;
|
||||
}
|
||||
|
||||
/*
|
||||
* This message is used by a client to initiate or complete a key verification
|
||||
*/
|
||||
message KeyVerificationAdmin {
|
||||
/*
|
||||
* Three stages of this request.
|
||||
*/
|
||||
enum MessageType {
|
||||
|
||||
/*
|
||||
* This is the first stage, where a client initiates
|
||||
*/
|
||||
INITIATE_VERIFICATION = 0;
|
||||
|
||||
/*
|
||||
* After the nonce has been returned over the mesh, the client prompts for the security number
|
||||
* And uses this message to provide it to the node.
|
||||
*/
|
||||
PROVIDE_SECURITY_NUMBER = 1;
|
||||
|
||||
/*
|
||||
* Once the user has compared the verification message, this message notifies the node.
|
||||
*/
|
||||
DO_VERIFY = 2;
|
||||
|
||||
/*
|
||||
* This is the cancel path, can be taken at any point
|
||||
*/
|
||||
DO_NOT_VERIFY = 3;
|
||||
|
||||
}
|
||||
|
||||
MessageType message_type = 1;
|
||||
|
||||
/*
|
||||
* The nodenum we're requesting
|
||||
*/
|
||||
uint32 remote_nodenum = 2;
|
||||
|
||||
/*
|
||||
* The nonce is used to track the connection
|
||||
*/
|
||||
uint64 nonce = 3;
|
||||
|
||||
/*
|
||||
* The 4 digit code generated by the remote node, and communicated outside the mesh
|
||||
*/
|
||||
optional uint32 security_number = 4;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
# longest current is 45 chars, plan with a bit of buffer
|
||||
*DeviceConfig.tzdef max_size:65
|
||||
*DeviceConfig.buzzer_mode int_size:8
|
||||
|
||||
|
||||
*NetworkConfig.wifi_ssid max_size:33
|
||||
*NetworkConfig.wifi_psk max_size:65
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ message Config {
|
|||
* Description: Combination of both ROUTER and CLIENT. Not for mobile devices.
|
||||
* Deprecated in v2.3.15 because improper usage is impacting public meshes: Use ROUTER or CLIENT instead.
|
||||
*/
|
||||
|
||||
|
||||
ROUTER_CLIENT = 3 [deprecated = true];
|
||||
|
||||
/*
|
||||
|
|
@ -150,6 +150,36 @@ message Config {
|
|||
CORE_PORTNUMS_ONLY = 5;
|
||||
}
|
||||
|
||||
/*
|
||||
* Defines buzzer behavior for audio feedback
|
||||
*/
|
||||
enum BuzzerMode {
|
||||
/*
|
||||
* Default behavior.
|
||||
* Buzzer is enabled for all audio feedback including button presses and alerts.
|
||||
*/
|
||||
ALL_ENABLED = 0;
|
||||
|
||||
/*
|
||||
* Disabled.
|
||||
* All buzzer audio feedback is disabled.
|
||||
*/
|
||||
DISABLED = 1;
|
||||
|
||||
/*
|
||||
* Notifications Only.
|
||||
* Buzzer is enabled only for notifications and alerts, but not for button presses.
|
||||
* External notification config determines the specifics of the notification behavior.
|
||||
*/
|
||||
NOTIFICATIONS_ONLY = 2;
|
||||
|
||||
/*
|
||||
* Non-notification system buzzer tones only.
|
||||
* Buzzer is enabled only for non-notification tones such as button presses, startup, shutdown, but not for alerts.
|
||||
*/
|
||||
SYSTEM_ONLY = 3;
|
||||
}
|
||||
|
||||
/*
|
||||
* Sets the role of node
|
||||
*/
|
||||
|
|
@ -207,9 +237,15 @@ message Config {
|
|||
string tzdef = 11;
|
||||
|
||||
/*
|
||||
* If true, disable the default blinking LED (LED_PIN) behavior on the device
|
||||
* If true, disable the default blinking LED (LED_PIN) behavior on the device
|
||||
*/
|
||||
bool led_heartbeat_disabled = 12;
|
||||
|
||||
/*
|
||||
* Controls buzzer behavior for audio feedback
|
||||
* Defaults to ENABLED
|
||||
*/
|
||||
BuzzerMode buzzer_mode = 13;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -380,7 +416,7 @@ message Config {
|
|||
*/
|
||||
message PowerConfig {
|
||||
/*
|
||||
* Description: Will sleep everything as much as possible, for the tracker and sensor role this will also include the lora radio.
|
||||
* Description: Will sleep everything as much as possible, for the tracker and sensor role this will also include the lora radio.
|
||||
* Don't use this setting if you want to use your device with the phone apps or are using a device without a user button.
|
||||
* Technical Details: Works for ESP32 devices and NRF52 devices in the Sensor or Tracker roles
|
||||
*/
|
||||
|
|
@ -434,7 +470,7 @@ message Config {
|
|||
* If non-zero, we want powermon log outputs. With the particular (bitfield) sources enabled.
|
||||
* Note: we picked an ID of 32 so that lower more efficient IDs can be used for more frequently used options.
|
||||
*/
|
||||
uint64 powermon_enables = 32;
|
||||
uint64 powermon_enables = 32;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -492,7 +528,7 @@ message Config {
|
|||
string wifi_psk = 4;
|
||||
|
||||
/*
|
||||
* NTP server to use if WiFi is conneced, defaults to `0.pool.ntp.org`
|
||||
* NTP server to use if WiFi is conneced, defaults to `meshtastic.pool.ntp.org`
|
||||
*/
|
||||
string ntp_server = 5;
|
||||
|
||||
|
|
@ -521,6 +557,11 @@ message Config {
|
|||
*/
|
||||
uint32 enabled_protocols = 10;
|
||||
|
||||
/*
|
||||
* Enable/Disable ipv6 support
|
||||
*/
|
||||
bool ipv6_enabled = 11;
|
||||
|
||||
/*
|
||||
* Available flags auxiliary network protocols
|
||||
*/
|
||||
|
|
@ -603,17 +644,17 @@ message Config {
|
|||
*/
|
||||
enum OledType {
|
||||
/*
|
||||
* Default / Auto
|
||||
* Default / Autodetect
|
||||
*/
|
||||
OLED_AUTO = 0;
|
||||
|
||||
/*
|
||||
* Default / Auto
|
||||
* Default / Autodetect
|
||||
*/
|
||||
OLED_SSD1306 = 1;
|
||||
|
||||
/*
|
||||
* Default / Auto
|
||||
* Default / Autodetect
|
||||
*/
|
||||
OLED_SH1106 = 2;
|
||||
|
||||
|
|
@ -621,6 +662,11 @@ message Config {
|
|||
* Can not be auto detected but set by proto. Used for 128x128 screens
|
||||
*/
|
||||
OLED_SH1107 = 3;
|
||||
|
||||
/*
|
||||
* Can not be auto detected but set by proto. Used for 128x64 screens
|
||||
*/
|
||||
OLED_SH1107_128_64 = 4;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -850,21 +896,26 @@ message Config {
|
|||
* Singapore 923mhz
|
||||
*/
|
||||
SG_923 = 18;
|
||||
|
||||
|
||||
/*
|
||||
* Philippines 433mhz
|
||||
*/
|
||||
PH_433 = 19;
|
||||
|
||||
|
||||
/*
|
||||
* Philippines 868mhz
|
||||
*/
|
||||
PH_868 = 20;
|
||||
|
||||
|
||||
/*
|
||||
* Philippines 915mhz
|
||||
*/
|
||||
PH_915 = 21;
|
||||
/*
|
||||
* Australia / New Zealand 433MHz
|
||||
*/
|
||||
ANZ_433 = 22;
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -1139,4 +1190,4 @@ message Config {
|
|||
SessionkeyConfig sessionkey = 9;
|
||||
DeviceUIConfig device_ui = 10;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,6 +94,11 @@ message UserLite {
|
|||
* This is sent out to other nodes on the mesh to allow them to compute a shared secret key.
|
||||
*/
|
||||
bytes public_key = 7;
|
||||
|
||||
/*
|
||||
* Whether or not the node can be messaged
|
||||
*/
|
||||
optional bool is_unmessagable = 9;
|
||||
}
|
||||
|
||||
message NodeInfoLite {
|
||||
|
|
@ -156,9 +161,15 @@ message NodeInfoLite {
|
|||
bool is_ignored = 11;
|
||||
|
||||
/*
|
||||
* Last byte of the node number of the node that should be used as the next hop to reach this node.
|
||||
* Last byte of the node number of the node that should be used as the next hop to reach this node.
|
||||
*/
|
||||
uint32 next_hop = 12;
|
||||
|
||||
/*
|
||||
* Bitfield for storing booleans.
|
||||
* LSB 0 is_key_manually_verified
|
||||
*/
|
||||
uint32 bitfield = 13;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -288,4 +299,4 @@ message ChannelFile {
|
|||
* The node's user (owner) information
|
||||
*/
|
||||
User owner = 6;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ syntax = "proto2";
|
|||
|
||||
import "google/protobuf/descriptor.proto";
|
||||
|
||||
option go_package = "github.com/meshtastic/go/generated";
|
||||
option java_package = "fi.kapsi.koti.jpa.nanopb";
|
||||
|
||||
enum FieldType {
|
||||
|
|
|
|||
|
|
@ -19,24 +19,24 @@ message DeviceUIConfig {
|
|||
uint32 version = 1;
|
||||
|
||||
/*
|
||||
* TFT display brightness 1..255
|
||||
* TFT display brightness 1..255
|
||||
*/
|
||||
uint32 screen_brightness = 2;
|
||||
|
||||
/*
|
||||
* Screen timeout 0..900
|
||||
* Screen timeout 0..900
|
||||
*/
|
||||
uint32 screen_timeout = 3;
|
||||
|
||||
/*
|
||||
* Screen/Settings lock enabled
|
||||
* Screen/Settings lock enabled
|
||||
*/
|
||||
bool screen_lock = 4;
|
||||
bool settings_lock = 5;
|
||||
uint32 pin_code = 6;
|
||||
|
||||
/*
|
||||
* Color theme
|
||||
* Color theme
|
||||
*/
|
||||
Theme theme = 7;
|
||||
|
||||
|
|
@ -48,12 +48,12 @@ message DeviceUIConfig {
|
|||
uint32 ring_tone_id = 10;
|
||||
|
||||
/*
|
||||
* Localization
|
||||
* Localization
|
||||
*/
|
||||
Language language = 11;
|
||||
|
||||
/*
|
||||
* Node list filter
|
||||
* Node list filter
|
||||
*/
|
||||
NodeFilter node_filter = 12;
|
||||
|
||||
|
|
@ -84,32 +84,32 @@ message NodeFilter {
|
|||
* Filter offline nodes
|
||||
*/
|
||||
bool offline_switch = 2;
|
||||
|
||||
|
||||
/*
|
||||
* Filter nodes w/o public key
|
||||
*/
|
||||
bool public_key_switch = 3;
|
||||
|
||||
|
||||
/*
|
||||
* Filter based on hops away
|
||||
*/
|
||||
int32 hops_away = 4;
|
||||
|
||||
|
||||
/*
|
||||
* Filter nodes w/o position
|
||||
*/
|
||||
bool position_switch = 5;
|
||||
|
||||
|
||||
/*
|
||||
* Filter nodes by matching name string
|
||||
*/
|
||||
string node_name = 6;
|
||||
|
||||
|
||||
/*
|
||||
* Filter based on channel
|
||||
*/
|
||||
int32 channel = 7;
|
||||
|
||||
|
||||
}
|
||||
|
||||
message NodeHighlight {
|
||||
|
|
@ -122,7 +122,7 @@ message NodeHighlight {
|
|||
* Highlight nodes w/ position
|
||||
*/
|
||||
bool position_switch = 2;
|
||||
|
||||
|
||||
/*
|
||||
* Highlight nodes w/ telemetry data
|
||||
*/
|
||||
|
|
@ -132,12 +132,12 @@ message NodeHighlight {
|
|||
* Highlight nodes w/ iaq data
|
||||
*/
|
||||
bool iaq_switch = 4;
|
||||
|
||||
|
||||
/*
|
||||
* Highlight nodes by matching name string
|
||||
*/
|
||||
string node_name = 5;
|
||||
|
||||
|
||||
}
|
||||
|
||||
message GeoPoint {
|
||||
|
|
@ -147,10 +147,10 @@ message GeoPoint {
|
|||
int32 zoom = 1;
|
||||
|
||||
/*
|
||||
* Coordinate: latitude
|
||||
* Coordinate: latitude
|
||||
*/
|
||||
int32 latitude = 2;
|
||||
|
||||
|
||||
/*
|
||||
* Coordinate: longitude
|
||||
*/
|
||||
|
|
@ -167,7 +167,7 @@ message Map {
|
|||
* Map tile style
|
||||
*/
|
||||
string style = 2;
|
||||
|
||||
|
||||
/*
|
||||
* Map scroll follows GPS
|
||||
*/
|
||||
|
|
@ -227,17 +227,17 @@ enum Language {
|
|||
* Swedish
|
||||
*/
|
||||
SWEDISH = 6;
|
||||
|
||||
|
||||
/*
|
||||
* Finnish
|
||||
*/
|
||||
FINNISH = 7;
|
||||
|
||||
|
||||
/*
|
||||
* Polish
|
||||
*/
|
||||
POLISH = 8;
|
||||
|
||||
|
||||
/*
|
||||
* Turkish
|
||||
*/
|
||||
|
|
@ -273,6 +273,16 @@ enum Language {
|
|||
*/
|
||||
SLOVENIAN = 15;
|
||||
|
||||
/*
|
||||
* Ukrainian
|
||||
*/
|
||||
UKRAINIAN = 16;
|
||||
|
||||
/*
|
||||
* Bulgarian
|
||||
*/
|
||||
BULGARIAN = 17;
|
||||
|
||||
/*
|
||||
* Simplified Chinese (experimental)
|
||||
*/
|
||||
|
|
@ -283,4 +293,3 @@ enum Language {
|
|||
*/
|
||||
TRADITIONAL_CHINESE = 31;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
*InterdeviceMessage.nmea max_size:1024
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package meshtastic;
|
||||
|
||||
option csharp_namespace = "Meshtastic.Protobufs";
|
||||
option go_package = "github.com/meshtastic/go/generated";
|
||||
option java_outer_classname = "InterdeviceProtos";
|
||||
option java_package = "com.geeksville.mesh";
|
||||
option swift_prefix = "";
|
||||
|
||||
// encapsulate up to 1k of NMEA string data
|
||||
|
||||
enum MessageType {
|
||||
ACK = 0;
|
||||
COLLECT_INTERVAL = 160; // in ms
|
||||
BEEP_ON = 161; // duration ms
|
||||
BEEP_OFF = 162; // cancel prematurely
|
||||
SHUTDOWN = 163;
|
||||
POWER_ON = 164;
|
||||
SCD41_TEMP = 176;
|
||||
SCD41_HUMIDITY = 177;
|
||||
SCD41_CO2 = 178;
|
||||
AHT20_TEMP = 179;
|
||||
AHT20_HUMIDITY = 180;
|
||||
TVOC_INDEX = 181;
|
||||
}
|
||||
|
||||
message SensorData {
|
||||
// The message type
|
||||
MessageType type = 1;
|
||||
// The sensor data, either as a float or an uint32
|
||||
oneof data {
|
||||
float float_value = 2;
|
||||
uint32 uint32_value = 3;
|
||||
}
|
||||
}
|
||||
|
||||
message InterdeviceMessage {
|
||||
// The message data
|
||||
oneof data {
|
||||
string nmea = 1;
|
||||
SensorData sensor = 2;
|
||||
}
|
||||
}
|
||||
|
|
@ -58,6 +58,15 @@
|
|||
|
||||
*ClientNotification.message max_size:400
|
||||
|
||||
*KeyVerificationNumberInform.remote_longname max_size:40
|
||||
*KeyVerificationNumberRequest.remote_longname max_size:40
|
||||
*KeyVerificationFinal.remote_longname max_size:40
|
||||
*KeyVerificationFinal.verification_characters max_size:10
|
||||
|
||||
*KeyVerification.hash1 max_size:32
|
||||
*KeyVerification.hash2 max_size:32
|
||||
|
||||
|
||||
# MyMessage.name max_size:40
|
||||
# or fixed_length or fixed_count, or max_count
|
||||
|
||||
|
|
|
|||
|
|
@ -675,7 +675,89 @@ enum HardwareModel {
|
|||
* https://www.loraitalia.it
|
||||
*/
|
||||
MESHLINK = 87;
|
||||
|
||||
/*
|
||||
* Seeed XIAO nRF52840 + Wio SX1262 kit
|
||||
*/
|
||||
XIAO_NRF52_KIT = 88;
|
||||
|
||||
/*
|
||||
* Elecrow ThinkNode M1 & M2
|
||||
* https://www.elecrow.com/wiki/ThinkNode-M1_Transceiver_Device(Meshtastic)_Power_By_nRF52840.html
|
||||
* https://www.elecrow.com/wiki/ThinkNode-M2_Transceiver_Device(Meshtastic)_Power_By_NRF52840.html (this actually uses ESP32-S3)
|
||||
*/
|
||||
THINKNODE_M1 = 89;
|
||||
THINKNODE_M2 = 90;
|
||||
|
||||
/*
|
||||
* Lilygo T-ETH-Elite
|
||||
*/
|
||||
T_ETH_ELITE = 91;
|
||||
|
||||
/*
|
||||
* Heltec HRI-3621 industrial probe
|
||||
*/
|
||||
HELTEC_SENSOR_HUB = 92;
|
||||
|
||||
/*
|
||||
* Reserved Fried Chicken ID for future use
|
||||
*/
|
||||
RESERVED_FRIED_CHICKEN = 93;
|
||||
|
||||
/*
|
||||
* Heltec Magnetic Power Bank with Meshtastic compatible
|
||||
*/
|
||||
HELTEC_MESH_POCKET = 94;
|
||||
|
||||
/*
|
||||
* Seeed Solar Node
|
||||
*/
|
||||
SEEED_SOLAR_NODE = 95;
|
||||
|
||||
/*
|
||||
* NomadStar Meteor Pro https://nomadstar.ch/
|
||||
*/
|
||||
NOMADSTAR_METEOR_PRO = 96;
|
||||
|
||||
/*
|
||||
* Elecrow CrowPanel Advance models, ESP32-S3 and TFT with SX1262 radio plugin
|
||||
*/
|
||||
CROWPANEL = 97;
|
||||
|
||||
/**
|
||||
* Lilygo LINK32 board with sensors
|
||||
*/
|
||||
LINK_32 = 98;
|
||||
|
||||
/**
|
||||
* Seeed Tracker L1
|
||||
*/
|
||||
SEEED_WIO_TRACKER_L1 = 99;
|
||||
|
||||
/**
|
||||
* Seeed Tracker L1 EINK driver
|
||||
*/
|
||||
SEEED_WIO_TRACKER_L1_EINK = 100;
|
||||
|
||||
/*
|
||||
* Reserved ID for future and past use
|
||||
*/
|
||||
QWANTZ_TINY_ARMS = 101;
|
||||
|
||||
/**
|
||||
* Lilygo T-Deck Pro
|
||||
*/
|
||||
T_DECK_PRO = 102;
|
||||
|
||||
/**
|
||||
* Lilygo TLora Pager
|
||||
*/
|
||||
T_LORA_PAGER = 103;
|
||||
|
||||
/**
|
||||
* GAT562 Mesh Trial Tracker
|
||||
*/
|
||||
GAT562_MESH_TRIAL_TRACKER = 104;
|
||||
|
||||
/*
|
||||
* ------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
|
@ -759,6 +841,11 @@ message User {
|
|||
* This is sent out to other nodes on the mesh to allow them to compute a shared secret key.
|
||||
*/
|
||||
bytes public_key = 8;
|
||||
|
||||
/*
|
||||
* Whether or not the node can be messaged
|
||||
*/
|
||||
optional bool is_unmessagable = 9;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -959,6 +1046,28 @@ message Data {
|
|||
optional uint32 bitfield = 9;
|
||||
}
|
||||
|
||||
/*
|
||||
* The actual over-the-mesh message doing KeyVerification
|
||||
*/
|
||||
message KeyVerification {
|
||||
|
||||
/*
|
||||
* random value Selected by the requesting node
|
||||
*/
|
||||
uint64 nonce = 1;
|
||||
|
||||
/*
|
||||
* The final authoritative hash, only to be sent by NodeA at the end of the handshake
|
||||
*/
|
||||
bytes hash1 = 2;
|
||||
|
||||
/*
|
||||
* The intermediary hash (actually derived from hash1),
|
||||
* sent from NodeB to NodeA in response to the initial message.
|
||||
*/
|
||||
bytes hash2 = 3;
|
||||
}
|
||||
|
||||
/*
|
||||
* Waypoint message, used to share arbitrary locations across the mesh
|
||||
*/
|
||||
|
|
@ -1102,7 +1211,7 @@ message MeshPacket {
|
|||
|
||||
/*
|
||||
* Higher priority alert message used for critical alerts which take priority over other reliable packets.
|
||||
*/
|
||||
*/
|
||||
ALERT = 110;
|
||||
|
||||
/*
|
||||
|
|
@ -1267,7 +1376,7 @@ message MeshPacket {
|
|||
bool pki_encrypted = 17;
|
||||
|
||||
/*
|
||||
* Last byte of the node number of the node that should be used as the next hop in routing.
|
||||
* Last byte of the node number of the node that should be used as the next hop in routing.
|
||||
* Set by the firmware internally, clients are not supposed to set this.
|
||||
*/
|
||||
uint32 next_hop = 18;
|
||||
|
|
@ -1407,6 +1516,13 @@ message NodeInfo {
|
|||
* Persists between NodeDB internal clean ups
|
||||
*/
|
||||
bool is_ignored = 11;
|
||||
|
||||
/*
|
||||
* True if node public key has been verified.
|
||||
* Persists between NodeDB internal clean ups
|
||||
* LSB 0 of the bitfield
|
||||
*/
|
||||
bool is_key_manually_verified = 12;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -1741,8 +1857,33 @@ message ClientNotification {
|
|||
* The message body of the notification
|
||||
*/
|
||||
string message = 4;
|
||||
|
||||
oneof payload_variant {
|
||||
KeyVerificationNumberInform key_verification_number_inform = 11;
|
||||
KeyVerificationNumberRequest key_verification_number_request = 12;
|
||||
KeyVerificationFinal key_verification_final = 13;
|
||||
DuplicatedPublicKey duplicated_public_key = 14;
|
||||
LowEntropyKey low_entropy_key = 15;
|
||||
}
|
||||
}
|
||||
|
||||
message KeyVerificationNumberInform {
|
||||
uint64 nonce = 1;
|
||||
string remote_longname = 2;
|
||||
uint32 security_number = 3;
|
||||
}
|
||||
message KeyVerificationNumberRequest {
|
||||
uint64 nonce = 1;
|
||||
string remote_longname = 2;
|
||||
}
|
||||
message KeyVerificationFinal {
|
||||
uint64 nonce = 1;
|
||||
string remote_longname = 2;
|
||||
bool isSender = 3;
|
||||
string verification_characters = 4;
|
||||
}
|
||||
message DuplicatedPublicKey {}
|
||||
message LowEntropyKey {}
|
||||
/*
|
||||
* Individual File info for the device
|
||||
*/
|
||||
|
|
@ -2015,6 +2156,16 @@ enum ExcludedModules {
|
|||
* Paxcounter module
|
||||
*/
|
||||
PAXCOUNTER_CONFIG = 0x1000;
|
||||
|
||||
/*
|
||||
* Bluetooth config (not technically a module, but used to indicate bluetooth capabilities)
|
||||
*/
|
||||
BLUETOOTH_CONFIG = 0x2000;
|
||||
|
||||
/*
|
||||
* Network config (not technically a module, but used to indicate network capabilities)
|
||||
*/
|
||||
NETWORK_CONFIG = 0x4000;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -95,6 +95,11 @@ message ModuleConfig {
|
|||
* Bits of precision for the location sent (default of 32 is full precision).
|
||||
*/
|
||||
uint32 position_precision = 2;
|
||||
|
||||
/*
|
||||
* Whether we have opted-in to report our location to the map
|
||||
*/
|
||||
bool should_report_location = 3;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -136,7 +141,7 @@ message ModuleConfig {
|
|||
* Whether in addition to sending it to MQTT and the PhoneAPI, our NeighborInfo should be transmitted over LoRa.
|
||||
* Note that this is not available on a channel with default key and name.
|
||||
*/
|
||||
bool transmit_over_lora = 3;
|
||||
bool transmit_over_lora = 3;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -331,6 +336,9 @@ message ModuleConfig {
|
|||
CALTOPO = 5;
|
||||
// Ecowitt WS85 weather station
|
||||
WS85 = 6;
|
||||
// VE.Direct is a serial protocol used by Victron Energy products
|
||||
// https://beta.ivc.no/wiki/index.php/Victron_VE_Direct_DIY_Cable
|
||||
VE_DIRECT = 7;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -103,4 +103,10 @@ 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)
|
||||
*/
|
||||
uint32 num_online_local_nodes = 13;
|
||||
|
||||
/*
|
||||
* User has opted in to share their location (map report) with the mqtt server
|
||||
* Controlled by map_report.should_report_location
|
||||
*/
|
||||
bool has_opted_report_location = 14;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -110,6 +110,11 @@ enum PortNum {
|
|||
*/
|
||||
ALERT_APP = 11;
|
||||
|
||||
/*
|
||||
* Module/port for handling key verification requests.
|
||||
*/
|
||||
KEY_VERIFICATION_APP = 12;
|
||||
|
||||
/*
|
||||
* Provides a 'ping' service that replies to any packet it receives.
|
||||
* Also serves as a small example module.
|
||||
|
|
@ -206,6 +211,12 @@ enum PortNum {
|
|||
*/
|
||||
POWERSTRESS_APP = 74;
|
||||
|
||||
/*
|
||||
* Reticulum Network Stack Tunnel App
|
||||
* ENCODING: Fragmented RNS Packet. Handled by Meshtastic RNS interface
|
||||
*/
|
||||
RETICULUM_TUNNEL_APP = 76;
|
||||
|
||||
/*
|
||||
* Private applications should use portnums >= 256.
|
||||
* To simplify initial development and testing you can use "PRIVATE_APP"
|
||||
|
|
@ -223,4 +234,4 @@ enum PortNum {
|
|||
* Currently we limit port nums to no higher than this value
|
||||
*/
|
||||
MAX = 511;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,4 +101,4 @@ message PowerStressMessage {
|
|||
Opcode cmd = 1;
|
||||
|
||||
float num_seconds = 2;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,9 +3,15 @@
|
|||
|
||||
*EnvironmentMetrics.iaq int_size:16
|
||||
*EnvironmentMetrics.wind_direction int_size:16
|
||||
*EnvironmentMetrics.soil_moisture int_size:8
|
||||
|
||||
*LocalStats.num_online_nodes int_size:16
|
||||
*LocalStats.num_total_nodes int_size:16
|
||||
|
||||
*HealthMetrics.heart_bpm int_size:8
|
||||
*HealthMetrics.spO2 int_size:8
|
||||
|
||||
*HostMetrics.load1 int_size:16
|
||||
*HostMetrics.load5 int_size:16
|
||||
*HostMetrics.load15 int_size:16
|
||||
*HostMetrics.user_string max_size:200
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ message EnvironmentMetrics {
|
|||
*/
|
||||
optional float current = 6;
|
||||
|
||||
/*
|
||||
/*
|
||||
* relative scale IAQ value as measured by Bosch BME680 . value 0-500.
|
||||
* Belongs to Air Quality but is not particle but VOC measurement. Other VOC values can also be put in here.
|
||||
*/
|
||||
|
|
@ -144,6 +144,15 @@ message EnvironmentMetrics {
|
|||
*/
|
||||
optional float rainfall_24h = 20;
|
||||
|
||||
/*
|
||||
* Soil moisture measured (% 1-100)
|
||||
*/
|
||||
optional uint32 soil_moisture = 21;
|
||||
|
||||
/*
|
||||
* Soil temperature measured (*C)
|
||||
*/
|
||||
optional float soil_temperature = 22;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -244,9 +253,9 @@ message AirQualityMetrics {
|
|||
* 10.0um Particle Count
|
||||
*/
|
||||
optional uint32 particles_100um = 12;
|
||||
|
||||
|
||||
/*
|
||||
* 10.0um Particle Count
|
||||
* CO2 concentration in ppm
|
||||
*/
|
||||
optional uint32 co2 = 13;
|
||||
}
|
||||
|
|
@ -272,7 +281,7 @@ message LocalStats {
|
|||
* Number of packets sent
|
||||
*/
|
||||
uint32 num_packets_tx = 4;
|
||||
|
||||
|
||||
/*
|
||||
* Number of packets received (both good and bad)
|
||||
*/
|
||||
|
|
@ -309,6 +318,16 @@ message LocalStats {
|
|||
* This will always be zero for ROUTERs/REPEATERs. If this number is high, some other node(s) is/are relaying faster than you.
|
||||
*/
|
||||
uint32 num_tx_relay_canceled = 11;
|
||||
|
||||
/*
|
||||
* Number of bytes used in the heap
|
||||
*/
|
||||
uint32 heap_total_bytes = 12;
|
||||
|
||||
/*
|
||||
* Number of bytes free in the heap
|
||||
*/
|
||||
uint32 heap_free_bytes = 13;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -331,6 +350,58 @@ message LocalStats {
|
|||
optional float temperature = 3;
|
||||
}
|
||||
|
||||
/*
|
||||
* Linux host metrics
|
||||
*/
|
||||
message HostMetrics {
|
||||
/*
|
||||
* Host system uptime
|
||||
*/
|
||||
uint32 uptime_seconds = 1;
|
||||
|
||||
/*
|
||||
* Host system free memory
|
||||
*/
|
||||
uint64 freemem_bytes = 2;
|
||||
|
||||
/*
|
||||
* Host system disk space free for /
|
||||
*/
|
||||
uint64 diskfree1_bytes = 3;
|
||||
|
||||
/*
|
||||
* Secondary system disk space free
|
||||
*/
|
||||
optional uint64 diskfree2_bytes = 4;
|
||||
|
||||
/*
|
||||
* Tertiary disk space free
|
||||
*/
|
||||
optional uint64 diskfree3_bytes = 5;
|
||||
|
||||
/*
|
||||
* Host system one minute load in 1/100ths
|
||||
*/
|
||||
uint32 load1 = 6;
|
||||
|
||||
/*
|
||||
* Host system five minute load in 1/100ths
|
||||
*/
|
||||
uint32 load5 = 7;
|
||||
|
||||
/*
|
||||
* Host system fifteen minute load in 1/100ths
|
||||
*/
|
||||
uint32 load15 = 8;
|
||||
|
||||
/*
|
||||
* Optional User-provided string for arbitrary host system information
|
||||
* that doesn't make sense as a dedicated entry.
|
||||
*/
|
||||
optional string user_string = 9;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Types of Measurements the telemetry module is equipped to handle
|
||||
*/
|
||||
|
|
@ -370,6 +441,11 @@ message Telemetry {
|
|||
* Health telemetry metrics
|
||||
*/
|
||||
HealthMetrics health_metrics = 7;
|
||||
|
||||
/*
|
||||
* Linux host metrics
|
||||
*/
|
||||
HostMetrics host_metrics = 8;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -491,17 +567,17 @@ enum TelemetrySensorType {
|
|||
* AMS TSL25911FN RGB Light Sensor
|
||||
*/
|
||||
TSL25911FN = 22;
|
||||
|
||||
|
||||
/*
|
||||
* AHT10 Integrated temperature and humidity sensor
|
||||
*/
|
||||
AHT10 = 23;
|
||||
|
||||
/*
|
||||
* DFRobot Lark Weather station (temperature, humidity, pressure, wind speed and direction)
|
||||
* DFRobot Lark Weather station (temperature, humidity, pressure, wind speed and direction)
|
||||
*/
|
||||
DFROBOT_LARK = 24;
|
||||
|
||||
|
||||
/*
|
||||
* NAU7802 Scale Chip or compatible
|
||||
*/
|
||||
|
|
@ -528,15 +604,15 @@ enum TelemetrySensorType {
|
|||
CUSTOM_SENSOR = 29;
|
||||
|
||||
/*
|
||||
* MAX30102 Pulse Oximeter and Heart-Rate Sensor
|
||||
* MAX30102 Pulse Oximeter and Heart-Rate Sensor
|
||||
*/
|
||||
MAX30102 = 30;
|
||||
|
||||
|
||||
/*
|
||||
* MLX90614 non-contact IR temperature sensor
|
||||
*/
|
||||
MLX90614 = 31;
|
||||
|
||||
|
||||
/*
|
||||
* SCD40/SCD41 CO2, humidity, temperature sensor
|
||||
*/
|
||||
|
|
@ -546,7 +622,7 @@ enum TelemetrySensorType {
|
|||
* ClimateGuard RadSens, radiation, Geiger-Muller Tube
|
||||
*/
|
||||
RADSENS = 33;
|
||||
|
||||
|
||||
/*
|
||||
* High accuracy current and voltage
|
||||
*/
|
||||
|
|
@ -557,6 +633,25 @@ enum TelemetrySensorType {
|
|||
*/
|
||||
DFROBOT_RAIN = 35;
|
||||
|
||||
/*
|
||||
* Infineon DPS310 High accuracy pressure and temperature
|
||||
*/
|
||||
DPS310 = 36;
|
||||
|
||||
/*
|
||||
* RAKWireless RAK12035 Soil Moisture Sensor Module
|
||||
*/
|
||||
RAK12035 = 37;
|
||||
|
||||
/*
|
||||
* MAX17261 lipo battery gauge
|
||||
*/
|
||||
MAX17261 = 38;
|
||||
|
||||
/*
|
||||
* PCT2075 Temperature Sensor
|
||||
*/
|
||||
PCT2075 = 39;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue