diff --git a/admin.options b/admin.options index 7f0f5d7..8f8a1c2 100644 --- a/admin.options +++ b/admin.options @@ -1 +1,7 @@ -*AdminMessage.variant anonymous_oneof:true \ No newline at end of file +*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 diff --git a/admin.proto b/admin.proto index 0b85324..ede7637 100644 --- a/admin.proto +++ b/admin.proto @@ -76,5 +76,62 @@ 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; + RadioConfig 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; + RadioConfig 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; + RadioConfig 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; + RadioConfig 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; + RadioConfig get_canned_message_plugin_part5_response = 45; + + /* + * Set the canned message plugin part 1 text. + */ + string set_canned_message_plugin_part1 = 46; + + /* + * Set the canned message plugin part 2 text. + */ + string set_canned_message_plugin_part2 = 47; + + /* + * Set the canned message plugin part 3 text. + */ + string set_canned_message_plugin_part3 = 48; + + /* + * Set the canned message plugin part 4 text. + */ + string set_canned_message_plugin_part4 = 49; + + /* + * Set the canned message plugin part 5 text. + */ + string set_canned_message_plugin_part5 = 50; + } -} +} // AdminMessage diff --git a/deviceonly.options b/deviceonly.options index 9e04083..321174a 100644 --- a/deviceonly.options +++ b/deviceonly.options @@ -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 diff --git a/deviceonly.proto b/deviceonly.proto index 0d3110a..bd86446 100644 --- a/deviceonly.proto +++ b/deviceonly.proto @@ -87,7 +87,33 @@ 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; + +} // DeviceState /* * The on-disk saved channels diff --git a/radioconfig.options b/radioconfig.options index 3107589..77bc0d8 100644 --- a/radioconfig.options +++ b/radioconfig.options @@ -10,4 +10,9 @@ *UserPreferences.mqtt_password max_size:32 *UserPreferences.canned_message_plugin_allow_input_source max_size:16 -*UserPreferences.canned_message_plugin_messages max_size:1024 + +*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 diff --git a/radioconfig.proto b/radioconfig.proto index 82d93a0..d0699a5 100644 --- a/radioconfig.proto +++ b/radioconfig.proto @@ -586,13 +586,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; @@ -602,7 +602,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. @@ -669,8 +669,11 @@ message RadioConfig { /* * 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; + //string canned_message_plugin_messages = 172; /* * CannedMessagePlugin also sends a bell character with the messages. @@ -678,6 +681,56 @@ message RadioConfig { */ bool canned_message_plugin_send_bell = 173; } - UserPreferences preferences = 1; + + + message CannedMessagePluginMessagePart1 { + /* + * Predefined messages for canned message plugin separated by '|' characters. + * This is part 1. + */ + string text = 1; + } + CannedMessagePluginMessagePart1 canned_message_plugin_message_part1 = 2; + + + message CannedMessagePluginMessagePart2 { + /* + * Predefined messages for canned message plugin separated by '|' characters. + * This is part 2. + */ + string text = 1; + } + CannedMessagePluginMessagePart2 canned_message_plugin_message_part2 = 3; + + + message CannedMessagePluginMessagePart3 { + /* + * Predefined messages for canned message plugin separated by '|' characters. + * This is part 3. + */ + string text = 1; + } + CannedMessagePluginMessagePart3 canned_message_plugin_message_part3 = 4; + + + message CannedMessagePluginMessagePart4 { + /* + * Predefined messages for canned message plugin separated by '|' characters. + * This is part 4. + */ + string text = 1; + } + CannedMessagePluginMessagePart4 canned_message_plugin_message_part4 = 5; + + + message CannedMessagePluginMessagePart5 { + /* + * Predefined messages for canned message plugin separated by '|' characters. + * This is part 5. + */ + string text = 1; + } + CannedMessagePluginMessagePart5 canned_message_plugin_message_part5 = 6; + }