fix:修复示波器获取失败的问题
This commit is contained in:
parent
5103145d01
commit
422aaa89d5
|
@ -10,7 +10,7 @@ namespace server.Controllers;
|
|||
/// </summary>
|
||||
[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)
|
||||
{
|
||||
|
|
|
@ -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"));
|
||||
|
|
Loading…
Reference in New Issue