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