More work on the ESP32C3 Boilerplate

This commit is contained in:
2026-06-27 20:00:17 -05:00
parent bb7aa5d5ca
commit 54ae1e66da
21 changed files with 833 additions and 146 deletions

View File

@@ -1,4 +1,4 @@
#include "../app.h"
#include "app.h"
#include <mbedtls/md.h>
@@ -25,6 +25,13 @@ bool setupMode = false;
uint8_t ledBrightness = 0;
bool ledInverted = DEFAULT_LED_INVERTED;
String updateUrl = DEFAULT_UPDATE_URL;
String networkHostname;
bool networkDhcp = true;
String networkIp;
String networkGateway;
String networkSubnet;
String networkDns1;
String networkDns2;
String chipId() {
uint64_t mac = ESP.getEfuseMac();
@@ -33,7 +40,7 @@ String chipId() {
return String(buf);
}
String deviceName() {
String defaultDeviceName() {
String suffix = chipId().substring(6);
String base = PROJECT_NAME_VALUE;
base.trim();
@@ -52,6 +59,10 @@ String deviceName() {
return base + "-" + suffix;
}
String deviceName() {
return networkHostname.length() ? networkHostname : defaultDeviceName();
}
String sha256(const String &input) {
uint8_t digest[32];
mbedtls_md_context_t ctx;
@@ -81,9 +92,23 @@ void loadSettings() {
prefs.putBool("ledInv", DEFAULT_LED_INVERTED);
prefs.putBool("ledPolV2", true);
}
currentLogLevel = (LogLevel)prefs.getUChar("logLevel", LOG_INFO);
uint8_t rawLogLevel = prefs.getUChar("logLevel", LOG_INFO);
if (!prefs.getBool("logLevelV2", false)) {
if (prefs.isKey("logLevel") && rawLogLevel >= 2) rawLogLevel++;
rawLogLevel = constrain(rawLogLevel, 0, 4);
prefs.putUChar("logLevel", rawLogLevel);
prefs.putBool("logLevelV2", true);
}
currentLogLevel = (LogLevel)constrain(rawLogLevel, 0, 4);
maxLogBytes = prefs.getUInt("logMax", 50 * 1024);
ledInverted = prefs.getBool("ledInv", DEFAULT_LED_INVERTED);
ledBrightness = constrain(prefs.getUChar("ledBright", 0), 0, 100);
updateUrl = prefString("updateUrl", DEFAULT_UPDATE_URL);
networkHostname = prefString("netHost", "");
networkDhcp = prefs.getBool("netDhcp", true);
networkIp = prefString("netIp", "");
networkGateway = prefString("netGw", "");
networkSubnet = prefString("netMask", "");
networkDns1 = prefString("netDns1", "");
networkDns2 = prefString("netDns2", "");
}