diff --git a/src/mesh/Channels.cpp b/src/mesh/Channels.cpp index 652fe99a2..37fa0d548 100644 --- a/src/mesh/Channels.cpp +++ b/src/mesh/Channels.cpp @@ -217,17 +217,23 @@ const char *Channels::getName(size_t chIndex) else switch (channelSettings.modem_config) { case ChannelSettings_ModemConfig_Bw125Cr45Sf128: - channelName = "Medium"; + channelName = "ShortSlow"; break; case ChannelSettings_ModemConfig_Bw500Cr45Sf128: channelName = "ShortFast"; break; case ChannelSettings_ModemConfig_Bw31_25Cr48Sf512: - channelName = "LongAlt"; + channelName = "LongFast"; break; case ChannelSettings_ModemConfig_Bw125Cr48Sf4096: channelName = "LongSlow"; break; + case ChannelSettings_ModemConfig_Bw250Cr46Sf2048: + channelName = "MediumSlow"; + break; + case ChannelSettings_ModemConfig_Bw250Cr47Sf1024: + channelName = "MediumFast"; + break; default: channelName = "Invalid"; break; diff --git a/src/mesh/RadioInterface.cpp b/src/mesh/RadioInterface.cpp index 5cf88b58b..269f6a071 100644 --- a/src/mesh/RadioInterface.cpp +++ b/src/mesh/RadioInterface.cpp @@ -297,6 +297,16 @@ void RadioInterface::applyModemConfig() cr = 8; sf = 12; break; + case ChannelSettings_ModemConfig_Bw250Cr46Sf2048: + bw = 250; + cr = 6; + sf = 11; + break; + case ChannelSettings_ModemConfig_Bw250Cr47Sf1024: + bw = 250; + cr = 7; + sf = 10; + break; default: assert(0); // Unknown enum } diff --git a/src/mesh/generated/admin.pb.h b/src/mesh/generated/admin.pb.h index e27ee193c..550a00b9a 100644 --- a/src/mesh/generated/admin.pb.h +++ b/src/mesh/generated/admin.pb.h @@ -79,7 +79,7 @@ extern const pb_msgdesc_t AdminMessage_msg; #define AdminMessage_fields &AdminMessage_msg /* Maximum encoded size of messages (where known) */ -#define AdminMessage_size 447 +#define AdminMessage_size 454 #ifdef __cplusplus } /* extern "C" */ diff --git a/src/mesh/generated/channel.pb.h b/src/mesh/generated/channel.pb.h index 962e452e4..d9d55f1f7 100644 --- a/src/mesh/generated/channel.pb.h +++ b/src/mesh/generated/channel.pb.h @@ -14,7 +14,9 @@ typedef enum _ChannelSettings_ModemConfig { ChannelSettings_ModemConfig_Bw125Cr45Sf128 = 0, ChannelSettings_ModemConfig_Bw500Cr45Sf128 = 1, ChannelSettings_ModemConfig_Bw31_25Cr48Sf512 = 2, - ChannelSettings_ModemConfig_Bw125Cr48Sf4096 = 3 + ChannelSettings_ModemConfig_Bw125Cr48Sf4096 = 3, + ChannelSettings_ModemConfig_Bw250Cr46Sf2048 = 4, + ChannelSettings_ModemConfig_Bw250Cr47Sf1024 = 5 } ChannelSettings_ModemConfig; typedef enum _Channel_Role { @@ -49,8 +51,8 @@ typedef struct _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 _ChannelSettings_ModemConfig_MAX ChannelSettings_ModemConfig_Bw250Cr47Sf1024 +#define _ChannelSettings_ModemConfig_ARRAYSIZE ((ChannelSettings_ModemConfig)(ChannelSettings_ModemConfig_Bw250Cr47Sf1024+1)) #define _Channel_Role_MIN Channel_Role_DISABLED #define _Channel_Role_MAX Channel_Role_SECONDARY