Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion src/DisplayFormatters.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ const char *DisplayFormatters::getModemPresetDisplayName(meshtastic_Config_LoRaC
case meshtastic_Config_LoRaConfig_ModemPreset_LONG_MODERATE:
return useShortName ? "LongM" : "LongMod";
break;
case meshtastic_Config_LoRaConfig_ModemPreset_EDGE_FAST_LOW:
return useShortName ? "EFL" : "EdgeFastLow";
break;
default:
return useShortName ? "Custom" : "Invalid";
break;
Expand Down Expand Up @@ -80,4 +83,4 @@ const char *DisplayFormatters::getDeviceRole(meshtastic_Config_DeviceConfig_Role
return "Unknown";
break;
}
}
}
7 changes: 5 additions & 2 deletions src/graphics/draw/MenuHandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ void menuHandler::DeviceRolePicker()
void menuHandler::RadioPresetPicker()
{
static const char *optionsArray[] = {"Back", "LongSlow", "LongModerate", "LongFast", "MediumSlow",
"MediumFast", "ShortSlow", "ShortFast", "ShortTurbo"};
"MediumFast", "ShortSlow", "ShortFast", "ShortTurbo", "EdgeFastLow"};
enum optionsNumbers {
Back = 0,
radiopreset_LongSlow = 1,
Expand All @@ -207,7 +207,8 @@ void menuHandler::RadioPresetPicker()
radiopreset_MediumFast = 5,
radiopreset_ShortSlow = 6,
radiopreset_ShortFast = 7,
radiopreset_ShortTurbo = 8
radiopreset_ShortTurbo = 8,
radiopreset_EdgeFastLow = 9
};
BannerOverlayOptions bannerOptions;
bannerOptions.message = "Radio Preset";
Expand All @@ -234,6 +235,8 @@ void menuHandler::RadioPresetPicker()
config.lora.modem_preset = meshtastic_Config_LoRaConfig_ModemPreset_SHORT_FAST;
} else if (selected == radiopreset_ShortTurbo) {
config.lora.modem_preset = meshtastic_Config_LoRaConfig_ModemPreset_SHORT_TURBO;
} else if (selected == radiopreset_EdgeFastLow) {
config.lora.modem_preset = meshtastic_Config_LoRaConfig_ModemPreset_EDGE_FAST_LOW;
}
service->reloadConfig(SEGMENT_CONFIG);
rebootAtMsec = (millis() + DEFAULT_REBOOT_SECONDS * 1000);
Expand Down
5 changes: 5 additions & 0 deletions src/mesh/RadioInterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -518,6 +518,11 @@ void RadioInterface::applyModemConfig()
cr = 8;
sf = 12;
break;
case meshtastic_Config_LoRaConfig_ModemPreset_EDGE_FAST_LOW:
bw = 62.5;
cr = 8;
sf = 8;
break;
}
} else {
sf = loraConfig.spread_factor;
Expand Down
12 changes: 9 additions & 3 deletions src/mesh/generated/meshtastic/config.pb.h
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,13 @@ typedef enum _meshtastic_Config_LoRaConfig_ModemPreset {
/* Short Range - Turbo
This is the fastest preset and the only one with 500kHz bandwidth.
It is not legal to use in all regions due to this wider bandwidth. */
meshtastic_Config_LoRaConfig_ModemPreset_SHORT_TURBO = 8
meshtastic_Config_LoRaConfig_ModemPreset_SHORT_TURBO = 8,
/*
* Edge Fast Low
* Designed to work in very harsh conditions when a lot of radio interference is present
* Useful when the used LoRa frequency band is very congested and full of other traffic
*/
meshtastic_Config_LoRaConfig_ModemPreset_EDGE_FAST_LOW = 9
} meshtastic_Config_LoRaConfig_ModemPreset;

typedef enum _meshtastic_Config_BluetoothConfig_PairingMode {
Expand Down Expand Up @@ -689,8 +695,8 @@ extern "C" {
#define _meshtastic_Config_LoRaConfig_RegionCode_ARRAYSIZE ((meshtastic_Config_LoRaConfig_RegionCode)(meshtastic_Config_LoRaConfig_RegionCode_BR_902+1))

#define _meshtastic_Config_LoRaConfig_ModemPreset_MIN meshtastic_Config_LoRaConfig_ModemPreset_LONG_FAST
#define _meshtastic_Config_LoRaConfig_ModemPreset_MAX meshtastic_Config_LoRaConfig_ModemPreset_SHORT_TURBO
#define _meshtastic_Config_LoRaConfig_ModemPreset_ARRAYSIZE ((meshtastic_Config_LoRaConfig_ModemPreset)(meshtastic_Config_LoRaConfig_ModemPreset_SHORT_TURBO+1))
#define _meshtastic_Config_LoRaConfig_ModemPreset_MAX meshtastic_Config_LoRaConfig_ModemPreset_EDGE_FAST_LOW
#define _meshtastic_Config_LoRaConfig_ModemPreset_ARRAYSIZE ((meshtastic_Config_LoRaConfig_ModemPreset)(meshtastic_Config_LoRaConfig_ModemPreset_EDGE_FAST_LOW+1))

#define _meshtastic_Config_BluetoothConfig_PairingMode_MIN meshtastic_Config_BluetoothConfig_PairingMode_RANDOM_PIN
#define _meshtastic_Config_BluetoothConfig_PairingMode_MAX meshtastic_Config_BluetoothConfig_PairingMode_NO_PIN
Expand Down