kopia lustrzana https://github.com/meshtastic/protobufs
Merge branch 'master' of github.com:meshtastic/Meshtastic-protobufs
commit
6587a2530b
|
@ -10,3 +10,21 @@
|
|||
|
||||
- [ ] All top level messages commented
|
||||
- [ ] All enum members have unique descriptions
|
||||
|
||||
|
||||
### New Hardware Model Acceptance Policy
|
||||
|
||||
Due to limited availability and ongoing support, new Hardware Models will only be accepted from [Meshtastic Backers and Partners](https://meshtastic.com/). The Meshtastic team reserves the right to make exceptions to this policy.
|
||||
|
||||
#### Alternative for Community Contributors
|
||||
|
||||
You are welcome to use one of the existing DIY hardware models in your PlatformIO environment and create a pull request in the firmware project. Please note the following conditions:
|
||||
|
||||
- The device will **not** be officially supported by the core Meshtastic team.
|
||||
- The device will **not** appear in the [Web Flasher](https://flasher.meshtastic.org/) or Github release assets.
|
||||
- You will be responsible for ongoing maintenance and support.
|
||||
- Community-contributed / DIY hardware models are considered experimental and will likely have limited or no testing.
|
||||
|
||||
#### Getting Official Support
|
||||
|
||||
To have your hardware model officially supported and included in the Meshtastic ecosystem, consider becoming a Meshtastic Backer or Partner. Visit [meshtastic.com](https://meshtastic.com/) for more information about partnership opportunities.
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
.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
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
@ -210,6 +240,12 @@ message Config {
|
|||
* 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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -865,6 +911,11 @@ message Config {
|
|||
* Philippines 915mhz
|
||||
*/
|
||||
PH_915 = 21;
|
||||
/*
|
||||
* Australia / New Zealand 433MHz
|
||||
*/
|
||||
ANZ_433 = 22;
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
*DeviceUIConfig.screen_timeout int_size:16
|
||||
*DeviceUIConfig.ring_tone_id int_size:8
|
||||
*DeviceUIConfig.calibration_data max_size:16
|
||||
*DeviceUIConfig.compass_mode int_size:8
|
||||
*NodeFilter.node_name max_size:16
|
||||
*NodeFilter.hops_away int_size:8
|
||||
*NodeFilter.channel int_size:8
|
||||
|
|
|
@ -71,6 +71,23 @@ message DeviceUIConfig {
|
|||
* Map related data
|
||||
*/
|
||||
Map map_data = 15;
|
||||
|
||||
/*
|
||||
* Compass mode
|
||||
*/
|
||||
CompassMode compass_mode = 16;
|
||||
|
||||
/*
|
||||
* RGB color for BaseUI
|
||||
* 0xRRGGBB format, e.g. 0xFF0000 for red
|
||||
*/
|
||||
uint32 screen_rgb_color = 17;
|
||||
|
||||
/*
|
||||
* Clockface analog style
|
||||
* true for analog clockface, false for digital clockface
|
||||
*/
|
||||
bool is_clockface_analog = 18;
|
||||
}
|
||||
|
||||
|
||||
|
@ -174,6 +191,23 @@ message Map {
|
|||
bool follow_gps = 3;
|
||||
}
|
||||
|
||||
enum CompassMode {
|
||||
/*
|
||||
* Compass with dynamic ring and heading
|
||||
*/
|
||||
DYNAMIC = 0;
|
||||
|
||||
/*
|
||||
* Compass with fixed ring and heading
|
||||
*/
|
||||
FIXED_RING = 1;
|
||||
|
||||
/*
|
||||
* Compass with heading and freeze option
|
||||
*/
|
||||
FREEZE_HEADING = 2;
|
||||
}
|
||||
|
||||
enum Theme {
|
||||
/*
|
||||
* Dark
|
||||
|
@ -273,6 +307,16 @@ enum Language {
|
|||
*/
|
||||
SLOVENIAN = 15;
|
||||
|
||||
/*
|
||||
* Ukrainian
|
||||
*/
|
||||
UKRAINIAN = 16;
|
||||
|
||||
/*
|
||||
* Bulgarian
|
||||
*/
|
||||
BULGARIAN = 17;
|
||||
|
||||
/*
|
||||
* Simplified Chinese (experimental)
|
||||
*/
|
||||
|
@ -283,4 +327,3 @@ enum Language {
|
|||
*/
|
||||
TRADITIONAL_CHINESE = 31;
|
||||
}
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
@ -159,6 +164,12 @@ message NodeInfoLite {
|
|||
* 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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -676,6 +676,100 @@ enum HardwareModel {
|
|||
*/
|
||||
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;
|
||||
|
||||
/**
|
||||
* RAKwireless WisMesh Tag
|
||||
*/
|
||||
WISMESH_TAG = 105;
|
||||
|
||||
/**
|
||||
* RAKwireless WisBlock Core RAK3312 https://docs.rakwireless.com/product-categories/wisduo/rak3112-module/overview/
|
||||
*/
|
||||
RAK3312 = 106;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* ------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -759,6 +853,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 +1058,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
|
||||
*/
|
||||
|
@ -1407,6 +1528,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 +1869,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 +2168,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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -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,19 @@ enum PortNum {
|
|||
*/
|
||||
POWERSTRESS_APP = 74;
|
||||
|
||||
/*
|
||||
* Reticulum Network Stack Tunnel App
|
||||
* ENCODING: Fragmented RNS Packet. Handled by Meshtastic RNS interface
|
||||
*/
|
||||
RETICULUM_TUNNEL_APP = 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
|
||||
*/
|
||||
CAYENNE_APP = 77;
|
||||
|
||||
/*
|
||||
* Private applications should use portnums >= 256.
|
||||
* To simplify initial development and testing you can use "PRIVATE_APP"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -179,6 +188,56 @@ message PowerMetrics {
|
|||
* Current (Ch3)
|
||||
*/
|
||||
optional float ch3_current = 6;
|
||||
|
||||
/*
|
||||
* Voltage (Ch4)
|
||||
*/
|
||||
optional float ch4_voltage = 7;
|
||||
|
||||
/*
|
||||
* Current (Ch4)
|
||||
*/
|
||||
optional float ch4_current = 8;
|
||||
|
||||
/*
|
||||
* Voltage (Ch5)
|
||||
*/
|
||||
optional float ch5_voltage = 9;
|
||||
|
||||
/*
|
||||
* Current (Ch5)
|
||||
*/
|
||||
optional float ch5_current = 10;
|
||||
|
||||
/*
|
||||
* Voltage (Ch6)
|
||||
*/
|
||||
optional float ch6_voltage = 11;
|
||||
|
||||
/*
|
||||
* Current (Ch6)
|
||||
*/
|
||||
optional float ch6_current = 12;
|
||||
|
||||
/*
|
||||
* Voltage (Ch7)
|
||||
*/
|
||||
optional float ch7_voltage = 13;
|
||||
|
||||
/*
|
||||
* Current (Ch7)
|
||||
*/
|
||||
optional float ch7_current = 14;
|
||||
|
||||
/*
|
||||
* Voltage (Ch8)
|
||||
*/
|
||||
optional float ch8_voltage = 15;
|
||||
|
||||
/*
|
||||
* Current (Ch8)
|
||||
*/
|
||||
optional float ch8_current = 16;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -246,9 +305,19 @@ message AirQualityMetrics {
|
|||
optional uint32 particles_100um = 12;
|
||||
|
||||
/*
|
||||
* 10.0um Particle Count
|
||||
* CO2 concentration in ppm
|
||||
*/
|
||||
optional uint32 co2 = 13;
|
||||
|
||||
/*
|
||||
* CO2 sensor temperature in degC
|
||||
*/
|
||||
optional float co2_temperature = 14;
|
||||
|
||||
/*
|
||||
* CO2 sensor relative humidity in %
|
||||
*/
|
||||
optional float co2_humidity = 15;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -309,6 +378,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 +410,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 +501,11 @@ message Telemetry {
|
|||
* Health telemetry metrics
|
||||
*/
|
||||
HealthMetrics health_metrics = 7;
|
||||
|
||||
/*
|
||||
* Linux host metrics
|
||||
*/
|
||||
HostMetrics host_metrics = 8;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -557,6 +693,30 @@ 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;
|
||||
|
||||
/*
|
||||
* ADS1X15 ADC
|
||||
*/
|
||||
ADS1X15 = 40;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -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 {
|
||||
|
|
Ładowanie…
Reference in New Issue