namespace SSPCTester.Devices.Interfaces;
///
/// 可编程负载(IT8733P / IT8702P)的工作模式。
///
public enum LoadMode
{
/// 恒流。
CC,
/// 恒压。
CV,
/// 恒阻。
CR,
/// 恒功率。
CP
}
public readonly record struct PowerReading(double Volts, double Amps, double Watts);
///
/// 可编程负载抽象接口。
///
public interface ILoad : IDeviceConnection
{
/// 切换工作模式。
Task SetModeAsync(LoadMode mode, CancellationToken ct = default);
/// 设定目标值(含义取决于当前模式:A / V / Ω / W)。
Task SetValueAsync(double value, CancellationToken ct = default);
/// 开启 / 关闭负载输入。
Task InputAsync(bool on, CancellationToken ct = default);
/// 读取实际电压、电流。
Task<(double volts, double amps)> ReadAsync(CancellationToken ct = default);
Task ReadPowerAsync(CancellationToken ct = default);
Task QueryIdentityAsync(CancellationToken ct = default);
}