using System;
namespace XP.Hardware.RaySource.Abstractions
{
///
/// 射线源接口 | X-Ray Source Strategy
/// 定义所有射线源必须实现的核心操作 | Defines core operations required for all X-ray sources
///
public interface IXRaySource : IDisposable
{
///
/// 是否已连接 | Is connected
///
bool IsConnected { get; }
///
/// 初始化射线源 | Initialize X-ray source
///
XRayResult Initialize();
///
/// 连接 PVI 变量并启动实时状态通讯 | Connect PVI variables and start real-time status communication
/// 对应硬件操作流程中的"开启实时状态通讯"步骤 | Corresponds to "start real-time status communication" step in hardware operation flow
///
XRayResult ConnectVariables();
///
/// 开启射线 | Turn on X-ray
///
XRayResult TurnOn();
///
/// 关闭射线 | Turn off X-ray
///
XRayResult TurnOff();
///
/// 完全关闭设备(释放资源)| Fully shut down device (release resources)
///
XRayResult CloseOff();
///
/// 设置电压(单位:kV)| Set voltage (unit: kV)
///
/// 目标电压值 | Target voltage value
XRayResult SetVoltage(float voltage);
///
/// 设置电流(单位:μA)| Set current (unit: μA)
///
/// 目标电流值 | Target current value
XRayResult SetCurrent(float current);
///
/// 设置焦点(部分设备支持)| Set focus (supported by some devices)
///
/// 焦点参数 | Focus parameter
XRayResult SetFocus(float focus);
///
/// 读取实际电压值 | Read actual voltage value
///
XRayResult ReadVoltage();
///
/// 读取实际电流值 | Read actual current value
///
XRayResult ReadCurrent();
///
/// 读取系统状态 | Read system status
///
XRayResult ReadSystemStatus();
///
/// 检查错误状态 | Check error status
///
XRayResult CheckErrors();
///
/// 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);
}
}