Code cleanups.

This commit is contained in:
2020-05-24 15:50:20 +02:00
parent 1c023bfbe4
commit 94630149c2
5 changed files with 186 additions and 162 deletions

View File

@@ -7,6 +7,7 @@
#include "actions/wifisoftapenableipv6action.h"
#include "actions/switchscreenaction.h"
#include "icons/back.h"
#include "wifitexthelpers.h"
#include "texts.h"
namespace {
@@ -14,39 +15,6 @@ class WifiSettingsMenu;
}
namespace {
class WifiSoftApGetStationNumText : public virtual TextInterface {
public:
String text() const override { return String{"softAPgetStationNum: "} + WiFi.softAPgetStationNum(); }
};
class WifiSoftApIpText : public virtual TextInterface {
public:
String text() const override { return String{"softAPIP: "} + WiFi.softAPIP().toString(); }
};
class WifiSoftApBroadcastIpText : public virtual TextInterface {
public:
String text() const override { return String{"softAPBroadcastIP: "} + WiFi.softAPBroadcastIP().toString(); }
};
class WifiSoftApNetworkIdText : public virtual TextInterface {
public:
String text() const override { return String{"softAPNetworkID: "} + WiFi.softAPNetworkID().toString(); }
};
class WifiSoftApSubnetCidrText : public virtual TextInterface {
public:
String text() const override { return String{"softAPSubnetCIDR: "} + WiFi.softAPSubnetCIDR(); }
};
class WifiSoftApIpV6Text : public virtual TextInterface {
public:
String text() const override { return String{"softAPIPv6: "} + WiFi.softAPIPv6().toString(); }
};
class WifiSoftApHostnameText : public virtual TextInterface {
public:
String text() const override { return String{"softAPgetHostname: "} + WiFi.softAPgetHostname(); }
};
class WifiSoftApMacAddressText : public virtual TextInterface {
public:
String text() const override { return String{"softAPmacAddress: "} + WiFi.softAPmacAddress(); }
};
class AccessPointWifiSettingsMenu :
public MenuDisplay,
public StaticText<TEXT_ACCESSPOINTWIFISETTINGS>,

View File

@@ -1,7 +1,6 @@
#pragma once
#include <HardwareSerial.h>
#include <WiFi.h>
#include "menudisplay.h"
#include "staticmenudefinition.h"
@@ -12,6 +11,8 @@
#include "actions/switchscreenaction.h"
#include "checkboxicon.h"
#include "icons/back.h"
#include "wifitexthelpers.h"
#include "wifiaccessors.h"
#include "texts.h"
namespace {
@@ -20,25 +21,6 @@ class WifiSettingsMenu;
}
namespace {
struct WifiStatusBitsText : public virtual TextInterface {
public:
String text() const override { return String{"statusBits: "} + WiFi.getStatusBits(); }
};
struct WifiChannelText : public virtual TextInterface {
public:
String text() const override { return String{"channel: "} + WiFi.channel(); }
};
struct WifiModeAccessor : public virtual AccessorInterface<wifi_mode_t>
{
wifi_mode_t getValue() const override { return WiFi.getMode(); }
void setValue(wifi_mode_t value) override
{
if (!WiFi.mode(value))
Serial.println("Could not change WiFi mode!");
// TODO: better error handling
}
};
using WifiModeChangeScreen = makeComponent<
ChangeValueDisplay<wifi_mode_t>,
StaticText<TEXT_WIFICHANGEMODE>,
@@ -47,27 +29,6 @@ using WifiModeChangeScreen = makeComponent<
SwitchScreenAction<GenericWifiSettingsMenu>
>;
struct WifiSleepAccessor : public virtual AccessorInterface<bool>
{
bool getValue() const override { return WiFi.getSleep(); }
void setValue(bool value) override
{
if (!WiFi.setSleep(value))
Serial.println("Could not set WiFi sleep!");
// TODO: better error handling
}
};
struct WifiTxPowerAccessor : public virtual AccessorInterface<wifi_power_t>
{
wifi_power_t getValue() const override { return WiFi.getTxPower(); }
void setValue(wifi_power_t value) override
{
if (!WiFi.setTxPower(value))
Serial.println("Could not set WiFi tx power!");
// TODO: better error handling
}
};
using WifiTxPowerChangeScreen = makeComponent<
ChangeValueDisplay<wifi_power_t>,
StaticText<TEXT_WIFICHANGETXPOWER>,

View File

@@ -14,6 +14,8 @@
#include "actions/wifienableipv6action.h"
#include "checkboxicon.h"
#include "icons/back.h"
#include "wifitexthelpers.h"
#include "wifiaccessors.h"
#include "texts.h"
namespace {
@@ -21,94 +23,6 @@ class WifiSettingsMenu;
}
namespace {
struct WifiIsConnectedText : public virtual TextInterface {
public:
String text() const override { return String{"isConnected: "} + (WiFi.isConnected() ? "true" : "false"); }
};
struct WifiAutoConnectAccessor : public virtual AccessorInterface<bool>
{
bool getValue() const override { return WiFi.getAutoConnect(); }
void setValue(bool value) override
{
if (!WiFi.setAutoConnect(value))
Serial.println("Could not set WiFi autoConnect!");
// TODO: better error handling
}
};
struct WifiAutoReconnectAccessor : public virtual AccessorInterface<bool>
{
bool getValue() const override { return WiFi.getAutoReconnect(); }
void setValue(bool value) override
{
if (!WiFi.setAutoReconnect(value))
Serial.println("Could not set WiFi autoReconnect!");
// TODO: better error handling
}
};
struct WifiLocalIpText : public virtual TextInterface {
public:
String text() const override { return String{"localIP: "} + WiFi.localIP().toString(); }
};
struct WifiMacAddressText : public virtual TextInterface {
public:
String text() const override { return String{"macAddress: "} + WiFi.macAddress(); }
};
struct WifiSubnetMaskText : public virtual TextInterface {
public:
String text() const override { return String{"subnetMask: "} + WiFi.subnetMask().toString(); }
};
struct WifiGatewayIpText : public virtual TextInterface {
public:
String text() const override { return String{"gatewayIP: "} + WiFi.gatewayIP().toString(); }
};
struct WifiDnsIpText : public virtual TextInterface {
public:
String text() const override { return String{"dnsIP: "} + WiFi.dnsIP().toString(); }
};
struct WifiBroadcastIpText : public virtual TextInterface {
public:
String text() const override { return String{"broadcastIP: "} + WiFi.broadcastIP().toString(); }
};
struct WifiNetworkIdText : public virtual TextInterface {
public:
String text() const override { return String{"networkID: "} + WiFi.networkID().toString(); }
};
struct WifiSubnetCIDRText : public virtual TextInterface {
public:
String text() const override { return String{"subnetCIDR: "} + WiFi.subnetCIDR(); }
};
struct WifiLocalIpV6Text : public virtual TextInterface {
public:
String text() const override { return String{"localIPv6: "} + WiFi.localIPv6().toString(); }
};
struct WifiHostnameText : public virtual TextInterface {
public:
String text() const override { return String{"hostname: "} + WiFi.getHostname(); }
};
struct WifiStatusText : public virtual TextInterface {
public:
String text() const override { return String{"status: "} + toString(WiFi.status()); }
};
struct WifiSsidText : public virtual TextInterface {
public:
String text() const override { return String{"SSID: "} + WiFi.SSID(); }
};
struct WifiPskText : public virtual TextInterface {
public:
String text() const override { return String{"psk: "} + WiFi.psk(); }
};
struct WifiBssidText : public virtual TextInterface {
public:
String text() const override { return String{"BSSID: "} + WiFi.BSSIDstr(); }
};
struct WifiRssiText : public virtual TextInterface {
public:
String text() const override { return String{"RSSI: "} + WiFi.RSSI(); }
};
class StationWifiSettingsMenu :
public MenuDisplay,
public StaticText<TEXT_STATIONWIFISETTINGS>,

64
src/wifiaccessors.h Normal file
View File

@@ -0,0 +1,64 @@
#pragma once
#include <WiFi.h>
#include "accessorinterface.h"
namespace {
struct WifiModeAccessor : public virtual AccessorInterface<wifi_mode_t>
{
wifi_mode_t getValue() const override { return WiFi.getMode(); }
void setValue(wifi_mode_t value) override
{
if (!WiFi.mode(value))
Serial.println("Could not change WiFi mode!");
// TODO: better error handling
}
};
struct WifiSleepAccessor : public virtual AccessorInterface<bool>
{
bool getValue() const override { return WiFi.getSleep(); }
void setValue(bool value) override
{
if (!WiFi.setSleep(value))
Serial.println("Could not set WiFi sleep!");
// TODO: better error handling
}
};
struct WifiTxPowerAccessor : public virtual AccessorInterface<wifi_power_t>
{
wifi_power_t getValue() const override { return WiFi.getTxPower(); }
void setValue(wifi_power_t value) override
{
if (!WiFi.setTxPower(value))
Serial.println("Could not set WiFi tx power!");
// TODO: better error handling
}
};
struct WifiAutoConnectAccessor : public virtual AccessorInterface<bool>
{
bool getValue() const override { return WiFi.getAutoConnect(); }
void setValue(bool value) override
{
if (!WiFi.setAutoConnect(value))
Serial.println("Could not set WiFi autoConnect!");
// TODO: better error handling
}
};
struct WifiAutoReconnectAccessor : public virtual AccessorInterface<bool>
{
bool getValue() const override { return WiFi.getAutoReconnect(); }
void setValue(bool value) override
{
if (!WiFi.setAutoReconnect(value))
Serial.println("Could not set WiFi autoReconnect!");
// TODO: better error handling
}
};
}

117
src/wifitexthelpers.h Normal file
View File

@@ -0,0 +1,117 @@
#pragma once
#include <WiFi.h>
#include "textinterface.h"
#include "utils.h"
namespace {
struct WifiStatusBitsText : public virtual TextInterface {
public:
String text() const override { return String{"statusBits: "} + WiFi.getStatusBits(); }
};
struct WifiChannelText : public virtual TextInterface {
public:
String text() const override { return String{"channel: "} + WiFi.channel(); }
};
struct WifiIsConnectedText : public virtual TextInterface {
public:
String text() const override { return String{"isConnected: "} + toString(WiFi.isConnected()); }
};
struct WifiLocalIpText : public virtual TextInterface {
public:
String text() const override { return String{"localIP: "} + WiFi.localIP().toString(); }
};
struct WifiMacAddressText : public virtual TextInterface {
public:
String text() const override { return String{"macAddress: "} + WiFi.macAddress(); }
};
struct WifiSubnetMaskText : public virtual TextInterface {
public:
String text() const override { return String{"subnetMask: "} + WiFi.subnetMask().toString(); }
};
struct WifiGatewayIpText : public virtual TextInterface {
public:
String text() const override { return String{"gatewayIP: "} + WiFi.gatewayIP().toString(); }
};
struct WifiDnsIpText : public virtual TextInterface {
public:
String text() const override { return String{"dnsIP: "} + WiFi.dnsIP().toString(); }
};
struct WifiBroadcastIpText : public virtual TextInterface {
public:
String text() const override { return String{"broadcastIP: "} + WiFi.broadcastIP().toString(); }
};
struct WifiNetworkIdText : public virtual TextInterface {
public:
String text() const override { return String{"networkID: "} + WiFi.networkID().toString(); }
};
struct WifiSubnetCIDRText : public virtual TextInterface {
public:
String text() const override { return String{"subnetCIDR: "} + WiFi.subnetCIDR(); }
};
struct WifiLocalIpV6Text : public virtual TextInterface {
public:
String text() const override { return String{"localIPv6: "} + WiFi.localIPv6().toString(); }
};
struct WifiHostnameText : public virtual TextInterface {
public:
String text() const override { return String{"hostname: "} + WiFi.getHostname(); }
};
struct WifiStatusText : public virtual TextInterface {
public:
String text() const override { return String{"status: "} + toString(WiFi.status()); }
};
struct WifiSsidText : public virtual TextInterface {
public:
String text() const override { return String{"SSID: "} + WiFi.SSID(); }
};
struct WifiPskText : public virtual TextInterface {
public:
String text() const override { return String{"psk: "} + WiFi.psk(); }
};
struct WifiBssidText : public virtual TextInterface {
public:
String text() const override { return String{"BSSID: "} + WiFi.BSSIDstr(); }
};
struct WifiRssiText : public virtual TextInterface {
public:
String text() const override { return String{"RSSI: "} + WiFi.RSSI(); }
};
class WifiSoftApGetStationNumText : public virtual TextInterface {
public:
String text() const override { return String{"softAPgetStationNum: "} + WiFi.softAPgetStationNum(); }
};
class WifiSoftApIpText : public virtual TextInterface {
public:
String text() const override { return String{"softAPIP: "} + WiFi.softAPIP().toString(); }
};
class WifiSoftApBroadcastIpText : public virtual TextInterface {
public:
String text() const override { return String{"softAPBroadcastIP: "} + WiFi.softAPBroadcastIP().toString(); }
};
class WifiSoftApNetworkIdText : public virtual TextInterface {
public:
String text() const override { return String{"softAPNetworkID: "} + WiFi.softAPNetworkID().toString(); }
};
class WifiSoftApSubnetCidrText : public virtual TextInterface {
public:
String text() const override { return String{"softAPSubnetCIDR: "} + WiFi.softAPSubnetCIDR(); }
};
class WifiSoftApIpV6Text : public virtual TextInterface {
public:
String text() const override { return String{"softAPIPv6: "} + WiFi.softAPIPv6().toString(); }
};
class WifiSoftApHostnameText : public virtual TextInterface {
public:
String text() const override { return String{"softAPgetHostname: "} + WiFi.softAPgetHostname(); }
};
class WifiSoftApMacAddressText : public virtual TextInterface {
public:
String text() const override { return String{"softAPmacAddress: "} + WiFi.softAPmacAddress(); }
};
}