using System; using System.Collections.Generic; namespace AutoFocusTool.Devices { /// 一个被发现的舱室:houseSn ↔ 串口 ↔ 相机index 的绑定。 public class HouseDevice { /// 舱室号(下位机握手自报,1-10;11=缓冲瓶) public int HouseSn { get; set; } = -1; /// 该舱串口名,如 COM5 public string PortName { get; set; } /// 该舱绑定的相机序列号(EEPROM CCDSN) public string CcdSn { get; set; } /// 配对到的相机枚举 index(0-9),-1=没配上 public int CcdIndex { get; set; } = -1; public bool HasCamera => CcdIndex >= 0; public override string ToString() { string cam = HasCamera ? $"相机#{CcdIndex}" : "无相机"; return $"舱室{HouseSn} @ {PortName} ({cam}, CCDSN={CcdSn})"; } } /// 一台被枚举到的相机:index ↔ 序列号。 public class CameraDevice { public int Index { get; set; } public string SerialNumber { get; set; } public override string ToString() => $"相机#{Index} SN={SerialNumber}"; } }