From d78d2faa1cb7e6a1690913295543487e2f4cf148 Mon Sep 17 00:00:00 2001 From: SW-Nico Date: Tue, 19 Nov 2024 19:07:41 +0100 Subject: [PATCH] use FW or FWE to get the firmware version --- lib/VeDirectFrameHandler/VeDirectFrameHandler.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/VeDirectFrameHandler/VeDirectFrameHandler.cpp b/lib/VeDirectFrameHandler/VeDirectFrameHandler.cpp index dd3cd07af..e8a06b69b 100644 --- a/lib/VeDirectFrameHandler/VeDirectFrameHandler.cpp +++ b/lib/VeDirectFrameHandler/VeDirectFrameHandler.cpp @@ -253,10 +253,12 @@ void VeDirectFrameHandler::processTextData(std::string const& name, std::stri return; } - // According "VE.Direct-Protocol-3.33.pdf" for "Phoenix Charger" and "Smart BuckBoost". - // But it seems also some MPPT deliver FWE. + // Some devices use "FWE" instead of "FW" for the firmware version. + // We just remove the last 2 digit (final or beta indication) and copy the FW number. if (name == "FWE") { - _msgOut->printf("%s FWE ignored. We use FE to process the firmware version (value '%s')\r\n", _logId, value.c_str()); + if ((value.length() - 2) <= sizeof(_tmpFrame.firmwareVer_FW)) { + strncpy(_tmpFrame.firmwareVer_FW, value.c_str(), value.length() - 2); + } return; }