using System; /// /// 串口通信服务接口 - 基于DCS项目串口通信协议 /// public interface ISerialCommunicationService : IService { // 事件定义 event Action OnHandshakeCompleted; event Action OnDeviceStatusReceived; // event Action OnAlarmStatusReceived; event Action OnCommunicationError; // 连接状态 bool IsConnected { get; } bool IsHandshakeCompleted { get; } // 连接控制 bool Connect(string portName = "COM1", int baudRate = 115200); void Disconnect(); // 协议命令 void SendHandshakeRequest(); void SendHeartbeatResponse(); void SendAlarmCommand(byte alarmCode, byte priority, byte state); void SendTimeSync(DateTime time); void SendParameterQuery(byte paramType); void SendParameterSet(byte paramType, byte[] data); } /// /// 设备状态数据 /// public struct DeviceStatusData { public float BFI; // BFI血流值 public byte BatteryLevel; // 电池电量 (0-100%) public ushort BatteryVoltage; // 电池电压 (mV) public short Temperature; // 内部温度 (0.1°C) public byte LaserStatus; // 激光器状态 (0=异常,1=工作,2=停止) public byte PowerType; // 电源类型 (0=AC,1=BAT) public uint ReservedData; // 保留字段 } /// /// 设备数据上报 /// public struct DeviceDataReport { public float BFI; // BFI数据 public byte BatteryLevel; // 电池电量 public ushort Voltage; // 电压 public short Temperature; // 内部温度 public byte LaserStatus; // 激光器状态 public byte PowerStatus; // 电源状态 public uint ExtensionData; // 扩展保留 } /// /// 告警状态反馈 /// public struct AlarmStatusReport { public byte AlarmCode; // 报警代码 public byte AlarmPriority; // 报警级别 public byte AlarmState; // 报警状态 public DateTime Timestamp; // 时间戳 }