mirror of
https://github.com/meshtastic/firmware.git
synced 2025-06-08 14:12:05 +00:00
move region into userpreferences, to end region specific firmwares
This commit is contained in:
parent
1a064a4666
commit
3e5f81bf2a
1
.vscode/settings.json
vendored
1
.vscode/settings.json
vendored
@ -56,6 +56,7 @@
|
|||||||
"HFSR",
|
"HFSR",
|
||||||
"Meshtastic",
|
"Meshtastic",
|
||||||
"NEMAGPS",
|
"NEMAGPS",
|
||||||
|
"RDEF",
|
||||||
"Ublox",
|
"Ublox",
|
||||||
"bkpt",
|
"bkpt",
|
||||||
"cfsr",
|
"cfsr",
|
||||||
|
2
proto
2
proto
@ -1 +1 @@
|
|||||||
Subproject commit 4e431c841015edfdde925acf5ee4ac0a2272edff
|
Subproject commit 5cdd7bff56b0ea54351e5ea0e358e864b061078f
|
@ -6,87 +6,14 @@
|
|||||||
#include "configuration.h"
|
#include "configuration.h"
|
||||||
#include "mesh.pb.h"
|
#include "mesh.pb.h"
|
||||||
|
|
||||||
// US channel settings
|
// Map from old region names to new region enums
|
||||||
#define CH0_US 903.08f // MHz
|
struct RegionInfo {
|
||||||
#define CH_SPACING_US 2.16f // MHz
|
RegionCode code;
|
||||||
#define NUM_CHANNELS_US 13
|
uint8_t numChannels;
|
||||||
|
uint8_t powerLimit; // Or zero for not set
|
||||||
|
float freq;
|
||||||
|
float spacing;
|
||||||
|
const char *name; // EU433 etc
|
||||||
|
};
|
||||||
|
|
||||||
// EU433 channel settings
|
extern const RegionInfo regions[];
|
||||||
#define CH0_EU433 433.175f // MHz
|
|
||||||
#define CH_SPACING_EU433 0.2f // MHz
|
|
||||||
#define NUM_CHANNELS_EU433 8
|
|
||||||
|
|
||||||
// EU865 channel settings
|
|
||||||
#define CH0_EU865 865.2f // MHz
|
|
||||||
#define CH_SPACING_EU865 0.3f // MHz
|
|
||||||
#define NUM_CHANNELS_EU865 10
|
|
||||||
|
|
||||||
// CN channel settings
|
|
||||||
#define CH0_CN 470.0f // MHz
|
|
||||||
#define CH_SPACING_CN 2.0f // MHz FIXME, this is just a guess for 470-510
|
|
||||||
#define NUM_CHANNELS_CN 20
|
|
||||||
|
|
||||||
// JP channel settings (AS1 bandplan)
|
|
||||||
#define CH0_JP 920.0f // MHz
|
|
||||||
#define CH_SPACING_JP 0.5f
|
|
||||||
#define NUM_CHANNELS_JP 10
|
|
||||||
|
|
||||||
// TW channel settings (AS2 bandplan 923-925MHz)
|
|
||||||
#define CH0_TW 923.0f // MHz
|
|
||||||
#define CH_SPACING_TW 0.2
|
|
||||||
#define NUM_CHANNELS_TW 10
|
|
||||||
|
|
||||||
// AU/NZ channel settings 915-928MHz
|
|
||||||
#define CH0_ANZ 916.0f // MHz - avoid overcrowding on 915.0
|
|
||||||
#define CH_SPACING_ANZ 0.5f
|
|
||||||
#define NUM_CHANNELS_ANZ 20
|
|
||||||
|
|
||||||
// KR channel settings (KR920-923)
|
|
||||||
// Start from TTN download channel freq. (921.9f is for download, others are for uplink)
|
|
||||||
#define CH0_KR 921.9f // MHz
|
|
||||||
#define CH_SPACING_KR 0.2f
|
|
||||||
#define NUM_CHANNELS_KR 8
|
|
||||||
|
|
||||||
// FIXME add defs for other regions and use them here
|
|
||||||
#ifdef HW_VERSION_US
|
|
||||||
#define CH0 CH0_US
|
|
||||||
#define CH_SPACING CH_SPACING_US
|
|
||||||
#define NUM_CHANNELS NUM_CHANNELS_US
|
|
||||||
#elif defined(HW_VERSION_EU433)
|
|
||||||
#define CH0 CH0_EU433
|
|
||||||
#define CH_SPACING CH_SPACING_EU433
|
|
||||||
#define NUM_CHANNELS NUM_CHANNELS_EU433
|
|
||||||
#elif defined(HW_VERSION_EU865)
|
|
||||||
#define CH0 CH0_EU865
|
|
||||||
#define CH_SPACING CH_SPACING_EU865
|
|
||||||
#define NUM_CHANNELS NUM_CHANNELS_EU865
|
|
||||||
#elif defined(HW_VERSION_CN)
|
|
||||||
#define CH0 CH0_CN
|
|
||||||
#define CH_SPACING CH_SPACING_CN
|
|
||||||
#define NUM_CHANNELS NUM_CHANNELS_CN
|
|
||||||
#elif defined(HW_VERSION_JP)
|
|
||||||
// Also called AS1 bandplan
|
|
||||||
#define CH0 CH0_JP
|
|
||||||
#define CH_SPACING CH_SPACING_JP
|
|
||||||
#define NUM_CHANNELS NUM_CHANNELS_JP
|
|
||||||
#elif defined(HW_VERSION_TW)
|
|
||||||
// Also called AS2 bandplan
|
|
||||||
#define CH0 CH0_TW
|
|
||||||
#define CH_SPACING CH_SPACING_TW
|
|
||||||
#define NUM_CHANNELS NUM_CHANNELS_TW
|
|
||||||
#elif defined(HW_VERSION_ANZ)
|
|
||||||
// Australia and NZ
|
|
||||||
#define CH0 CH0_ANZ
|
|
||||||
#define CH_SPACING CH_SPACING_ANZ
|
|
||||||
#define NUM_CHANNELS NUM_CHANNELS_ANZ
|
|
||||||
#elif defined(HW_VERSION_KR)
|
|
||||||
// Republic of Korea
|
|
||||||
#define CH0 CH0_KR
|
|
||||||
#define CH_SPACING CH_SPACING_KR
|
|
||||||
#define NUM_CHANNELS NUM_CHANNELS_KR
|
|
||||||
#else
|
|
||||||
// HW version not set - assume US
|
|
||||||
#define CH0 CH0_US
|
|
||||||
#define CH_SPACING CH_SPACING_US
|
|
||||||
#define NUM_CHANNELS NUM_CHANNELS_US
|
|
||||||
#endif
|
|
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
#include "CryptoEngine.h"
|
#include "CryptoEngine.h"
|
||||||
#include "GPS.h"
|
#include "GPS.h"
|
||||||
|
#include "MeshRadio.h"
|
||||||
#include "NodeDB.h"
|
#include "NodeDB.h"
|
||||||
#include "PacketHistory.h"
|
#include "PacketHistory.h"
|
||||||
#include "PowerFSM.h"
|
#include "PowerFSM.h"
|
||||||
@ -13,9 +14,9 @@
|
|||||||
#include "configuration.h"
|
#include "configuration.h"
|
||||||
#include "error.h"
|
#include "error.h"
|
||||||
#include "mesh-pb-constants.h"
|
#include "mesh-pb-constants.h"
|
||||||
|
#include "meshwifi/meshwifi.h"
|
||||||
#include <pb_decode.h>
|
#include <pb_decode.h>
|
||||||
#include <pb_encode.h>
|
#include <pb_encode.h>
|
||||||
#include "meshwifi/meshwifi.h"
|
|
||||||
|
|
||||||
NodeDB nodeDB;
|
NodeDB nodeDB;
|
||||||
|
|
||||||
@ -118,8 +119,6 @@ bool NodeDB::resetRadioConfig()
|
|||||||
} else if (radioConfig.preferences.sds_secs == 0) {
|
} else if (radioConfig.preferences.sds_secs == 0) {
|
||||||
DEBUG_MSG("Fixing bogus RadioConfig!\n");
|
DEBUG_MSG("Fixing bogus RadioConfig!\n");
|
||||||
|
|
||||||
radioConfig.preferences.factory_reset = false; // never save this to disk
|
|
||||||
|
|
||||||
radioConfig.preferences.send_owner_interval = 4; // per sw-design.md
|
radioConfig.preferences.send_owner_interval = 4; // per sw-design.md
|
||||||
radioConfig.preferences.position_broadcast_secs = 15 * 60;
|
radioConfig.preferences.position_broadcast_secs = 15 * 60;
|
||||||
radioConfig.preferences.wait_bluetooth_secs = 120;
|
radioConfig.preferences.wait_bluetooth_secs = 120;
|
||||||
@ -163,6 +162,10 @@ bool NodeDB::resetRadioConfig()
|
|||||||
|
|
||||||
void NodeDB::installDefaultDeviceState()
|
void NodeDB::installDefaultDeviceState()
|
||||||
{
|
{
|
||||||
|
// We try to preserve the region setting because it will really bum users out if we discard it
|
||||||
|
String oldRegion = myNodeInfo.region;
|
||||||
|
RegionCode oldRegionCode = radioConfig.preferences.region;
|
||||||
|
|
||||||
memset(&devicestate, 0, sizeof(devicestate));
|
memset(&devicestate, 0, sizeof(devicestate));
|
||||||
|
|
||||||
*numNodes = 0; // Forget node DB
|
*numNodes = 0; // Forget node DB
|
||||||
@ -195,6 +198,12 @@ void NodeDB::installDefaultDeviceState()
|
|||||||
// owner.short_name now
|
// owner.short_name now
|
||||||
sprintf(owner.long_name, "Unknown %02x%02x", ourMacAddr[4], ourMacAddr[5]);
|
sprintf(owner.long_name, "Unknown %02x%02x", ourMacAddr[4], ourMacAddr[5]);
|
||||||
sprintf(owner.short_name, "?%02X", (unsigned)(myNodeInfo.my_node_num & 0xff));
|
sprintf(owner.short_name, "?%02X", (unsigned)(myNodeInfo.my_node_num & 0xff));
|
||||||
|
|
||||||
|
// Restore region if possible
|
||||||
|
if (oldRegionCode != RegionCode_Unset)
|
||||||
|
radioConfig.preferences.region = oldRegionCode;
|
||||||
|
if (oldRegion.length())
|
||||||
|
strcpy(myNodeInfo.region, oldRegion.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
void NodeDB::init()
|
void NodeDB::init()
|
||||||
@ -227,13 +236,29 @@ void NodeDB::init()
|
|||||||
|
|
||||||
// We set these _after_ loading from disk - because they come from the build and are more trusted than
|
// We set these _after_ loading from disk - because they come from the build and are more trusted than
|
||||||
// what is stored in flash
|
// what is stored in flash
|
||||||
strncpy(myNodeInfo.region, optstr(HW_VERSION), sizeof(myNodeInfo.region));
|
if (xstr(HW_VERSION)[0])
|
||||||
|
strncpy(myNodeInfo.region, optstr(HW_VERSION), sizeof(myNodeInfo.region));
|
||||||
|
else
|
||||||
|
DEBUG_MSG("This build does not specify a HW_VERSION\n"); // Eventually new builds will no longer include this build flag
|
||||||
|
|
||||||
|
// Check for the old style of region code strings, if found, convert to the new enum.
|
||||||
|
// Those strings will look like "1.0-EU433"
|
||||||
|
if (radioConfig.preferences.region == RegionCode_Unset && strncmp(myNodeInfo.region, "1.0-", 4) == 0) {
|
||||||
|
const char *regionStr = myNodeInfo.region + 4; // EU433 or whatever
|
||||||
|
for (const RegionInfo *r = regions; r->code != RegionCode_Unset; r++)
|
||||||
|
if (strcmp(r->name, regionStr) == 0) {
|
||||||
|
radioConfig.preferences.region = r->code;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
strncpy(myNodeInfo.firmware_version, optstr(APP_VERSION), sizeof(myNodeInfo.firmware_version));
|
strncpy(myNodeInfo.firmware_version, optstr(APP_VERSION), sizeof(myNodeInfo.firmware_version));
|
||||||
strncpy(myNodeInfo.hw_model, HW_VENDOR, sizeof(myNodeInfo.hw_model));
|
strncpy(myNodeInfo.hw_model, HW_VENDOR, sizeof(myNodeInfo.hw_model));
|
||||||
|
|
||||||
resetRadioConfig(); // If bogus settings got saved, then fix them
|
resetRadioConfig(); // If bogus settings got saved, then fix them
|
||||||
|
|
||||||
DEBUG_MSG("NODENUM=0x%x, dbsize=%d\n", myNodeInfo.my_node_num, *numNodes);
|
DEBUG_MSG("legacy_region=%s, region=%d, NODENUM=0x%x, dbsize=%d\n", myNodeInfo.region, radioConfig.preferences.region,
|
||||||
|
myNodeInfo.my_node_num, *numNodes);
|
||||||
}
|
}
|
||||||
|
|
||||||
// We reserve a few nodenums for future use
|
// We reserve a few nodenums for future use
|
||||||
@ -421,11 +446,11 @@ void NodeDB::updateFrom(const MeshPacket &mp)
|
|||||||
powerFSM.trigger(EVENT_RECEIVED_TEXT_MSG);
|
powerFSM.trigger(EVENT_RECEIVED_TEXT_MSG);
|
||||||
notifyObservers(true); // Force an update whether or not our node counts have changed
|
notifyObservers(true); // Force an update whether or not our node counts have changed
|
||||||
|
|
||||||
// This is going into the wifidev feature branch
|
// This is going into the wifidev feature branch
|
||||||
// Only update the WebUI if WiFi is enabled
|
// Only update the WebUI if WiFi is enabled
|
||||||
//#if WiFi_MODE != 0
|
//#if WiFi_MODE != 0
|
||||||
// notifyWebUI();
|
// notifyWebUI();
|
||||||
//#endif
|
//#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -10,6 +10,24 @@
|
|||||||
#include <pb_decode.h>
|
#include <pb_decode.h>
|
||||||
#include <pb_encode.h>
|
#include <pb_encode.h>
|
||||||
|
|
||||||
|
#define RDEF(name, freq, spacing, num_ch, power_limit) \
|
||||||
|
{ \
|
||||||
|
RegionCode_##name, num_ch, power_limit, freq, spacing, #name \
|
||||||
|
}
|
||||||
|
|
||||||
|
const RegionInfo regions[] = {
|
||||||
|
RDEF(US, 903.08f, 2.16f, 13, 0), RDEF(EU433, 433.175f, 0.2f, 8, 0), RDEF(EU865, 865.2f, 0.3f, 10, 0),
|
||||||
|
RDEF(CN, 470.0f, 2.0f, 20, 0),
|
||||||
|
RDEF(JP, 920.0f, 0.5f, 10, 13), // See https://github.com/meshtastic/Meshtastic-device/issues/346 power level 13
|
||||||
|
RDEF(ANZ, 916.0f, 0.5f, 20, 0), // AU/NZ channel settings 915-928MHz
|
||||||
|
RDEF(KR, 921.9f, 0.2f, 8, 0), // KR channel settings (KR920-923) Start from TTN download channel
|
||||||
|
// freq. (921.9f is for download, others are for uplink)
|
||||||
|
RDEF(TW, 923.0f, 0.2f, 10, 0), // TW channel settings (AS2 bandplan 923-925MHz)
|
||||||
|
RDEF(Unset, 903.08f, 2.16f, 13, 0) // Assume US freqs if unset, Must be last
|
||||||
|
};
|
||||||
|
|
||||||
|
static const RegionInfo *myRegion;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ## LoRaWAN for North America
|
* ## LoRaWAN for North America
|
||||||
|
|
||||||
@ -77,7 +95,15 @@ RadioInterface::RadioInterface()
|
|||||||
{
|
{
|
||||||
assert(sizeof(PacketHeader) == 4 || sizeof(PacketHeader) == 16); // make sure the compiler did what we expected
|
assert(sizeof(PacketHeader) == 4 || sizeof(PacketHeader) == 16); // make sure the compiler did what we expected
|
||||||
|
|
||||||
myNodeInfo.num_channels = NUM_CHANNELS;
|
if (!myRegion) {
|
||||||
|
const RegionInfo *r = regions;
|
||||||
|
for (; r->code != RegionCode_Unset && r->code != radioConfig.preferences.region; r++)
|
||||||
|
;
|
||||||
|
myRegion = r;
|
||||||
|
DEBUG_MSG("Wanted region %d, using %s\n", radioConfig.preferences.region, r->name);
|
||||||
|
|
||||||
|
myNodeInfo.num_channels = myRegion->numChannels; // Tell our android app how many channels we have
|
||||||
|
}
|
||||||
|
|
||||||
// Can't print strings this early - serial not setup yet
|
// Can't print strings this early - serial not setup yet
|
||||||
// DEBUG_MSG("Set meshradio defaults name=%s\n", channelSettings.name);
|
// DEBUG_MSG("Set meshradio defaults name=%s\n", channelSettings.name);
|
||||||
@ -127,9 +153,12 @@ void RadioInterface::applyModemConfig()
|
|||||||
|
|
||||||
power = channelSettings.tx_power;
|
power = channelSettings.tx_power;
|
||||||
|
|
||||||
|
assert(myRegion); // Should have been found in init
|
||||||
|
|
||||||
// If user has manually specified a channel num, then use that, otherwise generate one by hashing the name
|
// If user has manually specified a channel num, then use that, otherwise generate one by hashing the name
|
||||||
int channel_num = (channelSettings.channel_num ? channelSettings.channel_num - 1 : hash(channelSettings.name)) % NUM_CHANNELS;
|
int channel_num =
|
||||||
freq = CH0 + CH_SPACING * channel_num;
|
(channelSettings.channel_num ? channelSettings.channel_num - 1 : hash(channelSettings.name)) % myRegion->numChannels;
|
||||||
|
freq = myRegion->freq + myRegion->spacing * channel_num;
|
||||||
|
|
||||||
DEBUG_MSG("Set radio: name=%s, config=%u, ch=%d, power=%d\n", channelSettings.name, channelSettings.modem_config, channel_num,
|
DEBUG_MSG("Set radio: name=%s, config=%u, ch=%d, power=%d\n", channelSettings.name, channelSettings.modem_config, channel_num,
|
||||||
power);
|
power);
|
||||||
@ -143,9 +172,9 @@ void RadioInterface::limitPower()
|
|||||||
{
|
{
|
||||||
uint8_t maxPower = 255; // No limit
|
uint8_t maxPower = 255; // No limit
|
||||||
|
|
||||||
#ifdef HW_VERSION_JP
|
if (myRegion->powerLimit)
|
||||||
maxPower = 13; // See https://github.com/meshtastic/Meshtastic-device/issues/346
|
maxPower = myRegion->powerLimit;
|
||||||
#endif
|
|
||||||
if (power > maxPower) {
|
if (power > maxPower) {
|
||||||
DEBUG_MSG("Lowering transmit power because of regulatory limits\n");
|
DEBUG_MSG("Lowering transmit power because of regulatory limits\n");
|
||||||
power = maxPower;
|
power = maxPower;
|
||||||
|
@ -27,7 +27,7 @@ PB_BIND(MeshPacket, MeshPacket, 2)
|
|||||||
PB_BIND(ChannelSettings, ChannelSettings, AUTO)
|
PB_BIND(ChannelSettings, ChannelSettings, AUTO)
|
||||||
|
|
||||||
|
|
||||||
PB_BIND(RadioConfig, RadioConfig, 2)
|
PB_BIND(RadioConfig, RadioConfig, AUTO)
|
||||||
|
|
||||||
|
|
||||||
PB_BIND(RadioConfig_UserPreferences, RadioConfig_UserPreferences, 2)
|
PB_BIND(RadioConfig_UserPreferences, RadioConfig_UserPreferences, 2)
|
||||||
@ -59,3 +59,4 @@ PB_BIND(ManufacturingData, ManufacturingData, AUTO)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,6 +25,18 @@ typedef enum _Constants {
|
|||||||
Constants_Unused = 0
|
Constants_Unused = 0
|
||||||
} Constants;
|
} 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 _Data_Type {
|
typedef enum _Data_Type {
|
||||||
Data_Type_OPAQUE = 0,
|
Data_Type_OPAQUE = 0,
|
||||||
Data_Type_CLEAR_TEXT = 1,
|
Data_Type_CLEAR_TEXT = 1,
|
||||||
@ -108,7 +120,7 @@ typedef struct _RadioConfig_UserPreferences {
|
|||||||
char wifi_ssid[33];
|
char wifi_ssid[33];
|
||||||
char wifi_password[64];
|
char wifi_password[64];
|
||||||
bool wifi_ap_mode;
|
bool wifi_ap_mode;
|
||||||
char region[6];
|
RegionCode region;
|
||||||
bool factory_reset;
|
bool factory_reset;
|
||||||
pb_size_t ignore_incoming_count;
|
pb_size_t ignore_incoming_count;
|
||||||
uint32_t ignore_incoming[3];
|
uint32_t ignore_incoming[3];
|
||||||
@ -232,6 +244,10 @@ typedef struct _ToRadio {
|
|||||||
#define _Constants_MAX Constants_Unused
|
#define _Constants_MAX Constants_Unused
|
||||||
#define _Constants_ARRAYSIZE ((Constants)(Constants_Unused+1))
|
#define _Constants_ARRAYSIZE ((Constants)(Constants_Unused+1))
|
||||||
|
|
||||||
|
#define _RegionCode_MIN RegionCode_Unset
|
||||||
|
#define _RegionCode_MAX RegionCode_TW
|
||||||
|
#define _RegionCode_ARRAYSIZE ((RegionCode)(RegionCode_TW+1))
|
||||||
|
|
||||||
#define _Data_Type_MIN Data_Type_OPAQUE
|
#define _Data_Type_MIN Data_Type_OPAQUE
|
||||||
#define _Data_Type_MAX Data_Type_CLEAR_READACK
|
#define _Data_Type_MAX Data_Type_CLEAR_READACK
|
||||||
#define _Data_Type_ARRAYSIZE ((Data_Type)(Data_Type_CLEAR_READACK+1))
|
#define _Data_Type_ARRAYSIZE ((Data_Type)(Data_Type_CLEAR_READACK+1))
|
||||||
@ -250,7 +266,7 @@ typedef struct _ToRadio {
|
|||||||
#define MeshPacket_init_default {0, 0, 0, {SubPacket_init_default}, 0, 0, 0, 0, 0}
|
#define MeshPacket_init_default {0, 0, 0, {SubPacket_init_default}, 0, 0, 0, 0, 0}
|
||||||
#define ChannelSettings_init_default {0, _ChannelSettings_ModemConfig_MIN, {0, {0}}, "", 0, 0, 0, 0}
|
#define ChannelSettings_init_default {0, _ChannelSettings_ModemConfig_MIN, {0, {0}}, "", 0, 0, 0, 0}
|
||||||
#define RadioConfig_init_default {false, RadioConfig_UserPreferences_init_default, false, ChannelSettings_init_default}
|
#define RadioConfig_init_default {false, RadioConfig_UserPreferences_init_default, false, ChannelSettings_init_default}
|
||||||
#define RadioConfig_UserPreferences_init_default {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", 0, "", 0, 0, {0, 0, 0}}
|
#define RadioConfig_UserPreferences_init_default {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", 0, _RegionCode_MIN, 0, 0, {0, 0, 0}}
|
||||||
#define NodeInfo_init_default {0, false, User_init_default, false, Position_init_default, 0, 0}
|
#define NodeInfo_init_default {0, false, User_init_default, false, Position_init_default, 0, 0}
|
||||||
#define MyNodeInfo_init_default {0, 0, 0, "", "", "", 0, 0, 0, 0, 0, 0, 0, 0}
|
#define MyNodeInfo_init_default {0, 0, 0, "", "", "", 0, 0, 0, 0, 0, 0, 0, 0}
|
||||||
#define DeviceState_init_default {false, RadioConfig_init_default, false, MyNodeInfo_init_default, false, User_init_default, 0, {NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default}, 0, {MeshPacket_init_default}, false, MeshPacket_init_default, 0, 0, 0}
|
#define DeviceState_init_default {false, RadioConfig_init_default, false, MyNodeInfo_init_default, false, User_init_default, 0, {NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default}, 0, {MeshPacket_init_default}, false, MeshPacket_init_default, 0, 0, 0}
|
||||||
@ -266,7 +282,7 @@ typedef struct _ToRadio {
|
|||||||
#define MeshPacket_init_zero {0, 0, 0, {SubPacket_init_zero}, 0, 0, 0, 0, 0}
|
#define MeshPacket_init_zero {0, 0, 0, {SubPacket_init_zero}, 0, 0, 0, 0, 0}
|
||||||
#define ChannelSettings_init_zero {0, _ChannelSettings_ModemConfig_MIN, {0, {0}}, "", 0, 0, 0, 0}
|
#define ChannelSettings_init_zero {0, _ChannelSettings_ModemConfig_MIN, {0, {0}}, "", 0, 0, 0, 0}
|
||||||
#define RadioConfig_init_zero {false, RadioConfig_UserPreferences_init_zero, false, ChannelSettings_init_zero}
|
#define RadioConfig_init_zero {false, RadioConfig_UserPreferences_init_zero, false, ChannelSettings_init_zero}
|
||||||
#define RadioConfig_UserPreferences_init_zero {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", 0, "", 0, 0, {0, 0, 0}}
|
#define RadioConfig_UserPreferences_init_zero {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", 0, _RegionCode_MIN, 0, 0, {0, 0, 0}}
|
||||||
#define NodeInfo_init_zero {0, false, User_init_zero, false, Position_init_zero, 0, 0}
|
#define NodeInfo_init_zero {0, false, User_init_zero, false, Position_init_zero, 0, 0}
|
||||||
#define MyNodeInfo_init_zero {0, 0, 0, "", "", "", 0, 0, 0, 0, 0, 0, 0, 0}
|
#define MyNodeInfo_init_zero {0, 0, 0, "", "", "", 0, 0, 0, 0, 0, 0, 0, 0}
|
||||||
#define DeviceState_init_zero {false, RadioConfig_init_zero, false, MyNodeInfo_init_zero, false, User_init_zero, 0, {NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero}, 0, {MeshPacket_init_zero}, false, MeshPacket_init_zero, 0, 0, 0}
|
#define DeviceState_init_zero {false, RadioConfig_init_zero, false, MyNodeInfo_init_zero, false, User_init_zero, 0, {NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero}, 0, {MeshPacket_init_zero}, false, MeshPacket_init_zero, 0, 0, 0}
|
||||||
@ -481,7 +497,7 @@ X(a, STATIC, SINGULAR, UINT32, min_wake_secs, 11) \
|
|||||||
X(a, STATIC, SINGULAR, STRING, wifi_ssid, 12) \
|
X(a, STATIC, SINGULAR, STRING, wifi_ssid, 12) \
|
||||||
X(a, STATIC, SINGULAR, STRING, wifi_password, 13) \
|
X(a, STATIC, SINGULAR, STRING, wifi_password, 13) \
|
||||||
X(a, STATIC, SINGULAR, BOOL, wifi_ap_mode, 14) \
|
X(a, STATIC, SINGULAR, BOOL, wifi_ap_mode, 14) \
|
||||||
X(a, STATIC, SINGULAR, STRING, region, 15) \
|
X(a, STATIC, SINGULAR, UENUM, region, 15) \
|
||||||
X(a, STATIC, SINGULAR, BOOL, factory_reset, 100) \
|
X(a, STATIC, SINGULAR, BOOL, factory_reset, 100) \
|
||||||
X(a, STATIC, REPEATED, UINT32, ignore_incoming, 103)
|
X(a, STATIC, REPEATED, UINT32, ignore_incoming, 103)
|
||||||
#define RadioConfig_UserPreferences_CALLBACK NULL
|
#define RadioConfig_UserPreferences_CALLBACK NULL
|
||||||
@ -619,11 +635,11 @@ extern const pb_msgdesc_t ManufacturingData_msg;
|
|||||||
#define SubPacket_size 274
|
#define SubPacket_size 274
|
||||||
#define MeshPacket_size 313
|
#define MeshPacket_size 313
|
||||||
#define ChannelSettings_size 84
|
#define ChannelSettings_size 84
|
||||||
#define RadioConfig_size 287
|
#define RadioConfig_size 282
|
||||||
#define RadioConfig_UserPreferences_size 198
|
#define RadioConfig_UserPreferences_size 193
|
||||||
#define NodeInfo_size 132
|
#define NodeInfo_size 132
|
||||||
#define MyNodeInfo_size 110
|
#define MyNodeInfo_size 110
|
||||||
#define DeviceState_size 5439
|
#define DeviceState_size 5434
|
||||||
#define DebugString_size 258
|
#define DebugString_size 258
|
||||||
#define FromRadio_size 322
|
#define FromRadio_size 322
|
||||||
#define ToRadio_size 316
|
#define ToRadio_size 316
|
||||||
|
Loading…
Reference in New Issue
Block a user