| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- using System;
- namespace IvfTl.Control.Entity.InitEntitys
- {
- /// <summary>
- /// 舱级故障类型。启动期 SerialBin 登记 + 运行期升级共用。
- /// </summary>
- public enum HouseFaultType
- {
- CameraReadFailed = 0, // 相机 SN 读取异常(舱号未知)
- CameraDuplicateSn = 1, // 两台相机报同一 SN,配对不明(舱号未知)
- HouseSnDuplicate = 2, // 两个串口握手返回同一舱号
- CcdSnMissing = 3, // 相机列表中不存在该舱 CCDSN(该舱相机半坏)
- CcdSnDuplicate = 4, // 两个舱报同一 CCDSN
- SerialReadException = 5, // 扫口过程串口读异常(舱号可能未知)
- InitException = 6, // 舱构造/StartTask 抛异常
- RuntimeFault = 7 // 运行期突发(第二阶段用)
- }
- /// <summary>
- /// 单条舱故障。HouseSn>0=已知具体舱(可被剔除);HouseSn=-1=相机/串口级故障(仅提示,不剔除某舱)。
- /// 纯数据载体,无任何行为。
- /// </summary>
- public class HouseFault
- {
- /// <summary>舱号;-1 表示舱号未知(相机/串口级)。</summary>
- public int HouseSn { get; set; } = -1;
- /// <summary>串口名(已知时)。</summary>
- public string Port { get; set; }
- public HouseFaultType Type { get; set; }
- /// <summary>人类可读原因(直接取自原 errorlist 文案)。</summary>
- public string Reason { get; set; }
- /// <summary>发生阶段:相机枚举/扫口握手/舱初始化/运行期。</summary>
- public string Stage { get; set; }
- /// <summary>发生时刻(UTC)。</summary>
- public DateTime At { get; set; }
- /// <summary>是否已被隔离(该舱已从可跑清单剔除/已停)。</summary>
- public bool Isolated { get; set; }
- }
- }
|