|
|
@@ -0,0 +1,40 @@
|
|
|
+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; }
|
|
|
+ }
|
|
|
+}
|