From ea26bb821470f93bbf9ff8fe9a3b32649b0caae1 Mon Sep 17 00:00:00 2001 From: jkwoo Date: Wed, 17 Dec 2025 19:27:12 +0900 Subject: [PATCH] V1.0.1.7-2 -- 2025/12/17 * CsRs485Thread12450.cs: Improved --- LFP_Manager/Threads/CsRs485Thread124050.cs | 28 +++++++++++++++------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/LFP_Manager/Threads/CsRs485Thread124050.cs b/LFP_Manager/Threads/CsRs485Thread124050.cs index f3c07a9..8fd58eb 100644 --- a/LFP_Manager/Threads/CsRs485Thread124050.cs +++ b/LFP_Manager/Threads/CsRs485Thread124050.cs @@ -101,7 +101,7 @@ namespace LFP_Manager.Threads if (_cts != null && !_cts.IsCancellationRequested) _cts.Cancel(); - serialCommTask?.Wait(TimeSpan.FromSeconds(5)); + serialCommTask?.Wait(TimeSpan.FromMilliseconds(500)); } catch (AggregateException) { } catch (OperationCanceledException) { } @@ -310,7 +310,7 @@ namespace LFP_Manager.Threads { lock (_rxLock) { - int result = -1; + int result = 0; if (rBufStart != rBufEnd) { @@ -360,32 +360,39 @@ namespace LFP_Manager.Threads case 0: // Battery Status Data addr_ch = 1; RequestRegAddr = 0x0FFF; //Byul Init 0x0000 - RequestRegLen = 0x4C; + RequestRegLen = 0x20; sCmd = CsSerialCommFunctionDelta.READ_INPUT_REG; // Command 0x04 rFlag = true; break; - case 1: // Gyroscope Data + case 1: // Battery Status Data addr_ch = 2; + RequestRegAddr = (0x0FFF + 0x20); //Byul Init 0x0000 + RequestRegLen = 0x2C; + sCmd = CsSerialCommFunctionDelta.READ_INPUT_REG; // Command 0x04 + rFlag = true; + break; + case 2: // Gyroscope Data + addr_ch = 3; RequestRegAddr = 0x4000; RequestRegLen = 7; sCmd = CsSerialCommFunctionDelta.READ_INPUT_REG; // Command 0x17 rFlag = true; break; - case 2: - addr_ch = 3; + case 3: + addr_ch = 4; RequestRegAddr = 0x3000; RequestRegLen = 3; sCmd = CsSerialCommFunctionDelta.READ_INPUT_REG; // Command 0x19 rFlag = true; break; - case 3: - addr_ch = 4; + case 4: + addr_ch = 5; RequestRegAddr = 100; RequestRegLen = 28; sCmd = CsSerialCommFunctionDelta.READ_HOLDING_REG; // Command 0x03 rFlag = true; break; - case 4: + case 5: if (Config.ModuleQty > 1) { ModuleID++; @@ -441,6 +448,8 @@ namespace LFP_Manager.Threads { try { + OnPrint?.Invoke(this, $"uartCommThread Start"); + int RecvTimeout = (Config != null) ? Config.RecvWaitTime : 1500; int getData = 0; byte cData = 0; @@ -591,6 +600,7 @@ namespace LFP_Manager.Threads finally { SerialPortThreadEnd = true; + OnPrint?.Invoke(this, $"uartCommThread End"); } }