From 422aaa89d5cbab335ed4424553141a0342a0e283 Mon Sep 17 00:00:00 2001 From: alivender <13898766233@163.com> Date: Sun, 20 Jul 2025 13:17:36 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E5=A4=8D=E7=A4=BA?= =?UTF-8?q?=E6=B3=A2=E5=99=A8=E8=8E=B7=E5=8F=96=E5=A4=B1=E8=B4=A5=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Controllers/OscilloscopeController.cs | 22 +++++-------------- server/src/Peripherals/OscilloscopeClient.cs | 4 ++-- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/server/src/Controllers/OscilloscopeController.cs b/server/src/Controllers/OscilloscopeController.cs index f7bce73..a8c279f 100644 --- a/server/src/Controllers/OscilloscopeController.cs +++ b/server/src/Controllers/OscilloscopeController.cs @@ -10,7 +10,7 @@ namespace server.Controllers; /// [ApiController] [Route("api/[controller]")] -[Authorize(Roles = "User")] +[Authorize] public class OscilloscopeApiController : ControllerBase { private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); @@ -298,21 +298,11 @@ public class OscilloscopeApiController : ControllerBase if (oscilloscope == null) return BadRequest("用户未绑定有效的实验板"); - // 并行获取所有数据 - var freqTask = oscilloscope.GetADFrequency(); - var vppTask = oscilloscope.GetADVpp(); - var maxTask = oscilloscope.GetADMax(); - var minTask = oscilloscope.GetADMin(); - var waveformTask = oscilloscope.GetWaveformData(); - - await Task.WhenAll(freqTask.AsTask(), vppTask.AsTask(), maxTask.AsTask(), - minTask.AsTask(), waveformTask.AsTask()); - - var freqResult = await freqTask; - var vppResult = await vppTask; - var maxResult = await maxTask; - var minResult = await minTask; - var waveformResult = await waveformTask; + var freqResult = await oscilloscope.GetADFrequency(); + var vppResult = await oscilloscope.GetADVpp(); + var maxResult = await oscilloscope.GetADMax(); + var minResult = await oscilloscope.GetADMin(); + var waveformResult = await oscilloscope.GetWaveformData(); if (!freqResult.IsSuccessful) { diff --git a/server/src/Peripherals/OscilloscopeClient.cs b/server/src/Peripherals/OscilloscopeClient.cs index ad04055..b4fabe5 100644 --- a/server/src/Peripherals/OscilloscopeClient.cs +++ b/server/src/Peripherals/OscilloscopeClient.cs @@ -70,7 +70,7 @@ class Oscilloscope private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); readonly int timeout = 2000; - readonly int taskID = 1; + readonly int taskID = 0; readonly int port; readonly string address; @@ -327,7 +327,7 @@ class Oscilloscope return new(ret.Error); } var data = ret.Value; - if (data == null || data.Length != OscilloscopeAddr.RD_DATA_LENGTH) + if (data == null || data.Length != OscilloscopeAddr.RD_DATA_LENGTH / 8) { logger.Error($"Waveform data length mismatch: {data?.Length}"); return new(new Exception("Waveform data length mismatch"));