Merge branch 'master' of ssh://git.swordlost.top:222/SikongJueluo/FPGA_WebLab
This commit is contained in:
commit
d27b5d7737
|
@ -15,74 +15,74 @@ public class DebuggerController : ControllerBase
|
||||||
{
|
{
|
||||||
private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
|
private static readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 表示单个信号通道的配置信息
|
/// 表示单个信号通道的配置信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class ChannelConfig
|
public class ChannelConfig
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 通道名称
|
/// 通道名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
required public string name;
|
required public string name;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 通道显示颜色(如前端波形显示用)
|
/// 通道显示颜色(如前端波形显示用)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
required public string color;
|
required public string color;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 通道信号线宽度(位数)
|
/// 通道信号线宽度(位数)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
required public UInt32 wireWidth;
|
required public UInt32 wireWidth;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 信号线在父端口中的起始索引(bit)
|
/// 信号线在父端口中的起始索引(bit)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
required public UInt32 wireStartIndex;
|
required public UInt32 wireStartIndex;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 父端口编号
|
/// 父端口编号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
required public UInt32 parentPort;
|
required public UInt32 parentPort;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 捕获模式(如上升沿、下降沿等)
|
/// 捕获模式(如上升沿、下降沿等)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
required public CaptureMode mode;
|
required public CaptureMode mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 调试器整体配置信息
|
/// 调试器整体配置信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class DebuggerConfig
|
public class DebuggerConfig
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 时钟频率
|
/// 时钟频率
|
||||||
/// </summary>
|
/// </summary>
|
||||||
required public UInt32 clkFreq;
|
required public UInt32 clkFreq;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 总端口数量
|
/// 总端口数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
required public UInt32 totalPortNum;
|
required public UInt32 totalPortNum;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 捕获深度(采样点数)
|
/// 捕获深度(采样点数)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
required public UInt32 captureDepth;
|
required public UInt32 captureDepth;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 触发器数量
|
/// 触发器数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
required public UInt32 triggerNum;
|
required public UInt32 triggerNum;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 所有信号通道的配置信息
|
/// 所有信号通道的配置信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
required public ChannelConfig[] channelConfigs;
|
required public ChannelConfig[] channelConfigs;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 单个通道的捕获数据
|
/// 单个通道的捕获数据
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class ChannelCaptureData
|
public class ChannelCaptureData
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 通道名称
|
/// 通道名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
required public string name;
|
required public string name;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 通道捕获到的数据(Base64编码的UInt32数组)
|
/// 通道捕获到的数据(Base64编码的UInt32数组)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
required public string data;
|
required public string data;
|
||||||
|
@ -405,7 +405,8 @@ public class DebuggerController : ControllerBase
|
||||||
logger.Error($"数据越界: port {port}, sample {i}");
|
logger.Error($"数据越界: port {port}, sample {i}");
|
||||||
return StatusCode(StatusCodes.Status500InternalServerError, "数据越界");
|
return StatusCode(StatusCodes.Status500InternalServerError, "数据越界");
|
||||||
}
|
}
|
||||||
UInt32 sample = BitConverter.ToUInt32(rawData, sampleOffset);
|
var sampleBytes = rawData[sampleOffset..(sampleOffset + 4)];
|
||||||
|
UInt32 sample = BitConverter.ToUInt32(Common.Number.ReverseBytes(sampleBytes, 4).Value, 0);
|
||||||
// 提取wireWidth位
|
// 提取wireWidth位
|
||||||
UInt32 mask = (wireWidth == 32) ? 0xFFFFFFFF : ((1u << wireWidth) - 1u);
|
UInt32 mask = (wireWidth == 32) ? 0xFFFFFFFF : ((1u << wireWidth) - 1u);
|
||||||
channelUintArr[i] = (sample >> wireStart) & mask;
|
channelUintArr[i] = (sample >> wireStart) & mask;
|
||||||
|
|
Loading…
Reference in New Issue