438 lines
9.7 KiB
Protocol Buffer
438 lines
9.7 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package meshtastic;
|
|
|
|
import "protobufs/channel.proto";
|
|
import "protobufs/config.proto";
|
|
import "protobufs/connection_status.proto";
|
|
import "protobufs/mesh.proto";
|
|
import "protobufs/module_config.proto";
|
|
import "protobufs/device_ui.proto";
|
|
|
|
option csharp_namespace = "Meshtastic.Protobufs";
|
|
option go_package = "git.janky.solutions/finn/matrix-meshtastic-bridge-go/meshtastic/protobufs";
|
|
option java_outer_classname = "AdminProtos";
|
|
option java_package = "com.geeksville.mesh";
|
|
option swift_prefix = "";
|
|
|
|
/*
|
|
* This message is handled by the Admin module and is responsible for all settings/channel read/write operations.
|
|
* This message is used to do settings operations to both remote AND local nodes.
|
|
* (Prior to 1.2 these operations were done via special ToRadio operations)
|
|
*/
|
|
message AdminMessage {
|
|
|
|
/*
|
|
* The node generates this key and sends it with any get_x_response packets.
|
|
* The client MUST include the same key with any set_x commands. Key expires after 300 seconds.
|
|
* Prevents replay attacks for admin messages.
|
|
*/
|
|
bytes session_passkey = 101;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
enum ConfigType {
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
DEVICE_CONFIG = 0;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
POSITION_CONFIG = 1;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
POWER_CONFIG = 2;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
NETWORK_CONFIG = 3;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
DISPLAY_CONFIG = 4;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
LORA_CONFIG = 5;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
BLUETOOTH_CONFIG = 6;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
SECURITY_CONFIG = 7;
|
|
|
|
/*
|
|
*
|
|
*/
|
|
SESSIONKEY_CONFIG = 8;
|
|
|
|
/*
|
|
* device-ui config
|
|
*/
|
|
DEVICEUI_CONFIG = 9;
|
|
}
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
enum ModuleConfigType {
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
MQTT_CONFIG = 0;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
SERIAL_CONFIG = 1;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
EXTNOTIF_CONFIG = 2;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
STOREFORWARD_CONFIG = 3;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
RANGETEST_CONFIG = 4;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
TELEMETRY_CONFIG = 5;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
CANNEDMSG_CONFIG = 6;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
AUDIO_CONFIG = 7;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
REMOTEHARDWARE_CONFIG = 8;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
NEIGHBORINFO_CONFIG = 9;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
AMBIENTLIGHTING_CONFIG = 10;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
DETECTIONSENSOR_CONFIG = 11;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
PAXCOUNTER_CONFIG = 12;
|
|
}
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
oneof payload_variant {
|
|
/*
|
|
* Send the specified channel in the response to this message
|
|
* NOTE: This field is sent with the channel index + 1 (to ensure we never try to send 'zero' - which protobufs treats as not present)
|
|
*/
|
|
uint32 get_channel_request = 1;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
Channel get_channel_response = 2;
|
|
|
|
/*
|
|
* Send the current owner data in the response to this message.
|
|
*/
|
|
bool get_owner_request = 3;
|
|
|
|
/*
|
|
* TODO: REPLACE
|
|
*/
|
|
User get_owner_response = 4;
|
|
|
|
/*
|
|
* Ask for the following config data to be sent
|
|
*/
|
|
ConfigType get_config_request = 5;
|
|
|
|
/*
|
|
* Send the current Config in the response to this message.
|
|
*/
|
|
Config get_config_response = 6;
|
|
|
|
/*
|
|
* Ask for the following config data to be sent
|
|
*/
|
|
ModuleConfigType get_module_config_request = 7;
|
|
|
|
/*
|
|
* Send the current Config in the response to this message.
|
|
*/
|
|
ModuleConfig get_module_config_response = 8;
|
|
|
|
/*
|
|
* Get the Canned Message Module messages in the response to this message.
|
|
*/
|
|
bool get_canned_message_module_messages_request = 10;
|
|
|
|
/*
|
|
* Get the Canned Message Module messages in the response to this message.
|
|
*/
|
|
string get_canned_message_module_messages_response = 11;
|
|
|
|
/*
|
|
* Request the node to send device metadata (firmware, protobuf version, etc)
|
|
*/
|
|
bool get_device_metadata_request = 12;
|
|
|
|
/*
|
|
* Device metadata response
|
|
*/
|
|
DeviceMetadata get_device_metadata_response = 13;
|
|
|
|
/*
|
|
* Get the Ringtone in the response to this message.
|
|
*/
|
|
bool get_ringtone_request = 14;
|
|
|
|
/*
|
|
* Get the Ringtone in the response to this message.
|
|
*/
|
|
string get_ringtone_response = 15;
|
|
|
|
/*
|
|
* Request the node to send it's connection status
|
|
*/
|
|
bool get_device_connection_status_request = 16;
|
|
|
|
/*
|
|
* Device connection status response
|
|
*/
|
|
DeviceConnectionStatus get_device_connection_status_response = 17;
|
|
|
|
/*
|
|
* Setup a node for licensed amateur (ham) radio operation
|
|
*/
|
|
HamParameters set_ham_mode = 18;
|
|
|
|
/*
|
|
* Get the mesh's nodes with their available gpio pins for RemoteHardware module use
|
|
*/
|
|
bool get_node_remote_hardware_pins_request = 19;
|
|
|
|
/*
|
|
* Respond with the mesh's nodes with their available gpio pins for RemoteHardware module use
|
|
*/
|
|
NodeRemoteHardwarePinsResponse get_node_remote_hardware_pins_response = 20;
|
|
|
|
/*
|
|
* Enter (UF2) DFU mode
|
|
* Only implemented on NRF52 currently
|
|
*/
|
|
bool enter_dfu_mode_request = 21;
|
|
|
|
/*
|
|
* Delete the file by the specified path from the device
|
|
*/
|
|
string delete_file_request = 22;
|
|
|
|
/*
|
|
* Set zero and offset for scale chips
|
|
*/
|
|
uint32 set_scale = 23;
|
|
|
|
/*
|
|
* Set the owner for this node
|
|
*/
|
|
User set_owner = 32;
|
|
|
|
/*
|
|
* Set channels (using the new API).
|
|
* A special channel is the "primary channel".
|
|
* The other records are secondary channels.
|
|
* Note: only one channel can be marked as primary.
|
|
* If the client sets a particular channel to be primary, the previous channel will be set to SECONDARY automatically.
|
|
*/
|
|
Channel set_channel = 33;
|
|
|
|
/*
|
|
* Set the current Config
|
|
*/
|
|
Config set_config = 34;
|
|
|
|
/*
|
|
* Set the current Config
|
|
*/
|
|
ModuleConfig set_module_config = 35;
|
|
|
|
/*
|
|
* Set the Canned Message Module messages text.
|
|
*/
|
|
string set_canned_message_module_messages = 36;
|
|
|
|
/*
|
|
* Set the ringtone for ExternalNotification.
|
|
*/
|
|
string set_ringtone_message = 37;
|
|
|
|
/*
|
|
* Remove the node by the specified node-num from the NodeDB on the device
|
|
*/
|
|
uint32 remove_by_nodenum = 38;
|
|
|
|
/*
|
|
* Set specified node-num to be favorited on the NodeDB on the device
|
|
*/
|
|
uint32 set_favorite_node = 39;
|
|
|
|
/*
|
|
* Set specified node-num to be un-favorited on the NodeDB on the device
|
|
*/
|
|
uint32 remove_favorite_node = 40;
|
|
|
|
/*
|
|
* Set fixed position data on the node and then set the position.fixed_position = true
|
|
*/
|
|
Position set_fixed_position = 41;
|
|
|
|
/*
|
|
* Clear fixed position coordinates and then set position.fixed_position = false
|
|
*/
|
|
bool remove_fixed_position = 42;
|
|
|
|
/*
|
|
* Set time only on the node
|
|
* Convenience method to set the time on the node (as Net quality) without any other position data
|
|
*/
|
|
fixed32 set_time_only = 43;
|
|
|
|
/*
|
|
* Tell the node to send the stored ui data.
|
|
*/
|
|
bool get_ui_config_request = 44;
|
|
|
|
/*
|
|
* Reply stored device ui data.
|
|
*/
|
|
DeviceUIConfig get_ui_config_response = 45;
|
|
|
|
/*
|
|
* Tell the node to store UI data persistently.
|
|
*/
|
|
DeviceUIConfig store_ui_config = 46;
|
|
|
|
/*
|
|
* Begins an edit transaction for config, module config, owner, and channel settings changes
|
|
* This will delay the standard *implicit* save to the file system and subsequent reboot behavior until committed (commit_edit_settings)
|
|
*/
|
|
bool begin_edit_settings = 64;
|
|
|
|
/*
|
|
* Commits an open transaction for any edits made to config, module config, owner, and channel settings
|
|
*/
|
|
bool commit_edit_settings = 65;
|
|
|
|
/*
|
|
* 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.
|
|
*/
|
|
int32 factory_reset_device = 94;
|
|
|
|
/*
|
|
* Tell the node to reboot into the OTA Firmware in this many seconds (or <0 to cancel reboot)
|
|
* Only Implemented for ESP32 Devices. This needs to be issued to send a new main firmware via bluetooth.
|
|
*/
|
|
int32 reboot_ota_seconds = 95;
|
|
|
|
/*
|
|
* This message is only supported for the simulator Portduino build.
|
|
* If received the simulator will exit successfully.
|
|
*/
|
|
bool exit_simulator = 96;
|
|
|
|
/*
|
|
* Tell the node to reboot in this many seconds (or <0 to cancel reboot)
|
|
*/
|
|
int32 reboot_seconds = 97;
|
|
|
|
/*
|
|
* Tell the node to shutdown in this many seconds (or <0 to cancel shutdown)
|
|
*/
|
|
int32 shutdown_seconds = 98;
|
|
|
|
/*
|
|
* Tell the node to factory reset config; all device state and configuration will be returned to factory defaults; BLE bonds will be preserved.
|
|
*/
|
|
int32 factory_reset_config = 99;
|
|
|
|
/*
|
|
* Tell the node to reset the nodedb.
|
|
*/
|
|
int32 nodedb_reset = 100;
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Parameters for setting up Meshtastic for ameteur radio usage
|
|
*/
|
|
message HamParameters {
|
|
/*
|
|
* Amateur radio call sign, eg. KD2ABC
|
|
*/
|
|
string call_sign = 1;
|
|
|
|
/*
|
|
* Transmit power in dBm at the LoRA transceiver, not including any amplification
|
|
*/
|
|
int32 tx_power = 2;
|
|
|
|
/*
|
|
* The selected frequency of LoRA operation
|
|
* Please respect your local laws, regulations, and band plans.
|
|
* Ensure your radio is capable of operating of the selected frequency before setting this.
|
|
*/
|
|
float frequency = 3;
|
|
|
|
/*
|
|
* Optional short name of user
|
|
*/
|
|
string short_name = 4;
|
|
}
|
|
|
|
/*
|
|
* Response envelope for node_remote_hardware_pins
|
|
*/
|
|
message NodeRemoteHardwarePinsResponse {
|
|
/*
|
|
* Nodes and their respective remote hardware GPIO pins
|
|
*/
|
|
repeated NodeRemoteHardwarePin node_remote_hardware_pins = 1;
|
|
}
|