36 lines
1.2 KiB
C#
36 lines
1.2 KiB
C#
|
|
namespace SSPCTester.Devices.Interfaces;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 高速数据采集卡(PCIe8586)抽象接口。
|
|||
|
|
/// </summary>
|
|||
|
|
public interface IDaq : IDeviceConnection
|
|||
|
|
{
|
|||
|
|
Task<IReadOnlyList<DaqDeviceDescriptor>> EnumerateDevicesAsync(CancellationToken ct = default);
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 高速采集一段波形。
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="channels">采集通道索引数组。</param>
|
|||
|
|
/// <param name="sampleRateHz">采样率(Hz)。</param>
|
|||
|
|
/// <param name="durationSec">总时长(秒)。</param>
|
|||
|
|
Task<CurveData> CaptureAsync(
|
|||
|
|
int[] channels,
|
|||
|
|
int sampleRateHz,
|
|||
|
|
double durationSec,
|
|||
|
|
CancellationToken ct = default);
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 读取瞬时值(功率损耗页/基础测试页用)。
|
|||
|
|
/// 返回数组与传入 channels 一一对应。
|
|||
|
|
/// </summary>
|
|||
|
|
Task<double[]> ReadInstantAsync(int[] channels, CancellationToken ct = default);
|
|||
|
|
|
|||
|
|
Task<CurveData> CaptureAroundActionAsync(
|
|||
|
|
DaqActionCaptureRequest request,
|
|||
|
|
Func<CancellationToken, Task> action,
|
|||
|
|
CancellationToken ct = default);
|
|||
|
|
|
|||
|
|
/// <summary>流式采集事件(可选实现)。</summary>
|
|||
|
|
event EventHandler<CurveSample>? SampleReceived;
|
|||
|
|
}
|