Config rework - Init GetConfigResponse

This commit is contained in:
Sacha Weatherstone
2022-05-01 16:12:48 +10:00
parent 50326fbb6b
commit c0d40895f8
5 changed files with 446 additions and 61 deletions

View File

@@ -7,30 +7,31 @@
#include "channel.pb.h"
#include "mesh.pb.h"
#include "radioconfig.pb.h"
#include "config.pb.h"
#if PB_PROTO_HEADER_VERSION != 40
#error Regenerate this file with the current version of nanopb generator.
#endif
/* Enum definitions */
typedef enum _AdminMessage_RadioConfigType {
AdminMessage_RadioConfigType_ALL = 0,
AdminMessage_RadioConfigType_CORE_ONLY = 1,
AdminMessage_RadioConfigType_MODULE_ONLY = 2,
AdminMessage_RadioConfigType_DEVICE_CONFIG = 3,
AdminMessage_RadioConfigType_GPS_CONFIG = 4,
AdminMessage_RadioConfigType_POWER_CONFIG = 5,
AdminMessage_RadioConfigType_WIFI_CONFIG = 6,
AdminMessage_RadioConfigType_DISPLAY_CONFIG = 7,
AdminMessage_RadioConfigType_LORA_CONFIG = 8,
AdminMessage_RadioConfigType_MODULE_MQTT_CONFIG = 9,
AdminMessage_RadioConfigType_MODULE_SERIAL_CONFIG = 10,
AdminMessage_RadioConfigType_MODULE_EXTNOTIF_CONFIG = 11,
AdminMessage_RadioConfigType_MODULE_STOREFORWARD_CONFIG = 12,
AdminMessage_RadioConfigType_MODULE_RANGETEST_CONFIG = 13,
AdminMessage_RadioConfigType_MODULE_ENVIRONMENTAL_CONFIG = 14,
AdminMessage_RadioConfigType_MODULE_CANNEDMSG_CONFIG = 15
} AdminMessage_RadioConfigType;
typedef enum _AdminMessage_ConfigType {
AdminMessage_ConfigType_ALL = 0,
AdminMessage_ConfigType_CORE_ONLY = 1,
AdminMessage_ConfigType_MODULE_ONLY = 2,
AdminMessage_ConfigType_DEVICE_CONFIG = 3,
AdminMessage_ConfigType_GPS_CONFIG = 4,
AdminMessage_ConfigType_POWER_CONFIG = 5,
AdminMessage_ConfigType_WIFI_CONFIG = 6,
AdminMessage_ConfigType_DISPLAY_CONFIG = 7,
AdminMessage_ConfigType_LORA_CONFIG = 8,
AdminMessage_ConfigType_MODULE_MQTT_CONFIG = 9,
AdminMessage_ConfigType_MODULE_SERIAL_CONFIG = 10,
AdminMessage_ConfigType_MODULE_EXTNOTIF_CONFIG = 11,
AdminMessage_ConfigType_MODULE_STOREFORWARD_CONFIG = 12,
AdminMessage_ConfigType_MODULE_RANGETEST_CONFIG = 13,
AdminMessage_ConfigType_MODULE_ENVIRONMENTAL_CONFIG = 14,
AdminMessage_ConfigType_MODULE_CANNEDMSG_CONFIG = 15
} AdminMessage_ConfigType;
/* Struct definitions */
/* This message is handled by the Admin module and is responsible for all settings/channel read/write operations.
@@ -49,7 +50,8 @@ typedef struct _AdminMessage {
Channel get_channel_response;
bool get_owner_request;
User get_owner_response;
AdminMessage_RadioConfigType get_config_request;
AdminMessage_ConfigType get_config_request;
Config get_config_response;
bool confirm_set_channel;
bool confirm_set_radio;
bool exit_simulator;
@@ -72,9 +74,9 @@ typedef struct _AdminMessage {
/* Helper constants for enums */
#define _AdminMessage_RadioConfigType_MIN AdminMessage_RadioConfigType_ALL
#define _AdminMessage_RadioConfigType_MAX AdminMessage_RadioConfigType_MODULE_CANNEDMSG_CONFIG
#define _AdminMessage_RadioConfigType_ARRAYSIZE ((AdminMessage_RadioConfigType)(AdminMessage_RadioConfigType_MODULE_CANNEDMSG_CONFIG+1))
#define _AdminMessage_ConfigType_MIN AdminMessage_ConfigType_ALL
#define _AdminMessage_ConfigType_MAX AdminMessage_ConfigType_MODULE_CANNEDMSG_CONFIG
#define _AdminMessage_ConfigType_ARRAYSIZE ((AdminMessage_ConfigType)(AdminMessage_ConfigType_MODULE_CANNEDMSG_CONFIG+1))
#ifdef __cplusplus
@@ -96,6 +98,7 @@ extern "C" {
#define AdminMessage_get_owner_request_tag 8
#define AdminMessage_get_owner_response_tag 9
#define AdminMessage_get_config_request_tag 10
#define AdminMessage_get_config_response_tag 11
#define AdminMessage_confirm_set_channel_tag 32
#define AdminMessage_confirm_set_radio_tag 33
#define AdminMessage_exit_simulator_tag 34
@@ -126,6 +129,7 @@ X(a, STATIC, ONEOF, MESSAGE, (variant,get_channel_response,get_channel_res
X(a, STATIC, ONEOF, BOOL, (variant,get_owner_request,get_owner_request), 8) \
X(a, STATIC, ONEOF, MESSAGE, (variant,get_owner_response,get_owner_response), 9) \
X(a, STATIC, ONEOF, UENUM, (variant,get_config_request,get_config_request), 10) \
X(a, STATIC, ONEOF, MESSAGE, (variant,get_config_response,get_config_response), 11) \
X(a, STATIC, ONEOF, BOOL, (variant,confirm_set_channel,confirm_set_channel), 32) \
X(a, STATIC, ONEOF, BOOL, (variant,confirm_set_radio,confirm_set_radio), 33) \
X(a, STATIC, ONEOF, BOOL, (variant,exit_simulator,exit_simulator), 34) \
@@ -151,6 +155,7 @@ X(a, STATIC, ONEOF, INT32, (variant,shutdown_seconds,shutdown_seconds),
#define AdminMessage_variant_get_radio_response_MSGTYPE RadioConfig
#define AdminMessage_variant_get_channel_response_MSGTYPE Channel
#define AdminMessage_variant_get_owner_response_MSGTYPE User
#define AdminMessage_variant_get_config_response_MSGTYPE Config
extern const pb_msgdesc_t AdminMessage_msg;
@@ -158,7 +163,10 @@ extern const pb_msgdesc_t AdminMessage_msg;
#define AdminMessage_fields &AdminMessage_msg
/* Maximum encoded size of messages (where known) */
#define AdminMessage_size 598
#if defined(Config_size)
#define AdminMessage_size (0 + sizeof(union AdminMessage_variant_size_union))
union AdminMessage_variant_size_union {char f0[598]; char f11[(6 + Config_size)];};
#endif
#ifdef __cplusplus
} /* extern "C" */