Implemented settings in WifiSettingsMenu
This commit is contained in:
@ -1,12 +1,16 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "changevaluedisplay.h"
|
||||||
#include "menudisplay.h"
|
#include "menudisplay.h"
|
||||||
#include "staticmenudefinition.h"
|
#include "staticmenudefinition.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "actions/switchscreenaction.h"
|
#include "actions/switchscreenaction.h"
|
||||||
|
#include "actions/toggleboolaction.h"
|
||||||
|
#include "checkboxicon.h"
|
||||||
#include "icons/scan.h"
|
#include "icons/scan.h"
|
||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
#include "settingsaccessors.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
class GenericWifiSettingsMenu;
|
class GenericWifiSettingsMenu;
|
||||||
@ -17,11 +21,23 @@ class SettingsMenu;
|
|||||||
}
|
}
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
class WifiSettingsMenu;
|
||||||
|
|
||||||
|
using AutoWifiModeChangeDisplay = makeComponent<
|
||||||
|
ChangeValueDisplay<wifi_mode_t>,
|
||||||
|
StaticText<TEXT_AUTOWIFIMODE>,
|
||||||
|
AutoWifiModeAccessor,
|
||||||
|
BackActionInterface<SwitchScreenAction<WifiSettingsMenu>>,
|
||||||
|
SwitchScreenAction<WifiSettingsMenu>
|
||||||
|
>;
|
||||||
|
|
||||||
class WifiSettingsMenu :
|
class WifiSettingsMenu :
|
||||||
public MenuDisplay,
|
public MenuDisplay,
|
||||||
public StaticText<TEXT_WIFISETTINGS>,
|
public StaticText<TEXT_WIFISETTINGS>,
|
||||||
public BackActionInterface<SwitchScreenAction<SettingsMenu>>,
|
public BackActionInterface<SwitchScreenAction<SettingsMenu>>,
|
||||||
public StaticMenuDefinition<
|
public StaticMenuDefinition<
|
||||||
|
makeComponent<MenuItem, StaticText<TEXT_AUTOWIFIMODE>, SwitchScreenAction<AutoWifiModeChangeDisplay>>,
|
||||||
|
makeComponent<MenuItem, StaticText<TEXT_AUTOENABLEAP>, ToggleBoolAction, CheckboxIcon, AutoEnableApAccessor>,
|
||||||
makeComponent<MenuItem, StaticText<TEXT_GENERICWIFISETTINGS>, SwitchScreenAction<GenericWifiSettingsMenu>>,
|
makeComponent<MenuItem, StaticText<TEXT_GENERICWIFISETTINGS>, SwitchScreenAction<GenericWifiSettingsMenu>>,
|
||||||
makeComponent<MenuItem, StaticText<TEXT_STATIONWIFISETTINGS>, SwitchScreenAction<StationWifiSettingsMenu>>,
|
makeComponent<MenuItem, StaticText<TEXT_STATIONWIFISETTINGS>, SwitchScreenAction<StationWifiSettingsMenu>>,
|
||||||
makeComponent<MenuItem, StaticText<TEXT_WIFISCAN>, SwitchScreenAction<WifiScanMenu>, StaticMenuItemIcon<&icons::scan>>,
|
makeComponent<MenuItem, StaticText<TEXT_WIFISCAN>, SwitchScreenAction<WifiScanMenu>, StaticMenuItemIcon<&icons::scan>>,
|
||||||
|
@ -90,10 +90,11 @@ void setup()
|
|||||||
if (!WiFi.softAPsetHostname(deviceName))
|
if (!WiFi.softAPsetHostname(deviceName))
|
||||||
Serial.println("Could not softAPsetHostname");
|
Serial.println("Could not softAPsetHostname");
|
||||||
|
|
||||||
if (!WiFi.mode(WIFI_AP_STA))
|
if (!WiFi.mode(settings.wifiSettings.autoWifiMode))
|
||||||
Serial.println("Could not set mode to WIFI_AP_STA");
|
Serial.println("Could not set mode to WIFI_AP_STA");
|
||||||
|
|
||||||
WifiSoftApAction{}.triggered();
|
if (settings.wifiSettings.autoEnableAp)
|
||||||
|
WifiSoftApAction{}.triggered();
|
||||||
|
|
||||||
if (!WiFi.begin("realraum", "r3alraum"))
|
if (!WiFi.begin("realraum", "r3alraum"))
|
||||||
Serial.println("Could not begin WiFi");
|
Serial.println("Could not begin WiFi");
|
||||||
|
@ -122,6 +122,8 @@ union X {
|
|||||||
UpdateDisplay updateDisplay;
|
UpdateDisplay updateDisplay;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
AutoWifiModeChangeDisplay autoWifiModeChangeDisplay;
|
||||||
|
|
||||||
AutoBluetoothModeChangeDisplay autoBluetoothModeChangeDisplay;
|
AutoBluetoothModeChangeDisplay autoBluetoothModeChangeDisplay;
|
||||||
|
|
||||||
FrontFreqChangeScreen changeFrontFreq;
|
FrontFreqChangeScreen changeFrontFreq;
|
||||||
@ -265,6 +267,8 @@ template<> decltype(displays.statusDisplay) &
|
|||||||
template<> decltype(displays.updateDisplay) &getRefByType<decltype(displays.updateDisplay)>() { return displays.updateDisplay; }
|
template<> decltype(displays.updateDisplay) &getRefByType<decltype(displays.updateDisplay)>() { return displays.updateDisplay; }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
template<> decltype(displays.autoWifiModeChangeDisplay) &getRefByType<decltype(displays.autoWifiModeChangeDisplay)>() { return displays.autoWifiModeChangeDisplay; }
|
||||||
|
|
||||||
template<> decltype(displays.autoBluetoothModeChangeDisplay) &getRefByType<decltype(displays.autoBluetoothModeChangeDisplay)>() { return displays.autoBluetoothModeChangeDisplay; }
|
template<> decltype(displays.autoBluetoothModeChangeDisplay) &getRefByType<decltype(displays.autoBluetoothModeChangeDisplay)>() { return displays.autoBluetoothModeChangeDisplay; }
|
||||||
|
|
||||||
template<> decltype(displays.changeFrontFreq) &getRefByType<decltype(displays.changeFrontFreq)>() { return displays.changeFrontFreq; }
|
template<> decltype(displays.changeFrontFreq) &getRefByType<decltype(displays.changeFrontFreq)>() { return displays.changeFrontFreq; }
|
||||||
|
@ -92,6 +92,8 @@ constexpr char TEXT_SWAPFRONTBACK[] = "Swap front/back";
|
|||||||
|
|
||||||
//StationWifiSettingsMenu
|
//StationWifiSettingsMenu
|
||||||
constexpr char TEXT_STATIONWIFISETTINGS[] = "Station WiFi settings";
|
constexpr char TEXT_STATIONWIFISETTINGS[] = "Station WiFi settings";
|
||||||
|
constexpr char TEXT_AUTOWIFIMODE[] = "Auto wifi mode";
|
||||||
|
constexpr char TEXT_AUTOENABLEAP[] = "Auto enable AP";
|
||||||
constexpr char TEXT_WIFIRECONNECT[] = "reconnect()";
|
constexpr char TEXT_WIFIRECONNECT[] = "reconnect()";
|
||||||
constexpr char TEXT_WIFIDISCONNECT[] = "disconnect()";
|
constexpr char TEXT_WIFIDISCONNECT[] = "disconnect()";
|
||||||
constexpr char TEXT_WIFICHANGEAUTOCONNECT[] = "Change auto connect";
|
constexpr char TEXT_WIFICHANGEAUTOCONNECT[] = "Change auto connect";
|
||||||
|
Reference in New Issue
Block a user