syntax = "proto3"; option java_package = "com.geeksville.mesh"; option optimize_for = LITE_RUNTIME; option go_package = "github.com/meshtastic/gomeshproto"; import "channel.proto"; import "config.proto"; import "mesh.proto"; import "module_config.proto"; option java_outer_classname = "AdminProtos"; /* * 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 { /* * TODO: REPLACE */ enum ConfigType { /* * TODO: REPLACE */ DEVICE_CONFIG = 0; /* * TODO: REPLACE */ POSITION_CONFIG = 1; /* * TODO: REPLACE */ POWER_CONFIG = 2; /* * TODO: REPLACE */ WIFI_CONFIG = 3; /* * TODO: REPLACE */ DISPLAY_CONFIG = 4; /* * TODO: REPLACE */ LORA_CONFIG = 5; } /* * 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 */ oneof variant { /* * Set the owner for this node */ User set_owner = 2; /* * 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 = 3; /* * 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 = 6; /* * TODO: REPLACE */ Channel get_channel_response = 7; /* * Send the current owner data in the response to this message. */ bool get_owner_request = 8; /* * TODO: REPLACE */ User get_owner_response = 9; /* * Ask for the following config data to be sent */ ConfigType get_config_request = 10; /* * Send the current Config in the response to this message. */ Config get_config_response = 11; /* * Set the current Config */ Config set_config = 12; /* * Sent immediatly after a config change has been sent to ensure comms, if this is not recieved, the config will be reverted after 10 mins */ bool confirm_set_config = 13; /* * Ask for the following config data to be sent */ ModuleConfigType get_module_config_request = 14; /* * Send the current Config in the response to this message. */ ModuleConfig get_module_config_response = 15; /* * Set the current Config */ ModuleConfig set_module_config = 16; /* * Sent immediatly after a config change has been sent to ensure comms, if this is not recieved, the config will be reverted after 10 mins */ bool confirm_set_module_config = 17; /* * Setting channels/radio config remotely carries the risk that you might send an invalid config and the radio never talks to your mesh again. * Therefore if setting either of these properties remotely, you must send a confirm_xxx message within 10 minutes. * If you fail to do so, the radio will assume loss of comms and revert your changes. * These messages are optional when changing the local node. */ bool confirm_set_channel = 32; /* * TODO: REPLACE */ bool confirm_set_radio = 33; /* * This message is only supported for the simulator porduino build. * If received the simulator will exit successfully. */ bool exit_simulator = 34; /* * Tell the node to reboot in this many seconds (or <0 to cancel reboot) */ int32 reboot_seconds = 35; /* * Get the Canned Message Module message part1 in the response to this message. */ bool get_canned_message_module_part1_request = 36; /* * TODO: REPLACE */ string get_canned_message_module_part1_response = 37; /* * Get the Canned Message Module message part2 in the response to this message. */ bool get_canned_message_module_part2_request = 38; /* * TODO: REPLACE */ string get_canned_message_module_part2_response = 39; /* * Get the Canned Message Module message part3 in the response to this message. */ bool get_canned_message_module_part3_request = 40; /* * TODO: REPLACE */ string get_canned_message_module_part3_response = 41; /* * Get the Canned Message Module message part4 in the response to this message. */ bool get_canned_message_module_part4_request = 42; /* * TODO: REPLACE */ string get_canned_message_module_part4_response = 43; /* * Set the canned message module part 1 text. */ string set_canned_message_module_part1 = 44; /* * Set the canned message module part 2 text. */ string set_canned_message_module_part2 = 45; /* * Set the canned message module part 3 text. */ string set_canned_message_module_part3 = 46; /* * Set the canned message module part 4 text. */ string set_canned_message_module_part4 = 47; /* * Tell the node to shutdown in this many seconds (or <0 to cancel shutdown) */ int32 shutdown_seconds = 51; } }