From 83b7c73dc6eee15b90b602a50f05dedaacd5dd2d Mon Sep 17 00:00:00 2001 From: nick Date: Thu, 4 Jun 2026 01:42:49 -0600 Subject: [PATCH] Add serial configuration commands --- .../xterra-controller/xterra-controller.ino | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/firmware/esp32/xterra-controller/xterra-controller.ino b/firmware/esp32/xterra-controller/xterra-controller.ino index a043dd4..20807d2 100644 --- a/firmware/esp32/xterra-controller/xterra-controller.ino +++ b/firmware/esp32/xterra-controller/xterra-controller.ino @@ -309,6 +309,52 @@ void handleDebugSerial() { return; } + if (command.startsWith("relayname ")) { + int firstSpace = command.indexOf(' '); + int secondSpace = command.indexOf(' ', firstSpace + 1); + + if (secondSpace > 0) { + int relayNumber = command.substring(firstSpace + 1, secondSpace).toInt(); + + if (relayNumber >= 1 && relayNumber <= MAX_RELAYS) { + appConfig.relays[relayNumber - 1].name = + command.substring(secondSpace + 1); + + Serial.println("OK relay name updated"); + return; + } + } + } + + if (command.startsWith("tempname ")) { + int firstSpace = command.indexOf(' '); + int secondSpace = command.indexOf(' ', firstSpace + 1); + + if (secondSpace > 0) { + int sensorNumber = command.substring(firstSpace + 1, secondSpace).toInt(); + + if (sensorNumber >= 1 && sensorNumber <= MAX_TEMP_SENSORS) { + appConfig.tempSensors[sensorNumber - 1].name = + command.substring(secondSpace + 1); + + Serial.println("OK temp sensor name updated"); + return; + } + } + } + + if (command.startsWith("bmsname ")) { + appConfig.bms.name = command.substring(8); + Serial.println("OK bms name updated"); + return; + } + + if (command.startsWith("bmsaddr ")) { + appConfig.bms.address = command.substring(8); + Serial.println("OK bms address updated"); + return; + } + if (command.length() > 0) { Serial.print("Unknown command: "); Serial.println(command);