syntax = "proto3"; option java_package = "com.geeksville.mesh"; option optimize_for = LITE_RUNTIME; import "mesh.proto"; import "radioconfig.proto"; import "channel.proto"; option java_outer_classname = "AdminProtos"; /* * This message is handled by the Admin plugin 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 { oneof variant { /* * set the radio provisioning for this node */ RadioConfig set_radio = 1; /* * 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 current RadioConfig in the response for this message */ bool get_radio_request = 4; RadioConfig get_radio_response = 5; /* * Send the specified channel in the response for 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; Channel get_channel_response = 7; /* 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; 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; } }