kopia lustrzana https://github.com/meshtastic/protobufs
Merge branch 'meshtastic:master' into master
commit
7b56336dee
|
@ -1,5 +1,6 @@
|
|||
# Meshtastic-protobufs
|
||||
[![Open in Visual Studio Code](https://open.vscode.dev/badges/open-in-vscode.svg)](https://open.vscode.dev/meshtastic/Meshtastic-protobufs)
|
||||
[![CI](https://github.com/meshtastic/Meshtastic-protobufs/actions/workflows/ci.yml/badge.svg)](https://github.com/meshtastic/Meshtastic-protobufs/actions/workflows/ci.yml)
|
||||
|
||||
The protobuf definitions for the Meshtastic project (used by apps and the device code)
|
||||
|
||||
|
|
|
@ -1 +1,7 @@
|
|||
*AdminMessage.variant anonymous_oneof:true
|
||||
*AdminMessage.variant anonymous_oneof:true
|
||||
|
||||
*AdminMessage.set_canned_message_plugin_part1 max_size:200
|
||||
*AdminMessage.set_canned_message_plugin_part2 max_size:200
|
||||
*AdminMessage.set_canned_message_plugin_part3 max_size:200
|
||||
*AdminMessage.set_canned_message_plugin_part4 max_size:200
|
||||
*AdminMessage.set_canned_message_plugin_part5 max_size:200
|
||||
|
|
63
admin.proto
63
admin.proto
|
@ -4,6 +4,7 @@ option java_package = "com.geeksville.mesh";
|
|||
option optimize_for = LITE_RUNTIME;
|
||||
option go_package = "github.com/meshtastic/gomeshproto";
|
||||
|
||||
import "cannedmessages.proto";
|
||||
import "channel.proto";
|
||||
import "mesh.proto";
|
||||
import "radioconfig.proto";
|
||||
|
@ -76,5 +77,65 @@ message AdminMessage {
|
|||
* Tell the node to reboot in this many seconds (or <0 to cancel reboot)
|
||||
*/
|
||||
int32 reboot_seconds = 35;
|
||||
|
||||
/*
|
||||
* Get the Canned Message Plugin message part1 in the response to this message.
|
||||
*/
|
||||
bool get_canned_message_plugin_part1_request = 36;
|
||||
CannedMessagePluginMessagePart1 get_canned_message_plugin_part1_response = 37;
|
||||
|
||||
/*
|
||||
* Get the Canned Message Plugin message part2 in the response to this message.
|
||||
*/
|
||||
bool get_canned_message_plugin_part2_request = 38;
|
||||
CannedMessagePluginMessagePart2 get_canned_message_plugin_part2_response = 39;
|
||||
|
||||
/*
|
||||
* Get the Canned Message Plugin message part3 in the response to this message.
|
||||
*/
|
||||
bool get_canned_message_plugin_part3_request = 40;
|
||||
CannedMessagePluginMessagePart3 get_canned_message_plugin_part3_response = 41;
|
||||
|
||||
/*
|
||||
* Get the Canned Message Plugin message part4 in the response to this message.
|
||||
*/
|
||||
bool get_canned_message_plugin_part4_request = 42;
|
||||
CannedMessagePluginMessagePart4 get_canned_message_plugin_part4_response = 43;
|
||||
|
||||
/*
|
||||
* Get the Canned Message Plugin message part5 in the response to this message.
|
||||
*/
|
||||
bool get_canned_message_plugin_part5_request = 44;
|
||||
CannedMessagePluginMessagePart5 get_canned_message_plugin_part5_response = 45;
|
||||
|
||||
/*
|
||||
* Set the canned message plugin part 1 text.
|
||||
*/
|
||||
CannedMessagePluginMessagePart1 set_canned_message_plugin_part1 = 46;
|
||||
|
||||
/*
|
||||
* Set the canned message plugin part 2 text.
|
||||
*/
|
||||
CannedMessagePluginMessagePart2 set_canned_message_plugin_part2 = 47;
|
||||
|
||||
/*
|
||||
* Set the canned message plugin part 3 text.
|
||||
*/
|
||||
CannedMessagePluginMessagePart3 set_canned_message_plugin_part3 = 48;
|
||||
|
||||
/*
|
||||
* Set the canned message plugin part 4 text.
|
||||
*/
|
||||
CannedMessagePluginMessagePart4 set_canned_message_plugin_part4 = 49;
|
||||
|
||||
/*
|
||||
* Set the canned message plugin part 5 text.
|
||||
*/
|
||||
CannedMessagePluginMessagePart5 set_canned_message_plugin_part5 = 50;
|
||||
|
||||
/*
|
||||
* Tell the node to shutdown in this many seconds (or <0 to cancel shutdown)
|
||||
*/
|
||||
int32 shutdown_seconds = 51;
|
||||
}
|
||||
}
|
||||
} // AdminMessage
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
*CannedMessagePluginMessagePart1.text max_size:200
|
||||
*CannedMessagePluginMessagePart2.text max_size:200
|
||||
*CannedMessagePluginMessagePart3.text max_size:200
|
||||
*CannedMessagePluginMessagePart4.text max_size:200
|
||||
*CannedMessagePluginMessagePart5.text max_size:200
|
|
@ -0,0 +1,81 @@
|
|||
syntax = "proto3";
|
||||
/*
|
||||
* Meshtastic protobufs
|
||||
*
|
||||
* For more information on protobufs (and tools to use them with the language of your choice) see
|
||||
* https://developers.google.com/protocol-buffers/docs/proto3
|
||||
*
|
||||
* We are not placing any of these defs inside a package, because if you do the
|
||||
* resulting nanopb version is super verbose package mesh.
|
||||
*
|
||||
* Protobuf build instructions:
|
||||
*
|
||||
* To build java classes for reading writing:
|
||||
* protoc -I=. --java_out /tmp mesh.proto
|
||||
*
|
||||
* To generate Nanopb c code:
|
||||
* /home/kevinh/packages/nanopb-0.4.0-linux-x86/generator-bin/protoc --nanopb_out=/tmp -I=app/src/main/proto mesh.proto
|
||||
*
|
||||
* Nanopb binaries available here: https://jpa.kapsi.fi/nanopb/download/ use nanopb 0.4.0
|
||||
*/
|
||||
|
||||
option java_package = "com.geeksville.mesh";
|
||||
option java_outer_classname = "CannedMessageConfigProtos";
|
||||
option optimize_for = LITE_RUNTIME;
|
||||
option go_package = "github.com/meshtastic/gomeshproto";
|
||||
|
||||
/*
|
||||
* Canned message plugin part 1
|
||||
*/
|
||||
message CannedMessagePluginMessagePart1 {
|
||||
/*
|
||||
* Predefined messages for canned message plugin separated by '|' characters.
|
||||
* This is part 1.
|
||||
*/
|
||||
string text = 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Canned message plugin part 2
|
||||
*/
|
||||
message CannedMessagePluginMessagePart2 {
|
||||
/*
|
||||
* Predefined messages for canned message plugin separated by '|' characters.
|
||||
* This is part 2.
|
||||
*/
|
||||
string text = 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Canned message plugin part 3
|
||||
*/
|
||||
message CannedMessagePluginMessagePart3 {
|
||||
/*
|
||||
* Predefined messages for canned message plugin separated by '|' characters.
|
||||
* This is part 3.
|
||||
*/
|
||||
string text = 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Canned message plugin part 4
|
||||
*/
|
||||
message CannedMessagePluginMessagePart4 {
|
||||
/*
|
||||
* Predefined messages for canned message plugin separated by '|' characters.
|
||||
* This is part 4.
|
||||
*/
|
||||
string text = 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Canned message plugin part 5
|
||||
*/
|
||||
message CannedMessagePluginMessagePart5 {
|
||||
/*
|
||||
* Predefined messages for canned message plugin separated by '|' characters.
|
||||
* This is part 5.
|
||||
*/
|
||||
string text = 1;
|
||||
}
|
||||
|
|
@ -7,5 +7,11 @@
|
|||
# FIXME - max_count is actually 32 but we save/load this as one long string of preencoded MeshPacket bytes - not a big array in RAM
|
||||
*DeviceState.receive_queue max_count:1
|
||||
|
||||
*DeviceState.canned_message_plugin_message_part1 max_size:200
|
||||
*DeviceState.canned_message_plugin_message_part2 max_size:200
|
||||
*DeviceState.canned_message_plugin_message_part3 max_size:200
|
||||
*DeviceState.canned_message_plugin_message_part4 max_size:200
|
||||
*DeviceState.canned_message_plugin_message_part5 max_size:200
|
||||
|
||||
*ChannelFile.channels max_count:8
|
||||
|
||||
|
|
|
@ -87,6 +87,32 @@ message DeviceState {
|
|||
* Some GPSes seem to have bogus settings from the factory, so we always do one factory reset.
|
||||
*/
|
||||
bool did_gps_reset = 11;
|
||||
|
||||
/*
|
||||
* Canned Message Plugin message part1.
|
||||
*/
|
||||
string canned_message_plugin_message_part1 = 13;
|
||||
|
||||
/*
|
||||
* Canned Message Plugin message part2.
|
||||
*/
|
||||
string canned_message_plugin_message_part2 = 14;
|
||||
|
||||
/*
|
||||
* Canned Message Plugin message part3.
|
||||
*/
|
||||
string canned_message_plugin_message_part3 = 15;
|
||||
|
||||
/*
|
||||
* Canned Message Plugin message part4.
|
||||
*/
|
||||
string canned_message_plugin_message_part4 = 16;
|
||||
|
||||
/*
|
||||
* Canned Message Plugin message part5.
|
||||
*/
|
||||
string canned_message_plugin_message_part5 = 17;
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -9,3 +9,5 @@
|
|||
*UserPreferences.mqtt_username max_size:32
|
||||
*UserPreferences.mqtt_password max_size:32
|
||||
|
||||
*UserPreferences.canned_message_plugin_allow_input_source max_size:16
|
||||
*UserPreferences.canned_message_plugin_messages max_size:200
|
||||
|
|
|
@ -217,6 +217,18 @@ enum PositionFlags {
|
|||
POS_TIMESTAMP = 0x0100;
|
||||
}
|
||||
|
||||
enum InputEventChar {
|
||||
KEY_NONE = 0;
|
||||
KEY_UP = 17;
|
||||
KEY_DOWN = 18;
|
||||
KEY_LEFT = 19;
|
||||
KEY_RIGHT = 20;
|
||||
/* '\n' */
|
||||
KEY_SELECT = 10;
|
||||
KEY_BACK = 27;
|
||||
KEY_CANCEL = 24;
|
||||
}
|
||||
|
||||
/*
|
||||
* The entire set of user settable/readable settings for our radio device.
|
||||
* Includes both the current channel settings and any preferences the user has
|
||||
|
@ -539,6 +551,11 @@ message RadioConfig {
|
|||
enum EnvironmentalMeasurementSensorType {
|
||||
DHT11 = 0;
|
||||
DS18B20 = 1;
|
||||
DHT12 = 2;
|
||||
DHT21 = 3;
|
||||
DHT22 = 4;
|
||||
BME280 = 5;
|
||||
BME680 = 6;
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -571,13 +588,13 @@ message RadioConfig {
|
|||
|
||||
/*
|
||||
* If non-zero, the device will fully power off this many seconds after external power is removed.
|
||||
*
|
||||
*
|
||||
*/
|
||||
uint32 on_battery_shutdown_after_secs = 153;
|
||||
|
||||
/*
|
||||
* Overrides HOPS_RELIABLE and sets the maximum number of hops. This can't be greater than 7.
|
||||
*
|
||||
*
|
||||
*/
|
||||
uint32 hop_limit = 154;
|
||||
|
||||
|
@ -587,7 +604,7 @@ message RadioConfig {
|
|||
* If using the default server, this will only be honoured if set, otherwise the device will use the default username
|
||||
*/
|
||||
string mqtt_username = 155;
|
||||
|
||||
|
||||
/*
|
||||
* MQTT password to use (most useful for a custom MQTT server).
|
||||
* If using a custom server, this will be honoured even if empty.
|
||||
|
@ -606,7 +623,67 @@ message RadioConfig {
|
|||
*/
|
||||
bool is_power_saving = 158;
|
||||
|
||||
}
|
||||
/*
|
||||
* Enable the rotary encoder #1
|
||||
*/
|
||||
bool rotary1_enabled = 160;
|
||||
|
||||
/*
|
||||
* GPIO pin for rotary encoder A port.
|
||||
*/
|
||||
uint32 rotary1_pin_a = 161;
|
||||
|
||||
/*
|
||||
* GPIO pin for rotary encoder B port.
|
||||
*/
|
||||
uint32 rotary1_pin_b = 162;
|
||||
|
||||
/*
|
||||
* GPIO pin for rotary encoder Press port.
|
||||
*/
|
||||
uint32 rotary1_pin_press = 163;
|
||||
|
||||
/*
|
||||
* Generate input event on CW of this kind.
|
||||
*/
|
||||
InputEventChar rotary1_event_cw = 164;
|
||||
|
||||
/*
|
||||
* Generate input event on CCW of this kind.
|
||||
*/
|
||||
InputEventChar rotary1_event_ccw = 165;
|
||||
|
||||
/*
|
||||
* Generate input event on Press of this kind.
|
||||
*/
|
||||
InputEventChar rotary1_event_press = 166;
|
||||
|
||||
/*
|
||||
* Enable/disable CannedMessagePlugin.
|
||||
*/
|
||||
bool canned_message_plugin_enabled = 170;
|
||||
|
||||
/*
|
||||
* Input event origin accepted by the canned message plugin.
|
||||
* Can be e.g. "rotEnc1" or keyword "_any"
|
||||
*/
|
||||
string canned_message_plugin_allow_input_source = 171;
|
||||
|
||||
/*
|
||||
* Predefined messages for CannedMessagePlugin separated by '|' characters.
|
||||
* Note: Split out the messages out to their own messages because we want to store 1,000 characters.
|
||||
* and the entire message must fit within 256 bytes.
|
||||
* Not sure if we should deprecate this or just remove it since we're in dev phase.
|
||||
*/
|
||||
string canned_message_plugin_messages = 172 [deprecated = true];
|
||||
|
||||
/*
|
||||
* CannedMessagePlugin also sends a bell character with the messages.
|
||||
* ExternalNotificationPlugin can benefit from this feature.
|
||||
*/
|
||||
bool canned_message_plugin_send_bell = 173;
|
||||
}
|
||||
UserPreferences preferences = 1;
|
||||
}
|
||||
|
||||
} // RadioConfig
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue