Fix: Auto reboot was not triggered on pin mapping change

This commit is contained in:
Thomas Basler 2024-12-14 13:33:44 +01:00
parent 58382be16c
commit 5d14454185

View File

@ -129,10 +129,14 @@ void WebApiDeviceClass::onDeviceAdminPost(AsyncWebServerRequest* request)
return;
}
bool performRestart = false;
{
auto guard = Configuration.getWriteGuard();
auto& config = guard.getConfig();
performRestart = root["curPin"]["name"].as<String>() != config.Dev_PinMapping;
strlcpy(config.Dev_PinMapping, root["curPin"]["name"].as<String>().c_str(), sizeof(config.Dev_PinMapping));
config.Display.Rotation = root["display"]["rotation"].as<uint8_t>();
config.Display.PowerSafe = root["display"]["power_safe"].as<bool>();
@ -149,7 +153,6 @@ void WebApiDeviceClass::onDeviceAdminPost(AsyncWebServerRequest* request)
}
auto const& config = Configuration.get();
bool performRestart = root["curPin"]["name"].as<String>() != config.Dev_PinMapping;
Display.setDiagramMode(static_cast<DiagramMode_t>(config.Display.Diagram.Mode));
Display.setOrientation(config.Display.Rotation);