mirror of
https://github.com/letscontrolit/ESPEasy.git
synced 2026-09-15 11:05:08 +00:00
This will allow to reduce code duplication, reduce strings used in binary and makes code better readable. This is a project which may take some time to cover all code.
186 lines
10 KiB
Arduino
186 lines
10 KiB
Arduino
#include <StringProviderTypes.h>
|
|
|
|
String getInternalLabel(LabelType::Enum label) {
|
|
return to_internal_string(getLabel(label));
|
|
}
|
|
|
|
String getLabel(LabelType::Enum label) {
|
|
switch (label)
|
|
{
|
|
case LabelType::UNIT_NR: return F("Unit Number");
|
|
case LabelType::UNIT_NAME: return F("Unit Name");
|
|
case LabelType::HOST_NAME: return F("Hostname");
|
|
|
|
case LabelType::LOCAL_TIME: return F("Local Time");
|
|
case LabelType::UPTIME: return F("Uptime");
|
|
case LabelType::LOAD_PCT: return F("Load");
|
|
case LabelType::LOOP_COUNT: return F("Load LC");
|
|
case LabelType::CPU_ECO_MODE: return F("CPU Eco Mode");
|
|
|
|
case LabelType::FREE_MEM: return F("Free RAM");
|
|
case LabelType::FREE_STACK: return F("Free Stack");
|
|
#ifdef CORE_POST_2_5_0
|
|
case LabelType::HEAP_MAX_FREE_BLOCK: return F("Heap Max Free Block");
|
|
case LabelType::HEAP_FRAGMENTATION: return F("Heap Fragmentation");
|
|
#endif
|
|
|
|
case LabelType::BOOT_TYPE: return F("Last Boot Cause");
|
|
case LabelType::BOOT_COUNT: return F("Boot Count");
|
|
case LabelType::RESET_REASON: return F("Reset Reason");
|
|
|
|
case LabelType::WIFI_CONNECTION: return F("WiFi Connection");
|
|
case LabelType::WIFI_RSSI: return F("RSSI");
|
|
case LabelType::IP_CONFIG: return F("IP Config");
|
|
case LabelType::IP_CONFIG_STATIC: return F("Static");
|
|
case LabelType::IP_CONFIG_DYNAMIC: return F("DHCP");
|
|
case LabelType::IP_ADDRESS: return F("IP Address");
|
|
case LabelType::IP_SUBNET: return F("IP Subnet");
|
|
case LabelType::IP_ADDRESS_SUBNET: return F("IP / Subnet");
|
|
case LabelType::GATEWAY: return F("Gateway");
|
|
case LabelType::CLIENT_IP: return F("Client IP");
|
|
case LabelType::DNS: return F("DNS");
|
|
case LabelType::DNS_1: return F("DNS 1");
|
|
case LabelType::DNS_2: return F("DNS 2");
|
|
case LabelType::ALLOWED_IP_RANGE: return F("Allowed IP Range");
|
|
case LabelType::STA_MAC: return F("STA MAC");
|
|
case LabelType::AP_MAC: return F("AP MAC");
|
|
case LabelType::SSID: return F("SSID");
|
|
case LabelType::BSSID: return F("BSSID");
|
|
case LabelType::CHANNEL: return F("Channel");
|
|
case LabelType::CONNECTED: return F("Connected");
|
|
case LabelType::CONNECTED_MSEC: return F("Connected msec");
|
|
case LabelType::LAST_DISCONNECT_REASON: return F("Last Disconnect Reason");
|
|
case LabelType::LAST_DISC_REASON_STR: return F("Last Disconnect Reason str");
|
|
case LabelType::NUMBER_RECONNECTS: return F("Number Reconnects");
|
|
|
|
case LabelType::FORCE_WIFI_BG: return F("Force WiFi B/G");
|
|
case LabelType::RESTART_WIFI_LOST_CONN: return F("Restart WiFi Lost Conn");
|
|
case LabelType::FORCE_WIFI_NOSLEEP: return F("Force WiFi No Sleep");
|
|
case LabelType::PERIODICAL_GRAT_ARP: return F("Periodical send Gratuitous ARP");
|
|
case LabelType::CONNECTION_FAIL_THRESH: return F("Connection Failure Threshold");
|
|
|
|
case LabelType::BUILD_DESC: return F("Build");
|
|
case LabelType::GIT_BUILD: return F("Git Build");
|
|
case LabelType::SYSTEM_LIBRARIES: return F("System Libraries");
|
|
case LabelType::PLUGINS: return F("Plugins");
|
|
case LabelType::PLUGIN_DESCRIPTION: return F("Plugin description");
|
|
case LabelType::BUILD_TIME: return F("Build Time");
|
|
case LabelType::BINARY_FILENAME: return F("Binary Filename");
|
|
|
|
case LabelType::SYSLOG_LOG_LEVEL: return F("Syslog Log Level");
|
|
case LabelType::SERIAL_LOG_LEVEL: return F("Serial Log Level");
|
|
case LabelType::WEB_LOG_LEVEL: return F("Web Log Level");
|
|
#ifdef FEATURE_SD
|
|
case LabelType::SD_LOG_LEVEL: return F("SD Log Level");
|
|
#endif
|
|
|
|
case LabelType::ESP_CHIP_ID: return F("ESP Chip ID");
|
|
case LabelType::ESP_CHIP_FREQ: return F("ESP Chip Frequency");
|
|
case LabelType::ESP_BOARD_NAME: return F("ESP Board Name");
|
|
|
|
case LabelType::FLASH_CHIP_ID: return F("Flash Chip ID");
|
|
case LabelType::FLASH_CHIP_REAL_SIZE: return F("Flash Chip Real Size");
|
|
case LabelType::FLASH_IDE_SIZE: return F("Flash IDE Size");
|
|
case LabelType::FLASH_IDE_SPEED: return F("Flash IDE Speed");
|
|
case LabelType::FLASH_IDE_MODE: return F("Flash IDE Mode");
|
|
case LabelType::FLASH_WRITE_COUNT: return F("Flash Writes");
|
|
case LabelType::SKETCH_SIZE: return F("Sketch Size");
|
|
case LabelType::SKETCH_FREE: return F("Sketch Free");
|
|
case LabelType::SPIFFS_SIZE: return F("SPIFFS Size");
|
|
case LabelType::SPIFFS_FREE: return F("SPIFFS Free");
|
|
|
|
}
|
|
return F("MissingString");
|
|
}
|
|
|
|
|
|
|
|
String getValue(LabelType::Enum label) {
|
|
switch (label)
|
|
{
|
|
case LabelType::UNIT_NR: return String(Settings.Unit);
|
|
case LabelType::UNIT_NAME: return String(Settings.Name);
|
|
case LabelType::HOST_NAME: return WiFi.hostname();
|
|
|
|
case LabelType::LOCAL_TIME: return getDateTimeString('-',':',' ');
|
|
case LabelType::UPTIME: return String(wdcounter / 2);
|
|
case LabelType::LOAD_PCT: return String(getCPUload());
|
|
case LabelType::LOOP_COUNT: return String(getLoopCountPerSec());
|
|
case LabelType::CPU_ECO_MODE: return jsonBool(Settings.EcoPowerMode());
|
|
|
|
case LabelType::FREE_MEM: return String(ESP.getFreeHeap());
|
|
case LabelType::FREE_STACK: break;
|
|
#ifdef CORE_POST_2_5_0
|
|
case LabelType::HEAP_MAX_FREE_BLOCK: return String(ESP.getMaxFreeBlockSize());
|
|
case LabelType::HEAP_FRAGMENTATION: return String(ESP.getHeapFragmentation());
|
|
#endif
|
|
|
|
case LabelType::BOOT_TYPE: return getLastBootCauseString();
|
|
case LabelType::BOOT_COUNT: break;
|
|
case LabelType::RESET_REASON: return getResetReasonString();
|
|
|
|
case LabelType::WIFI_CONNECTION: break;
|
|
case LabelType::WIFI_RSSI: return String(WiFi.RSSI());
|
|
case LabelType::IP_CONFIG: return useStaticIP() ? getLabel(LabelType::IP_CONFIG_STATIC) : getLabel(LabelType::IP_CONFIG_DYNAMIC);
|
|
case LabelType::IP_CONFIG_STATIC: break;
|
|
case LabelType::IP_CONFIG_DYNAMIC: break;
|
|
case LabelType::IP_ADDRESS: return WiFi.localIP().toString();
|
|
case LabelType::IP_SUBNET: return WiFi.subnetMask().toString();
|
|
case LabelType::IP_ADDRESS_SUBNET: return String(getValue(LabelType::IP_ADDRESS) + F(" / ") + getValue(LabelType::IP_SUBNET));
|
|
case LabelType::GATEWAY: return WiFi.gatewayIP().toString();
|
|
case LabelType::CLIENT_IP: return formatIP(WebServer.client().remoteIP());
|
|
case LabelType::DNS: return String(getValue(LabelType::DNS_1) + F(" / ") + getValue(LabelType::DNS_2));
|
|
case LabelType::DNS_1: return WiFi.dnsIP(0).toString();
|
|
case LabelType::DNS_2: return WiFi.dnsIP(1).toString();
|
|
case LabelType::ALLOWED_IP_RANGE: return describeAllowedIPrange();
|
|
case LabelType::STA_MAC: return WiFi.macAddress();
|
|
case LabelType::AP_MAC: break;
|
|
case LabelType::SSID: return WiFi.SSID();
|
|
case LabelType::BSSID: return WiFi.BSSIDstr();
|
|
case LabelType::CHANNEL: return String(WiFi.channel());
|
|
case LabelType::CONNECTED: return format_msec_duration(timeDiff(lastConnectMoment, millis()));
|
|
case LabelType::CONNECTED_MSEC: return String(timeDiff(lastConnectMoment, millis()));
|
|
case LabelType::LAST_DISCONNECT_REASON: return String(lastDisconnectReason);
|
|
case LabelType::LAST_DISC_REASON_STR: return getLastDisconnectReason();
|
|
case LabelType::NUMBER_RECONNECTS: return String(wifi_reconnects);
|
|
|
|
case LabelType::FORCE_WIFI_BG: return jsonBool(Settings.ForceWiFi_bg_mode());
|
|
case LabelType::RESTART_WIFI_LOST_CONN: return jsonBool(Settings.WiFiRestart_connection_lost());
|
|
case LabelType::FORCE_WIFI_NOSLEEP: return jsonBool(Settings.WifiNoneSleep());
|
|
case LabelType::PERIODICAL_GRAT_ARP: return jsonBool(Settings.gratuitousARP());
|
|
case LabelType::CONNECTION_FAIL_THRESH: return String(Settings.ConnectionFailuresThreshold);
|
|
|
|
case LabelType::BUILD_DESC: return String(BUILD);
|
|
case LabelType::GIT_BUILD: return String(F(BUILD_GIT));
|
|
case LabelType::SYSTEM_LIBRARIES: return getSystemLibraryString();
|
|
case LabelType::PLUGINS: return String(deviceCount + 1);
|
|
case LabelType::PLUGIN_DESCRIPTION: return getPluginDescriptionString();
|
|
case LabelType::BUILD_TIME: break;
|
|
case LabelType::BINARY_FILENAME: break;
|
|
|
|
case LabelType::SYSLOG_LOG_LEVEL: return getLogLevelDisplayString(Settings.SyslogLevel);
|
|
case LabelType::SERIAL_LOG_LEVEL: return getLogLevelDisplayString(getSerialLogLevel());
|
|
case LabelType::WEB_LOG_LEVEL: return getLogLevelDisplayString(getWebLogLevel());
|
|
#ifdef FEATURE_SD
|
|
case LabelType::SD_LOG_LEVEL: return getLogLevelDisplayString(Settings.SDLogLevel);
|
|
#endif
|
|
|
|
case LabelType::ESP_CHIP_ID: break;
|
|
case LabelType::ESP_CHIP_FREQ: break;
|
|
case LabelType::ESP_BOARD_NAME: break;
|
|
|
|
case LabelType::FLASH_CHIP_ID: break;
|
|
case LabelType::FLASH_CHIP_REAL_SIZE: break;
|
|
case LabelType::FLASH_IDE_SIZE: break;
|
|
case LabelType::FLASH_IDE_SPEED: break;
|
|
case LabelType::FLASH_IDE_MODE: break;
|
|
case LabelType::FLASH_WRITE_COUNT: break;
|
|
case LabelType::SKETCH_SIZE: break;
|
|
case LabelType::SKETCH_FREE: break;
|
|
case LabelType::SPIFFS_SIZE: break;
|
|
case LabelType::SPIFFS_FREE: break;
|
|
|
|
}
|
|
return F("MissingString");
|
|
}
|