using System; using XP.Hardware.RaySource.Abstractions; using XP.Hardware.RaySource.Abstractions.Enums; namespace XP.Hardware.RaySource.Services { /// /// 射线源业务服务接口 | X-Ray Source Business Service Interface /// 封装初始化、操作调度、状态管理和业务规则校验 | Encapsulates initialization, operation dispatch, status management, and business rule validation /// public interface IRaySourceService : IDisposable { /// /// 当前射线源实例 | Current X-ray source instance /// IXRaySource CurrentSource { get; } /// /// 是否已初始化 | Is initialized /// bool IsInitialized { get; } /// /// PVI 变量是否已连接 | Whether PVI variables are connected /// bool IsConnected { get; } /// /// 是否射线开启 | Is X-ray on /// bool IsXRayOn { get; } /// /// 当前射线源状态 | Current X-ray source status /// RaySourceStatus CurrentStatus { get; } /// /// 初始化射线源(射线源类型从配置文件读取)| Initialize X-ray source (source type read from configuration) /// XRayResult Initialize(); /// /// 连接变量并启动实时状态通讯 | Connect variables and start real-time status communication /// XRayResult ConnectVariables(); /// /// 断开射线源连接 | Disconnect X-ray source /// XRayResult Disconnect(); /// /// 开启射线 | Turn on X-ray /// XRayResult TurnOn(); /// /// 关闭射线 | Turn off X-ray /// XRayResult TurnOff(); /// /// 紧急关闭(最高优先级)| Emergency shutdown (highest priority) /// XRayResult EmergencyShutdown(); /// /// 设置电压 | Set voltage /// /// 电压值(kV)| Voltage value (kV) XRayResult SetVoltage(float voltage); /// /// 设置电流 | Set current /// /// 电流值(μA)| Current value (μA) XRayResult SetCurrent(float current); /// /// 读取实际电压 | Read actual voltage /// XRayResult ReadVoltage(); /// /// 读取实际电流 | Read actual current /// XRayResult ReadCurrent(); /// /// 读取系统状态 | Read system status /// XRayResult ReadSystemStatus(); /// /// 检查错误 | Check errors /// XRayResult CheckErrors(); /// /// 清除错误 | Clear errors /// XRayResult ClearErrors(); /// /// TXI 开启 | TXI On /// XRayResult TxiOn(); /// /// TXI 关闭 | TXI Off /// XRayResult TxiOff(); /// /// 暖机设置 | Warm-up setting /// XRayResult WarmUp(); /// /// 训机设置 | Training setting /// XRayResult Training(); /// /// 灯丝校准 | Filament calibration /// XRayResult FilamentCalibration(); /// /// 全部电压自动定心 | Auto-center all voltages /// XRayResult AutoCenter(); /// /// 设置功率模式 | Set power mode /// /// 功率模式值:1=Micro Focus,2=High Power XRayResult SetPowerMode(int mode); /// /// 异步执行初始化 + 连接变量的完整流程 | Async full sequence: Initialize + ConnectVariables /// 供 ViewModel 在界面加载时调用,避免阻塞 UI 线程 | For ViewModel to call on view loaded without blocking UI /// /// 最终操作结果 | Final operation result System.Threading.Tasks.Task InitializeAndConnectAsync(); } }