From fb47c3a03d0a490b1dd95f01eec979a72b24ddfc Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Sat, 27 Feb 2021 13:17:18 +0800 Subject: [PATCH] move channel and settings protos --- proto | 2 +- src/mesh/PhoneAPI.cpp | 18 +- src/mesh/PhoneAPI.h | 2 +- src/mesh/generated/admin.pb.h | 2 + src/mesh/generated/apponly.pb.h | 1 + src/mesh/generated/channel.pb.c | 17 ++ src/mesh/generated/channel.pb.h | 125 +++++++++++ src/mesh/generated/deviceonly.pb.h | 2 + src/mesh/generated/mesh.pb.c | 18 -- src/mesh/generated/mesh.pb.h | 333 +--------------------------- src/mesh/generated/radioconfig.pb.c | 19 ++ src/mesh/generated/radioconfig.pb.h | 268 ++++++++++++++++++++++ 12 files changed, 438 insertions(+), 369 deletions(-) create mode 100644 src/mesh/generated/channel.pb.c create mode 100644 src/mesh/generated/channel.pb.h create mode 100644 src/mesh/generated/radioconfig.pb.c create mode 100644 src/mesh/generated/radioconfig.pb.h diff --git a/proto b/proto index 83e00e564..3edb02dab 160000 --- a/proto +++ b/proto @@ -1 +1 @@ -Subproject commit 83e00e564d3973b594a46e786b62eed2823e02ed +Subproject commit 3edb02dabb9b8b72d90bbbb7233b557c09391b87 diff --git a/src/mesh/PhoneAPI.cpp b/src/mesh/PhoneAPI.cpp index 7f63fc18e..a7797c255 100644 --- a/src/mesh/PhoneAPI.cpp +++ b/src/mesh/PhoneAPI.cpp @@ -124,24 +124,11 @@ size_t PhoneAPI::getFromRadio(uint8_t *buf) : (gps && gps->isConnected()); // Update with latest GPS connect info fromRadioScratch.which_payloadVariant = FromRadio_my_info_tag; fromRadioScratch.my_info = myNodeInfo; - state = STATE_SEND_RADIO; + state = STATE_SEND_NODEINFO; service.refreshMyNodeInfo(); // Update my NodeInfo because the client will be asking for it soon. break; - case STATE_SEND_RADIO: - fromRadioScratch.which_payloadVariant = FromRadio_radio_tag; - - fromRadioScratch.radio = radioConfig; - - // NOTE: The phone app needs to know the ls_secs value so it can properly expect sleep behavior. - // So even if we internally use 0 to represent 'use default' we still need to send the value we are - // using to the app (so that even old phone apps work with new device loads). - fromRadioScratch.radio.preferences.ls_secs = getPref_ls_secs(); - - state = STATE_SEND_NODEINFO; - break; - case STATE_SEND_NODEINFO: { const NodeInfo *info = nodeInfoForPhone; nodeInfoForPhone = NULL; // We just consumed a nodeinfo, will need a new one next time @@ -218,9 +205,6 @@ bool PhoneAPI::available() nodeInfoForPhone = nodeDB.readNextInfo(); return true; // Always say we have something, because we might need to advance our state machine - case STATE_SEND_RADIO: - return true; - case STATE_SEND_COMPLETE_ID: return true; diff --git a/src/mesh/PhoneAPI.h b/src/mesh/PhoneAPI.h index 19c5d0583..094e9830b 100644 --- a/src/mesh/PhoneAPI.h +++ b/src/mesh/PhoneAPI.h @@ -23,7 +23,7 @@ class PhoneAPI STATE_LEGACY, // (no longer used) old default state - until Android apps are all updated, uses the old BLE API STATE_SEND_NOTHING, // (Eventual) Initial state, don't send anything until the client starts asking for config STATE_SEND_MY_INFO, // send our my info record - STATE_SEND_RADIO, + // STATE_SEND_RADIO, // in 1.2 we now send this as a regular mesh packet // STATE_SEND_OWNER, no need to send Owner specially, it is just part of the nodedb STATE_SEND_NODEINFO, // states progress in this order as the device sends to to the client STATE_SEND_COMPLETE_ID, diff --git a/src/mesh/generated/admin.pb.h b/src/mesh/generated/admin.pb.h index 36696f717..f9be1cada 100644 --- a/src/mesh/generated/admin.pb.h +++ b/src/mesh/generated/admin.pb.h @@ -5,6 +5,8 @@ #define PB_ADMIN_PB_H_INCLUDED #include #include "mesh.pb.h" +#include "radioconfig.pb.h" +#include "channel.pb.h" #if PB_PROTO_HEADER_VERSION != 40 #error Regenerate this file with the current version of nanopb generator. diff --git a/src/mesh/generated/apponly.pb.h b/src/mesh/generated/apponly.pb.h index af527f0c8..89fe235da 100644 --- a/src/mesh/generated/apponly.pb.h +++ b/src/mesh/generated/apponly.pb.h @@ -5,6 +5,7 @@ #define PB_APPONLY_PB_H_INCLUDED #include #include "mesh.pb.h" +#include "channel.pb.h" #if PB_PROTO_HEADER_VERSION != 40 #error Regenerate this file with the current version of nanopb generator. diff --git a/src/mesh/generated/channel.pb.c b/src/mesh/generated/channel.pb.c new file mode 100644 index 000000000..329314dae --- /dev/null +++ b/src/mesh/generated/channel.pb.c @@ -0,0 +1,17 @@ +/* Automatically generated nanopb constant definitions */ +/* Generated by nanopb-0.4.4 */ + +#include "channel.pb.h" +#if PB_PROTO_HEADER_VERSION != 40 +#error Regenerate this file with the current version of nanopb generator. +#endif + +PB_BIND(ChannelSettings, ChannelSettings, AUTO) + + +PB_BIND(Channel, Channel, AUTO) + + + + + diff --git a/src/mesh/generated/channel.pb.h b/src/mesh/generated/channel.pb.h new file mode 100644 index 000000000..151495be1 --- /dev/null +++ b/src/mesh/generated/channel.pb.h @@ -0,0 +1,125 @@ +/* Automatically generated nanopb header */ +/* Generated by nanopb-0.4.4 */ + +#ifndef PB_CHANNEL_PB_H_INCLUDED +#define PB_CHANNEL_PB_H_INCLUDED +#include + +#if PB_PROTO_HEADER_VERSION != 40 +#error Regenerate this file with the current version of nanopb generator. +#endif + +/* Enum definitions */ +typedef enum _ChannelSettings_ModemConfig { + ChannelSettings_ModemConfig_Bw125Cr45Sf128 = 0, + ChannelSettings_ModemConfig_Bw500Cr45Sf128 = 1, + ChannelSettings_ModemConfig_Bw31_25Cr48Sf512 = 2, + ChannelSettings_ModemConfig_Bw125Cr48Sf4096 = 3 +} ChannelSettings_ModemConfig; + +typedef enum _Channel_Role { + Channel_Role_DISABLED = 0, + Channel_Role_PRIMARY = 1, + Channel_Role_SECONDARY = 2 +} Channel_Role; + +/* Struct definitions */ +typedef PB_BYTES_ARRAY_T(32) ChannelSettings_psk_t; +typedef struct _ChannelSettings { + int8_t tx_power; + ChannelSettings_ModemConfig modem_config; + ChannelSettings_psk_t psk; + char name[12]; + uint16_t bandwidth; + uint32_t spread_factor; + uint8_t coding_rate; + uint8_t channel_num; + uint32_t id; + bool uplink_enabled; + bool downlink_enabled; +} ChannelSettings; + +typedef struct _Channel { + uint8_t index; + bool has_settings; + ChannelSettings settings; + Channel_Role role; +} Channel; + + +/* Helper constants for enums */ +#define _ChannelSettings_ModemConfig_MIN ChannelSettings_ModemConfig_Bw125Cr45Sf128 +#define _ChannelSettings_ModemConfig_MAX ChannelSettings_ModemConfig_Bw125Cr48Sf4096 +#define _ChannelSettings_ModemConfig_ARRAYSIZE ((ChannelSettings_ModemConfig)(ChannelSettings_ModemConfig_Bw125Cr48Sf4096+1)) + +#define _Channel_Role_MIN Channel_Role_DISABLED +#define _Channel_Role_MAX Channel_Role_SECONDARY +#define _Channel_Role_ARRAYSIZE ((Channel_Role)(Channel_Role_SECONDARY+1)) + + +#ifdef __cplusplus +extern "C" { +#endif + +/* Initializer values for message structs */ +#define ChannelSettings_init_default {0, _ChannelSettings_ModemConfig_MIN, {0, {0}}, "", 0, 0, 0, 0, 0, 0, 0} +#define Channel_init_default {0, false, ChannelSettings_init_default, _Channel_Role_MIN} +#define ChannelSettings_init_zero {0, _ChannelSettings_ModemConfig_MIN, {0, {0}}, "", 0, 0, 0, 0, 0, 0, 0} +#define Channel_init_zero {0, false, ChannelSettings_init_zero, _Channel_Role_MIN} + +/* Field tags (for use in manual encoding/decoding) */ +#define ChannelSettings_tx_power_tag 1 +#define ChannelSettings_modem_config_tag 3 +#define ChannelSettings_psk_tag 4 +#define ChannelSettings_name_tag 5 +#define ChannelSettings_bandwidth_tag 6 +#define ChannelSettings_spread_factor_tag 7 +#define ChannelSettings_coding_rate_tag 8 +#define ChannelSettings_channel_num_tag 9 +#define ChannelSettings_id_tag 10 +#define ChannelSettings_uplink_enabled_tag 16 +#define ChannelSettings_downlink_enabled_tag 17 +#define Channel_index_tag 1 +#define Channel_settings_tag 2 +#define Channel_role_tag 3 + +/* Struct field encoding specification for nanopb */ +#define ChannelSettings_FIELDLIST(X, a) \ +X(a, STATIC, SINGULAR, INT32, tx_power, 1) \ +X(a, STATIC, SINGULAR, UENUM, modem_config, 3) \ +X(a, STATIC, SINGULAR, BYTES, psk, 4) \ +X(a, STATIC, SINGULAR, STRING, name, 5) \ +X(a, STATIC, SINGULAR, UINT32, bandwidth, 6) \ +X(a, STATIC, SINGULAR, UINT32, spread_factor, 7) \ +X(a, STATIC, SINGULAR, UINT32, coding_rate, 8) \ +X(a, STATIC, SINGULAR, UINT32, channel_num, 9) \ +X(a, STATIC, SINGULAR, FIXED32, id, 10) \ +X(a, STATIC, SINGULAR, BOOL, uplink_enabled, 16) \ +X(a, STATIC, SINGULAR, BOOL, downlink_enabled, 17) +#define ChannelSettings_CALLBACK NULL +#define ChannelSettings_DEFAULT NULL + +#define Channel_FIELDLIST(X, a) \ +X(a, STATIC, SINGULAR, UINT32, index, 1) \ +X(a, STATIC, OPTIONAL, MESSAGE, settings, 2) \ +X(a, STATIC, SINGULAR, UENUM, role, 3) +#define Channel_CALLBACK NULL +#define Channel_DEFAULT NULL +#define Channel_settings_MSGTYPE ChannelSettings + +extern const pb_msgdesc_t ChannelSettings_msg; +extern const pb_msgdesc_t Channel_msg; + +/* Defines for backwards compatibility with code written before nanopb-0.4.0 */ +#define ChannelSettings_fields &ChannelSettings_msg +#define Channel_fields &Channel_msg + +/* Maximum encoded size of messages (where known) */ +#define ChannelSettings_size 87 +#define Channel_size 94 + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif diff --git a/src/mesh/generated/deviceonly.pb.h b/src/mesh/generated/deviceonly.pb.h index 1e4443af5..52420a376 100644 --- a/src/mesh/generated/deviceonly.pb.h +++ b/src/mesh/generated/deviceonly.pb.h @@ -5,6 +5,8 @@ #define PB_DEVICEONLY_PB_H_INCLUDED #include #include "mesh.pb.h" +#include "radioconfig.pb.h" +#include "channel.pb.h" #if PB_PROTO_HEADER_VERSION != 40 #error Regenerate this file with the current version of nanopb generator. diff --git a/src/mesh/generated/mesh.pb.c b/src/mesh/generated/mesh.pb.c index c4fd0d8e5..ab27832f8 100644 --- a/src/mesh/generated/mesh.pb.c +++ b/src/mesh/generated/mesh.pb.c @@ -24,18 +24,6 @@ PB_BIND(Data, Data, 2) PB_BIND(MeshPacket, MeshPacket, 2) -PB_BIND(ChannelSettings, ChannelSettings, AUTO) - - -PB_BIND(Channel, Channel, AUTO) - - -PB_BIND(RadioConfig, RadioConfig, 2) - - -PB_BIND(RadioConfig_UserPreferences, RadioConfig_UserPreferences, 2) - - PB_BIND(NodeInfo, NodeInfo, AUTO) @@ -57,9 +45,3 @@ PB_BIND(ToRadio, ToRadio, 2) - - - - - - diff --git a/src/mesh/generated/mesh.pb.h b/src/mesh/generated/mesh.pb.h index 79e14f26a..a8f36a140 100644 --- a/src/mesh/generated/mesh.pb.h +++ b/src/mesh/generated/mesh.pb.h @@ -16,52 +16,6 @@ typedef enum _Constants { Constants_DATA_PAYLOAD_LEN = 240 } Constants; -typedef enum _RegionCode { - RegionCode_Unset = 0, - RegionCode_US = 1, - RegionCode_EU433 = 2, - RegionCode_EU865 = 3, - RegionCode_CN = 4, - RegionCode_JP = 5, - RegionCode_ANZ = 6, - RegionCode_KR = 7, - RegionCode_TW = 8 -} RegionCode; - -typedef enum _ChargeCurrent { - ChargeCurrent_MAUnset = 0, - ChargeCurrent_MA100 = 1, - ChargeCurrent_MA190 = 2, - ChargeCurrent_MA280 = 3, - ChargeCurrent_MA360 = 4, - ChargeCurrent_MA450 = 5, - ChargeCurrent_MA550 = 6, - ChargeCurrent_MA630 = 7, - ChargeCurrent_MA700 = 8, - ChargeCurrent_MA780 = 9, - ChargeCurrent_MA880 = 10, - ChargeCurrent_MA960 = 11, - ChargeCurrent_MA1000 = 12, - ChargeCurrent_MA1080 = 13, - ChargeCurrent_MA1160 = 14, - ChargeCurrent_MA1240 = 15, - ChargeCurrent_MA1320 = 16 -} ChargeCurrent; - -typedef enum _GpsOperation { - GpsOperation_GpsOpUnset = 0, - GpsOperation_GpsOpStationary = 1, - GpsOperation_GpsOpMobile = 2, - GpsOperation_GpsOpTimeOnly = 3, - GpsOperation_GpsOpDisabled = 4 -} GpsOperation; - -typedef enum _LocationSharing { - LocationSharing_LocUnset = 0, - LocationSharing_LocEnabled = 1, - LocationSharing_LocDisabled = 2 -} LocationSharing; - typedef enum _CriticalErrorCode { CriticalErrorCode_None = 0, CriticalErrorCode_TxWatchdog = 1, @@ -95,19 +49,6 @@ typedef enum _MeshPacket_Priority { MeshPacket_Priority_MAX = 127 } MeshPacket_Priority; -typedef enum _ChannelSettings_ModemConfig { - ChannelSettings_ModemConfig_Bw125Cr45Sf128 = 0, - ChannelSettings_ModemConfig_Bw500Cr45Sf128 = 1, - ChannelSettings_ModemConfig_Bw31_25Cr48Sf512 = 2, - ChannelSettings_ModemConfig_Bw125Cr48Sf4096 = 3 -} ChannelSettings_ModemConfig; - -typedef enum _Channel_Role { - Channel_Role_DISABLED = 0, - Channel_Role_PRIMARY = 1, - Channel_Role_SECONDARY = 2 -} Channel_Role; - typedef enum _LogRecord_Level { LogRecord_Level_UNSET = 0, LogRecord_Level_CRITICAL = 50, @@ -119,21 +60,6 @@ typedef enum _LogRecord_Level { } LogRecord_Level; /* Struct definitions */ -typedef PB_BYTES_ARRAY_T(32) ChannelSettings_psk_t; -typedef struct _ChannelSettings { - int8_t tx_power; - ChannelSettings_ModemConfig modem_config; - ChannelSettings_psk_t psk; - char name[12]; - uint16_t bandwidth; - uint32_t spread_factor; - uint8_t coding_rate; - uint8_t channel_num; - uint32_t id; - bool uplink_enabled; - bool downlink_enabled; -} ChannelSettings; - typedef PB_BYTES_ARRAY_T(237) Data_payload_t; typedef struct _Data { PortNum portnum; @@ -174,57 +100,6 @@ typedef struct _Position { uint32_t time; } Position; -typedef struct _RadioConfig_UserPreferences { - uint32_t position_broadcast_secs; - uint32_t send_owner_interval; - uint32_t wait_bluetooth_secs; - uint32_t screen_on_secs; - uint32_t phone_timeout_secs; - uint32_t phone_sds_timeout_sec; - uint32_t mesh_sds_timeout_secs; - uint32_t sds_secs; - uint32_t ls_secs; - uint32_t min_wake_secs; - char wifi_ssid[33]; - char wifi_password[64]; - bool wifi_ap_mode; - RegionCode region; - ChargeCurrent charge_current; - LocationSharing location_share; - GpsOperation gps_operation; - uint32_t gps_update_interval; - uint32_t gps_attempt_time; - bool is_router; - bool is_low_power; - bool fixed_position; - bool factory_reset; - bool debug_log_enabled; - pb_size_t ignore_incoming_count; - uint32_t ignore_incoming[3]; - bool serialplugin_enabled; - bool serialplugin_echo; - uint32_t serialplugin_rxd; - uint32_t serialplugin_txd; - uint32_t serialplugin_timeout; - uint32_t serialplugin_mode; - bool ext_notification_plugin_enabled; - uint32_t ext_notification_plugin_output_ms; - uint32_t ext_notification_plugin_output; - bool ext_notification_plugin_active; - bool ext_notification_plugin_alert_message; - bool ext_notification_plugin_alert_bell; - bool range_test_plugin_enabled; - uint32_t range_test_plugin_sender; - bool range_test_plugin_save; - bool store_forward_plugin_enabled; - uint32_t store_forward_plugin_records; - bool environmental_measurement_plugin_measurement_enabled; - bool environmental_measurement_plugin_screen_enabled; - uint32_t environmental_measurement_plugin_read_error_count_threshold; - uint32_t environmental_measurement_plugin_update_interval; - uint32_t environmental_measurement_plugin_recovery_interval; -} RadioConfig_UserPreferences; - typedef struct _RouteDiscovery { pb_size_t route_count; uint32_t route[8]; @@ -237,13 +112,6 @@ typedef struct _User { pb_byte_t macaddr[6]; } User; -typedef struct _Channel { - uint8_t index; - bool has_settings; - ChannelSettings settings; - Channel_Role role; -} Channel; - typedef PB_BYTES_ARRAY_T(256) MeshPacket_encrypted_t; typedef struct _MeshPacket { uint32_t from; @@ -272,11 +140,6 @@ typedef struct _NodeInfo { float snr; } NodeInfo; -typedef struct _RadioConfig { - bool has_preferences; - RadioConfig_UserPreferences preferences; -} RadioConfig; - typedef struct _Routing { pb_size_t which_variant; union { @@ -292,11 +155,9 @@ typedef struct _FromRadio { union { MyNodeInfo my_info; NodeInfo node_info; - RadioConfig radio; LogRecord log_record; uint32_t config_complete_id; bool rebooted; - Channel channel; MeshPacket packet; }; } FromRadio; @@ -315,22 +176,6 @@ typedef struct _ToRadio { #define _Constants_MAX Constants_DATA_PAYLOAD_LEN #define _Constants_ARRAYSIZE ((Constants)(Constants_DATA_PAYLOAD_LEN+1)) -#define _RegionCode_MIN RegionCode_Unset -#define _RegionCode_MAX RegionCode_TW -#define _RegionCode_ARRAYSIZE ((RegionCode)(RegionCode_TW+1)) - -#define _ChargeCurrent_MIN ChargeCurrent_MAUnset -#define _ChargeCurrent_MAX ChargeCurrent_MA1320 -#define _ChargeCurrent_ARRAYSIZE ((ChargeCurrent)(ChargeCurrent_MA1320+1)) - -#define _GpsOperation_MIN GpsOperation_GpsOpUnset -#define _GpsOperation_MAX GpsOperation_GpsOpDisabled -#define _GpsOperation_ARRAYSIZE ((GpsOperation)(GpsOperation_GpsOpDisabled+1)) - -#define _LocationSharing_MIN LocationSharing_LocUnset -#define _LocationSharing_MAX LocationSharing_LocDisabled -#define _LocationSharing_ARRAYSIZE ((LocationSharing)(LocationSharing_LocDisabled+1)) - #define _CriticalErrorCode_MIN CriticalErrorCode_None #define _CriticalErrorCode_MAX CriticalErrorCode_TransmitFailed #define _CriticalErrorCode_ARRAYSIZE ((CriticalErrorCode)(CriticalErrorCode_TransmitFailed+1)) @@ -343,14 +188,6 @@ typedef struct _ToRadio { #define _MeshPacket_Priority_MAX MeshPacket_Priority_MAX #define _MeshPacket_Priority_ARRAYSIZE ((MeshPacket_Priority)(MeshPacket_Priority_MAX+1)) -#define _ChannelSettings_ModemConfig_MIN ChannelSettings_ModemConfig_Bw125Cr45Sf128 -#define _ChannelSettings_ModemConfig_MAX ChannelSettings_ModemConfig_Bw125Cr48Sf4096 -#define _ChannelSettings_ModemConfig_ARRAYSIZE ((ChannelSettings_ModemConfig)(ChannelSettings_ModemConfig_Bw125Cr48Sf4096+1)) - -#define _Channel_Role_MIN Channel_Role_DISABLED -#define _Channel_Role_MAX Channel_Role_SECONDARY -#define _Channel_Role_ARRAYSIZE ((Channel_Role)(Channel_Role_SECONDARY+1)) - #define _LogRecord_Level_MIN LogRecord_Level_UNSET #define _LogRecord_Level_MAX LogRecord_Level_CRITICAL #define _LogRecord_Level_ARRAYSIZE ((LogRecord_Level)(LogRecord_Level_CRITICAL+1)) @@ -367,10 +204,6 @@ extern "C" { #define Routing_init_default {0, {RouteDiscovery_init_default}} #define Data_init_default {_PortNum_MIN, {0, {0}}, 0, 0, 0, 0} #define MeshPacket_init_default {0, 0, 0, 0, {Data_init_default}, 0, 0, 0, 0, 0, _MeshPacket_Priority_MIN} -#define ChannelSettings_init_default {0, _ChannelSettings_ModemConfig_MIN, {0, {0}}, "", 0, 0, 0, 0, 0, 0, 0} -#define Channel_init_default {0, false, ChannelSettings_init_default, _Channel_Role_MIN} -#define RadioConfig_init_default {false, RadioConfig_UserPreferences_init_default} -#define RadioConfig_UserPreferences_init_default {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", 0, _RegionCode_MIN, _ChargeCurrent_MIN, _LocationSharing_MIN, _GpsOperation_MIN, 0, 0, 0, 0, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} #define NodeInfo_init_default {0, false, User_init_default, false, Position_init_default, 0, 0} #define MyNodeInfo_init_default {0, 0, 0, "", "", "", _CriticalErrorCode_MIN, 0, 0, 0, 0, 0} #define LogRecord_init_default {"", 0, "", _LogRecord_Level_MIN} @@ -382,10 +215,6 @@ extern "C" { #define Routing_init_zero {0, {RouteDiscovery_init_zero}} #define Data_init_zero {_PortNum_MIN, {0, {0}}, 0, 0, 0, 0} #define MeshPacket_init_zero {0, 0, 0, 0, {Data_init_zero}, 0, 0, 0, 0, 0, _MeshPacket_Priority_MIN} -#define ChannelSettings_init_zero {0, _ChannelSettings_ModemConfig_MIN, {0, {0}}, "", 0, 0, 0, 0, 0, 0, 0} -#define Channel_init_zero {0, false, ChannelSettings_init_zero, _Channel_Role_MIN} -#define RadioConfig_init_zero {false, RadioConfig_UserPreferences_init_zero} -#define RadioConfig_UserPreferences_init_zero {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", 0, _RegionCode_MIN, _ChargeCurrent_MIN, _LocationSharing_MIN, _GpsOperation_MIN, 0, 0, 0, 0, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} #define NodeInfo_init_zero {0, false, User_init_zero, false, Position_init_zero, 0, 0} #define MyNodeInfo_init_zero {0, 0, 0, "", "", "", _CriticalErrorCode_MIN, 0, 0, 0, 0, 0} #define LogRecord_init_zero {"", 0, "", _LogRecord_Level_MIN} @@ -393,17 +222,6 @@ extern "C" { #define ToRadio_init_zero {0, {MeshPacket_init_zero}} /* Field tags (for use in manual encoding/decoding) */ -#define ChannelSettings_tx_power_tag 1 -#define ChannelSettings_modem_config_tag 3 -#define ChannelSettings_psk_tag 4 -#define ChannelSettings_name_tag 5 -#define ChannelSettings_bandwidth_tag 6 -#define ChannelSettings_spread_factor_tag 7 -#define ChannelSettings_coding_rate_tag 8 -#define ChannelSettings_channel_num_tag 9 -#define ChannelSettings_id_tag 10 -#define ChannelSettings_uplink_enabled_tag 16 -#define ChannelSettings_downlink_enabled_tag 17 #define Data_portnum_tag 1 #define Data_payload_tag 2 #define Data_want_response_tag 3 @@ -431,61 +249,11 @@ extern "C" { #define Position_altitude_tag 3 #define Position_battery_level_tag 4 #define Position_time_tag 9 -#define RadioConfig_UserPreferences_position_broadcast_secs_tag 1 -#define RadioConfig_UserPreferences_send_owner_interval_tag 2 -#define RadioConfig_UserPreferences_wait_bluetooth_secs_tag 4 -#define RadioConfig_UserPreferences_screen_on_secs_tag 5 -#define RadioConfig_UserPreferences_phone_timeout_secs_tag 6 -#define RadioConfig_UserPreferences_phone_sds_timeout_sec_tag 7 -#define RadioConfig_UserPreferences_mesh_sds_timeout_secs_tag 8 -#define RadioConfig_UserPreferences_sds_secs_tag 9 -#define RadioConfig_UserPreferences_ls_secs_tag 10 -#define RadioConfig_UserPreferences_min_wake_secs_tag 11 -#define RadioConfig_UserPreferences_wifi_ssid_tag 12 -#define RadioConfig_UserPreferences_wifi_password_tag 13 -#define RadioConfig_UserPreferences_wifi_ap_mode_tag 14 -#define RadioConfig_UserPreferences_region_tag 15 -#define RadioConfig_UserPreferences_charge_current_tag 16 -#define RadioConfig_UserPreferences_location_share_tag 32 -#define RadioConfig_UserPreferences_gps_operation_tag 33 -#define RadioConfig_UserPreferences_gps_update_interval_tag 34 -#define RadioConfig_UserPreferences_gps_attempt_time_tag 36 -#define RadioConfig_UserPreferences_is_router_tag 37 -#define RadioConfig_UserPreferences_is_low_power_tag 38 -#define RadioConfig_UserPreferences_fixed_position_tag 39 -#define RadioConfig_UserPreferences_factory_reset_tag 100 -#define RadioConfig_UserPreferences_debug_log_enabled_tag 101 -#define RadioConfig_UserPreferences_ignore_incoming_tag 103 -#define RadioConfig_UserPreferences_serialplugin_enabled_tag 120 -#define RadioConfig_UserPreferences_serialplugin_echo_tag 121 -#define RadioConfig_UserPreferences_serialplugin_rxd_tag 122 -#define RadioConfig_UserPreferences_serialplugin_txd_tag 123 -#define RadioConfig_UserPreferences_serialplugin_timeout_tag 124 -#define RadioConfig_UserPreferences_serialplugin_mode_tag 125 -#define RadioConfig_UserPreferences_ext_notification_plugin_enabled_tag 126 -#define RadioConfig_UserPreferences_ext_notification_plugin_output_ms_tag 127 -#define RadioConfig_UserPreferences_ext_notification_plugin_output_tag 128 -#define RadioConfig_UserPreferences_ext_notification_plugin_active_tag 129 -#define RadioConfig_UserPreferences_ext_notification_plugin_alert_message_tag 130 -#define RadioConfig_UserPreferences_ext_notification_plugin_alert_bell_tag 131 -#define RadioConfig_UserPreferences_range_test_plugin_enabled_tag 132 -#define RadioConfig_UserPreferences_range_test_plugin_sender_tag 133 -#define RadioConfig_UserPreferences_range_test_plugin_save_tag 134 -#define RadioConfig_UserPreferences_store_forward_plugin_enabled_tag 136 -#define RadioConfig_UserPreferences_store_forward_plugin_records_tag 137 -#define RadioConfig_UserPreferences_environmental_measurement_plugin_measurement_enabled_tag 140 -#define RadioConfig_UserPreferences_environmental_measurement_plugin_screen_enabled_tag 141 -#define RadioConfig_UserPreferences_environmental_measurement_plugin_read_error_count_threshold_tag 142 -#define RadioConfig_UserPreferences_environmental_measurement_plugin_update_interval_tag 143 -#define RadioConfig_UserPreferences_environmental_measurement_plugin_recovery_interval_tag 144 #define RouteDiscovery_route_tag 2 #define User_id_tag 1 #define User_long_name_tag 2 #define User_short_name_tag 3 #define User_macaddr_tag 4 -#define Channel_index_tag 1 -#define Channel_settings_tag 2 -#define Channel_role_tag 3 #define MeshPacket_from_tag 1 #define MeshPacket_to_tag 2 #define MeshPacket_channel_tag 3 @@ -502,18 +270,15 @@ extern "C" { #define NodeInfo_position_tag 3 #define NodeInfo_next_hop_tag 5 #define NodeInfo_snr_tag 7 -#define RadioConfig_preferences_tag 1 #define Routing_route_request_tag 1 #define Routing_route_reply_tag 2 #define Routing_error_reason_tag 3 #define FromRadio_num_tag 1 #define FromRadio_my_info_tag 3 #define FromRadio_node_info_tag 4 -#define FromRadio_radio_tag 6 #define FromRadio_log_record_tag 7 #define FromRadio_config_complete_id_tag 8 #define FromRadio_rebooted_tag 9 -#define FromRadio_channel_tag 10 #define FromRadio_packet_tag 11 #define ToRadio_packet_tag 2 #define ToRadio_want_config_id_tag 100 @@ -576,86 +341,6 @@ X(a, STATIC, SINGULAR, UENUM, priority, 12) #define MeshPacket_DEFAULT NULL #define MeshPacket_payloadVariant_decoded_MSGTYPE Data -#define ChannelSettings_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, INT32, tx_power, 1) \ -X(a, STATIC, SINGULAR, UENUM, modem_config, 3) \ -X(a, STATIC, SINGULAR, BYTES, psk, 4) \ -X(a, STATIC, SINGULAR, STRING, name, 5) \ -X(a, STATIC, SINGULAR, UINT32, bandwidth, 6) \ -X(a, STATIC, SINGULAR, UINT32, spread_factor, 7) \ -X(a, STATIC, SINGULAR, UINT32, coding_rate, 8) \ -X(a, STATIC, SINGULAR, UINT32, channel_num, 9) \ -X(a, STATIC, SINGULAR, FIXED32, id, 10) \ -X(a, STATIC, SINGULAR, BOOL, uplink_enabled, 16) \ -X(a, STATIC, SINGULAR, BOOL, downlink_enabled, 17) -#define ChannelSettings_CALLBACK NULL -#define ChannelSettings_DEFAULT NULL - -#define Channel_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, UINT32, index, 1) \ -X(a, STATIC, OPTIONAL, MESSAGE, settings, 2) \ -X(a, STATIC, SINGULAR, UENUM, role, 3) -#define Channel_CALLBACK NULL -#define Channel_DEFAULT NULL -#define Channel_settings_MSGTYPE ChannelSettings - -#define RadioConfig_FIELDLIST(X, a) \ -X(a, STATIC, OPTIONAL, MESSAGE, preferences, 1) -#define RadioConfig_CALLBACK NULL -#define RadioConfig_DEFAULT NULL -#define RadioConfig_preferences_MSGTYPE RadioConfig_UserPreferences - -#define RadioConfig_UserPreferences_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, UINT32, position_broadcast_secs, 1) \ -X(a, STATIC, SINGULAR, UINT32, send_owner_interval, 2) \ -X(a, STATIC, SINGULAR, UINT32, wait_bluetooth_secs, 4) \ -X(a, STATIC, SINGULAR, UINT32, screen_on_secs, 5) \ -X(a, STATIC, SINGULAR, UINT32, phone_timeout_secs, 6) \ -X(a, STATIC, SINGULAR, UINT32, phone_sds_timeout_sec, 7) \ -X(a, STATIC, SINGULAR, UINT32, mesh_sds_timeout_secs, 8) \ -X(a, STATIC, SINGULAR, UINT32, sds_secs, 9) \ -X(a, STATIC, SINGULAR, UINT32, ls_secs, 10) \ -X(a, STATIC, SINGULAR, UINT32, min_wake_secs, 11) \ -X(a, STATIC, SINGULAR, STRING, wifi_ssid, 12) \ -X(a, STATIC, SINGULAR, STRING, wifi_password, 13) \ -X(a, STATIC, SINGULAR, BOOL, wifi_ap_mode, 14) \ -X(a, STATIC, SINGULAR, UENUM, region, 15) \ -X(a, STATIC, SINGULAR, UENUM, charge_current, 16) \ -X(a, STATIC, SINGULAR, UENUM, location_share, 32) \ -X(a, STATIC, SINGULAR, UENUM, gps_operation, 33) \ -X(a, STATIC, SINGULAR, UINT32, gps_update_interval, 34) \ -X(a, STATIC, SINGULAR, UINT32, gps_attempt_time, 36) \ -X(a, STATIC, SINGULAR, BOOL, is_router, 37) \ -X(a, STATIC, SINGULAR, BOOL, is_low_power, 38) \ -X(a, STATIC, SINGULAR, BOOL, fixed_position, 39) \ -X(a, STATIC, SINGULAR, BOOL, factory_reset, 100) \ -X(a, STATIC, SINGULAR, BOOL, debug_log_enabled, 101) \ -X(a, STATIC, REPEATED, UINT32, ignore_incoming, 103) \ -X(a, STATIC, SINGULAR, BOOL, serialplugin_enabled, 120) \ -X(a, STATIC, SINGULAR, BOOL, serialplugin_echo, 121) \ -X(a, STATIC, SINGULAR, UINT32, serialplugin_rxd, 122) \ -X(a, STATIC, SINGULAR, UINT32, serialplugin_txd, 123) \ -X(a, STATIC, SINGULAR, UINT32, serialplugin_timeout, 124) \ -X(a, STATIC, SINGULAR, UINT32, serialplugin_mode, 125) \ -X(a, STATIC, SINGULAR, BOOL, ext_notification_plugin_enabled, 126) \ -X(a, STATIC, SINGULAR, UINT32, ext_notification_plugin_output_ms, 127) \ -X(a, STATIC, SINGULAR, UINT32, ext_notification_plugin_output, 128) \ -X(a, STATIC, SINGULAR, BOOL, ext_notification_plugin_active, 129) \ -X(a, STATIC, SINGULAR, BOOL, ext_notification_plugin_alert_message, 130) \ -X(a, STATIC, SINGULAR, BOOL, ext_notification_plugin_alert_bell, 131) \ -X(a, STATIC, SINGULAR, BOOL, range_test_plugin_enabled, 132) \ -X(a, STATIC, SINGULAR, UINT32, range_test_plugin_sender, 133) \ -X(a, STATIC, SINGULAR, BOOL, range_test_plugin_save, 134) \ -X(a, STATIC, SINGULAR, BOOL, store_forward_plugin_enabled, 136) \ -X(a, STATIC, SINGULAR, UINT32, store_forward_plugin_records, 137) \ -X(a, STATIC, SINGULAR, BOOL, environmental_measurement_plugin_measurement_enabled, 140) \ -X(a, STATIC, SINGULAR, BOOL, environmental_measurement_plugin_screen_enabled, 141) \ -X(a, STATIC, SINGULAR, UINT32, environmental_measurement_plugin_read_error_count_threshold, 142) \ -X(a, STATIC, SINGULAR, UINT32, environmental_measurement_plugin_update_interval, 143) \ -X(a, STATIC, SINGULAR, UINT32, environmental_measurement_plugin_recovery_interval, 144) -#define RadioConfig_UserPreferences_CALLBACK NULL -#define RadioConfig_UserPreferences_DEFAULT NULL - #define NodeInfo_FIELDLIST(X, a) \ X(a, STATIC, SINGULAR, UINT32, num, 1) \ X(a, STATIC, OPTIONAL, MESSAGE, user, 2) \ @@ -695,19 +380,15 @@ X(a, STATIC, SINGULAR, UENUM, level, 4) X(a, STATIC, SINGULAR, UINT32, num, 1) \ X(a, STATIC, ONEOF, MESSAGE, (payloadVariant,my_info,my_info), 3) \ X(a, STATIC, ONEOF, MESSAGE, (payloadVariant,node_info,node_info), 4) \ -X(a, STATIC, ONEOF, MESSAGE, (payloadVariant,radio,radio), 6) \ X(a, STATIC, ONEOF, MESSAGE, (payloadVariant,log_record,log_record), 7) \ X(a, STATIC, ONEOF, UINT32, (payloadVariant,config_complete_id,config_complete_id), 8) \ X(a, STATIC, ONEOF, BOOL, (payloadVariant,rebooted,rebooted), 9) \ -X(a, STATIC, ONEOF, MESSAGE, (payloadVariant,channel,channel), 10) \ X(a, STATIC, ONEOF, MESSAGE, (payloadVariant,packet,packet), 11) #define FromRadio_CALLBACK NULL #define FromRadio_DEFAULT NULL #define FromRadio_payloadVariant_my_info_MSGTYPE MyNodeInfo #define FromRadio_payloadVariant_node_info_MSGTYPE NodeInfo -#define FromRadio_payloadVariant_radio_MSGTYPE RadioConfig #define FromRadio_payloadVariant_log_record_MSGTYPE LogRecord -#define FromRadio_payloadVariant_channel_MSGTYPE Channel #define FromRadio_payloadVariant_packet_MSGTYPE MeshPacket #define ToRadio_FIELDLIST(X, a) \ @@ -723,10 +404,6 @@ extern const pb_msgdesc_t RouteDiscovery_msg; extern const pb_msgdesc_t Routing_msg; extern const pb_msgdesc_t Data_msg; extern const pb_msgdesc_t MeshPacket_msg; -extern const pb_msgdesc_t ChannelSettings_msg; -extern const pb_msgdesc_t Channel_msg; -extern const pb_msgdesc_t RadioConfig_msg; -extern const pb_msgdesc_t RadioConfig_UserPreferences_msg; extern const pb_msgdesc_t NodeInfo_msg; extern const pb_msgdesc_t MyNodeInfo_msg; extern const pb_msgdesc_t LogRecord_msg; @@ -740,10 +417,6 @@ extern const pb_msgdesc_t ToRadio_msg; #define Routing_fields &Routing_msg #define Data_fields &Data_msg #define MeshPacket_fields &MeshPacket_msg -#define ChannelSettings_fields &ChannelSettings_msg -#define Channel_fields &Channel_msg -#define RadioConfig_fields &RadioConfig_msg -#define RadioConfig_UserPreferences_fields &RadioConfig_UserPreferences_msg #define NodeInfo_fields &NodeInfo_msg #define MyNodeInfo_fields &MyNodeInfo_msg #define LogRecord_fields &LogRecord_msg @@ -757,14 +430,10 @@ extern const pb_msgdesc_t ToRadio_msg; #define Routing_size 42 #define Data_size 260 #define MeshPacket_size 298 -#define ChannelSettings_size 87 -#define Channel_size 94 -#define RadioConfig_size 335 -#define RadioConfig_UserPreferences_size 332 #define NodeInfo_size 130 #define MyNodeInfo_size 89 #define LogRecord_size 81 -#define FromRadio_size 344 +#define FromRadio_size 307 #define ToRadio_size 301 #ifdef __cplusplus diff --git a/src/mesh/generated/radioconfig.pb.c b/src/mesh/generated/radioconfig.pb.c new file mode 100644 index 000000000..85aa7aa18 --- /dev/null +++ b/src/mesh/generated/radioconfig.pb.c @@ -0,0 +1,19 @@ +/* Automatically generated nanopb constant definitions */ +/* Generated by nanopb-0.4.4 */ + +#include "radioconfig.pb.h" +#if PB_PROTO_HEADER_VERSION != 40 +#error Regenerate this file with the current version of nanopb generator. +#endif + +PB_BIND(RadioConfig, RadioConfig, 2) + + +PB_BIND(RadioConfig_UserPreferences, RadioConfig_UserPreferences, 2) + + + + + + + diff --git a/src/mesh/generated/radioconfig.pb.h b/src/mesh/generated/radioconfig.pb.h new file mode 100644 index 000000000..b8a6bfd7a --- /dev/null +++ b/src/mesh/generated/radioconfig.pb.h @@ -0,0 +1,268 @@ +/* Automatically generated nanopb header */ +/* Generated by nanopb-0.4.4 */ + +#ifndef PB_RADIOCONFIG_PB_H_INCLUDED +#define PB_RADIOCONFIG_PB_H_INCLUDED +#include + +#if PB_PROTO_HEADER_VERSION != 40 +#error Regenerate this file with the current version of nanopb generator. +#endif + +/* Enum definitions */ +typedef enum _RegionCode { + RegionCode_Unset = 0, + RegionCode_US = 1, + RegionCode_EU433 = 2, + RegionCode_EU865 = 3, + RegionCode_CN = 4, + RegionCode_JP = 5, + RegionCode_ANZ = 6, + RegionCode_KR = 7, + RegionCode_TW = 8 +} RegionCode; + +typedef enum _ChargeCurrent { + ChargeCurrent_MAUnset = 0, + ChargeCurrent_MA100 = 1, + ChargeCurrent_MA190 = 2, + ChargeCurrent_MA280 = 3, + ChargeCurrent_MA360 = 4, + ChargeCurrent_MA450 = 5, + ChargeCurrent_MA550 = 6, + ChargeCurrent_MA630 = 7, + ChargeCurrent_MA700 = 8, + ChargeCurrent_MA780 = 9, + ChargeCurrent_MA880 = 10, + ChargeCurrent_MA960 = 11, + ChargeCurrent_MA1000 = 12, + ChargeCurrent_MA1080 = 13, + ChargeCurrent_MA1160 = 14, + ChargeCurrent_MA1240 = 15, + ChargeCurrent_MA1320 = 16 +} ChargeCurrent; + +typedef enum _GpsOperation { + GpsOperation_GpsOpUnset = 0, + GpsOperation_GpsOpStationary = 1, + GpsOperation_GpsOpMobile = 2, + GpsOperation_GpsOpTimeOnly = 3, + GpsOperation_GpsOpDisabled = 4 +} GpsOperation; + +typedef enum _LocationSharing { + LocationSharing_LocUnset = 0, + LocationSharing_LocEnabled = 1, + LocationSharing_LocDisabled = 2 +} LocationSharing; + +/* Struct definitions */ +typedef struct _RadioConfig_UserPreferences { + uint32_t position_broadcast_secs; + uint32_t send_owner_interval; + uint32_t wait_bluetooth_secs; + uint32_t screen_on_secs; + uint32_t phone_timeout_secs; + uint32_t phone_sds_timeout_sec; + uint32_t mesh_sds_timeout_secs; + uint32_t sds_secs; + uint32_t ls_secs; + uint32_t min_wake_secs; + char wifi_ssid[33]; + char wifi_password[64]; + bool wifi_ap_mode; + RegionCode region; + ChargeCurrent charge_current; + LocationSharing location_share; + GpsOperation gps_operation; + uint32_t gps_update_interval; + uint32_t gps_attempt_time; + bool is_router; + bool is_low_power; + bool fixed_position; + bool factory_reset; + bool debug_log_enabled; + pb_size_t ignore_incoming_count; + uint32_t ignore_incoming[3]; + bool serialplugin_enabled; + bool serialplugin_echo; + uint32_t serialplugin_rxd; + uint32_t serialplugin_txd; + uint32_t serialplugin_timeout; + uint32_t serialplugin_mode; + bool ext_notification_plugin_enabled; + uint32_t ext_notification_plugin_output_ms; + uint32_t ext_notification_plugin_output; + bool ext_notification_plugin_active; + bool ext_notification_plugin_alert_message; + bool ext_notification_plugin_alert_bell; + bool range_test_plugin_enabled; + uint32_t range_test_plugin_sender; + bool range_test_plugin_save; + bool store_forward_plugin_enabled; + uint32_t store_forward_plugin_records; + bool environmental_measurement_plugin_measurement_enabled; + bool environmental_measurement_plugin_screen_enabled; + uint32_t environmental_measurement_plugin_read_error_count_threshold; + uint32_t environmental_measurement_plugin_update_interval; + uint32_t environmental_measurement_plugin_recovery_interval; +} RadioConfig_UserPreferences; + +typedef struct _RadioConfig { + bool has_preferences; + RadioConfig_UserPreferences preferences; +} RadioConfig; + + +/* Helper constants for enums */ +#define _RegionCode_MIN RegionCode_Unset +#define _RegionCode_MAX RegionCode_TW +#define _RegionCode_ARRAYSIZE ((RegionCode)(RegionCode_TW+1)) + +#define _ChargeCurrent_MIN ChargeCurrent_MAUnset +#define _ChargeCurrent_MAX ChargeCurrent_MA1320 +#define _ChargeCurrent_ARRAYSIZE ((ChargeCurrent)(ChargeCurrent_MA1320+1)) + +#define _GpsOperation_MIN GpsOperation_GpsOpUnset +#define _GpsOperation_MAX GpsOperation_GpsOpDisabled +#define _GpsOperation_ARRAYSIZE ((GpsOperation)(GpsOperation_GpsOpDisabled+1)) + +#define _LocationSharing_MIN LocationSharing_LocUnset +#define _LocationSharing_MAX LocationSharing_LocDisabled +#define _LocationSharing_ARRAYSIZE ((LocationSharing)(LocationSharing_LocDisabled+1)) + + +#ifdef __cplusplus +extern "C" { +#endif + +/* Initializer values for message structs */ +#define RadioConfig_init_default {false, RadioConfig_UserPreferences_init_default} +#define RadioConfig_UserPreferences_init_default {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", 0, _RegionCode_MIN, _ChargeCurrent_MIN, _LocationSharing_MIN, _GpsOperation_MIN, 0, 0, 0, 0, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} +#define RadioConfig_init_zero {false, RadioConfig_UserPreferences_init_zero} +#define RadioConfig_UserPreferences_init_zero {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", 0, _RegionCode_MIN, _ChargeCurrent_MIN, _LocationSharing_MIN, _GpsOperation_MIN, 0, 0, 0, 0, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} + +/* Field tags (for use in manual encoding/decoding) */ +#define RadioConfig_UserPreferences_position_broadcast_secs_tag 1 +#define RadioConfig_UserPreferences_send_owner_interval_tag 2 +#define RadioConfig_UserPreferences_wait_bluetooth_secs_tag 4 +#define RadioConfig_UserPreferences_screen_on_secs_tag 5 +#define RadioConfig_UserPreferences_phone_timeout_secs_tag 6 +#define RadioConfig_UserPreferences_phone_sds_timeout_sec_tag 7 +#define RadioConfig_UserPreferences_mesh_sds_timeout_secs_tag 8 +#define RadioConfig_UserPreferences_sds_secs_tag 9 +#define RadioConfig_UserPreferences_ls_secs_tag 10 +#define RadioConfig_UserPreferences_min_wake_secs_tag 11 +#define RadioConfig_UserPreferences_wifi_ssid_tag 12 +#define RadioConfig_UserPreferences_wifi_password_tag 13 +#define RadioConfig_UserPreferences_wifi_ap_mode_tag 14 +#define RadioConfig_UserPreferences_region_tag 15 +#define RadioConfig_UserPreferences_charge_current_tag 16 +#define RadioConfig_UserPreferences_location_share_tag 32 +#define RadioConfig_UserPreferences_gps_operation_tag 33 +#define RadioConfig_UserPreferences_gps_update_interval_tag 34 +#define RadioConfig_UserPreferences_gps_attempt_time_tag 36 +#define RadioConfig_UserPreferences_is_router_tag 37 +#define RadioConfig_UserPreferences_is_low_power_tag 38 +#define RadioConfig_UserPreferences_fixed_position_tag 39 +#define RadioConfig_UserPreferences_factory_reset_tag 100 +#define RadioConfig_UserPreferences_debug_log_enabled_tag 101 +#define RadioConfig_UserPreferences_ignore_incoming_tag 103 +#define RadioConfig_UserPreferences_serialplugin_enabled_tag 120 +#define RadioConfig_UserPreferences_serialplugin_echo_tag 121 +#define RadioConfig_UserPreferences_serialplugin_rxd_tag 122 +#define RadioConfig_UserPreferences_serialplugin_txd_tag 123 +#define RadioConfig_UserPreferences_serialplugin_timeout_tag 124 +#define RadioConfig_UserPreferences_serialplugin_mode_tag 125 +#define RadioConfig_UserPreferences_ext_notification_plugin_enabled_tag 126 +#define RadioConfig_UserPreferences_ext_notification_plugin_output_ms_tag 127 +#define RadioConfig_UserPreferences_ext_notification_plugin_output_tag 128 +#define RadioConfig_UserPreferences_ext_notification_plugin_active_tag 129 +#define RadioConfig_UserPreferences_ext_notification_plugin_alert_message_tag 130 +#define RadioConfig_UserPreferences_ext_notification_plugin_alert_bell_tag 131 +#define RadioConfig_UserPreferences_range_test_plugin_enabled_tag 132 +#define RadioConfig_UserPreferences_range_test_plugin_sender_tag 133 +#define RadioConfig_UserPreferences_range_test_plugin_save_tag 134 +#define RadioConfig_UserPreferences_store_forward_plugin_enabled_tag 136 +#define RadioConfig_UserPreferences_store_forward_plugin_records_tag 137 +#define RadioConfig_UserPreferences_environmental_measurement_plugin_measurement_enabled_tag 140 +#define RadioConfig_UserPreferences_environmental_measurement_plugin_screen_enabled_tag 141 +#define RadioConfig_UserPreferences_environmental_measurement_plugin_read_error_count_threshold_tag 142 +#define RadioConfig_UserPreferences_environmental_measurement_plugin_update_interval_tag 143 +#define RadioConfig_UserPreferences_environmental_measurement_plugin_recovery_interval_tag 144 +#define RadioConfig_preferences_tag 1 + +/* Struct field encoding specification for nanopb */ +#define RadioConfig_FIELDLIST(X, a) \ +X(a, STATIC, OPTIONAL, MESSAGE, preferences, 1) +#define RadioConfig_CALLBACK NULL +#define RadioConfig_DEFAULT NULL +#define RadioConfig_preferences_MSGTYPE RadioConfig_UserPreferences + +#define RadioConfig_UserPreferences_FIELDLIST(X, a) \ +X(a, STATIC, SINGULAR, UINT32, position_broadcast_secs, 1) \ +X(a, STATIC, SINGULAR, UINT32, send_owner_interval, 2) \ +X(a, STATIC, SINGULAR, UINT32, wait_bluetooth_secs, 4) \ +X(a, STATIC, SINGULAR, UINT32, screen_on_secs, 5) \ +X(a, STATIC, SINGULAR, UINT32, phone_timeout_secs, 6) \ +X(a, STATIC, SINGULAR, UINT32, phone_sds_timeout_sec, 7) \ +X(a, STATIC, SINGULAR, UINT32, mesh_sds_timeout_secs, 8) \ +X(a, STATIC, SINGULAR, UINT32, sds_secs, 9) \ +X(a, STATIC, SINGULAR, UINT32, ls_secs, 10) \ +X(a, STATIC, SINGULAR, UINT32, min_wake_secs, 11) \ +X(a, STATIC, SINGULAR, STRING, wifi_ssid, 12) \ +X(a, STATIC, SINGULAR, STRING, wifi_password, 13) \ +X(a, STATIC, SINGULAR, BOOL, wifi_ap_mode, 14) \ +X(a, STATIC, SINGULAR, UENUM, region, 15) \ +X(a, STATIC, SINGULAR, UENUM, charge_current, 16) \ +X(a, STATIC, SINGULAR, UENUM, location_share, 32) \ +X(a, STATIC, SINGULAR, UENUM, gps_operation, 33) \ +X(a, STATIC, SINGULAR, UINT32, gps_update_interval, 34) \ +X(a, STATIC, SINGULAR, UINT32, gps_attempt_time, 36) \ +X(a, STATIC, SINGULAR, BOOL, is_router, 37) \ +X(a, STATIC, SINGULAR, BOOL, is_low_power, 38) \ +X(a, STATIC, SINGULAR, BOOL, fixed_position, 39) \ +X(a, STATIC, SINGULAR, BOOL, factory_reset, 100) \ +X(a, STATIC, SINGULAR, BOOL, debug_log_enabled, 101) \ +X(a, STATIC, REPEATED, UINT32, ignore_incoming, 103) \ +X(a, STATIC, SINGULAR, BOOL, serialplugin_enabled, 120) \ +X(a, STATIC, SINGULAR, BOOL, serialplugin_echo, 121) \ +X(a, STATIC, SINGULAR, UINT32, serialplugin_rxd, 122) \ +X(a, STATIC, SINGULAR, UINT32, serialplugin_txd, 123) \ +X(a, STATIC, SINGULAR, UINT32, serialplugin_timeout, 124) \ +X(a, STATIC, SINGULAR, UINT32, serialplugin_mode, 125) \ +X(a, STATIC, SINGULAR, BOOL, ext_notification_plugin_enabled, 126) \ +X(a, STATIC, SINGULAR, UINT32, ext_notification_plugin_output_ms, 127) \ +X(a, STATIC, SINGULAR, UINT32, ext_notification_plugin_output, 128) \ +X(a, STATIC, SINGULAR, BOOL, ext_notification_plugin_active, 129) \ +X(a, STATIC, SINGULAR, BOOL, ext_notification_plugin_alert_message, 130) \ +X(a, STATIC, SINGULAR, BOOL, ext_notification_plugin_alert_bell, 131) \ +X(a, STATIC, SINGULAR, BOOL, range_test_plugin_enabled, 132) \ +X(a, STATIC, SINGULAR, UINT32, range_test_plugin_sender, 133) \ +X(a, STATIC, SINGULAR, BOOL, range_test_plugin_save, 134) \ +X(a, STATIC, SINGULAR, BOOL, store_forward_plugin_enabled, 136) \ +X(a, STATIC, SINGULAR, UINT32, store_forward_plugin_records, 137) \ +X(a, STATIC, SINGULAR, BOOL, environmental_measurement_plugin_measurement_enabled, 140) \ +X(a, STATIC, SINGULAR, BOOL, environmental_measurement_plugin_screen_enabled, 141) \ +X(a, STATIC, SINGULAR, UINT32, environmental_measurement_plugin_read_error_count_threshold, 142) \ +X(a, STATIC, SINGULAR, UINT32, environmental_measurement_plugin_update_interval, 143) \ +X(a, STATIC, SINGULAR, UINT32, environmental_measurement_plugin_recovery_interval, 144) +#define RadioConfig_UserPreferences_CALLBACK NULL +#define RadioConfig_UserPreferences_DEFAULT NULL + +extern const pb_msgdesc_t RadioConfig_msg; +extern const pb_msgdesc_t RadioConfig_UserPreferences_msg; + +/* Defines for backwards compatibility with code written before nanopb-0.4.0 */ +#define RadioConfig_fields &RadioConfig_msg +#define RadioConfig_UserPreferences_fields &RadioConfig_UserPreferences_msg + +/* Maximum encoded size of messages (where known) */ +#define RadioConfig_size 335 +#define RadioConfig_UserPreferences_size 332 + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif