Files
WCS/Plugins/Driver/Cowain.Driver/Abstractions/IDriver.cs
2026-03-02 09:08:20 +08:00

31 lines
892 B
C#

using Cowain.Base.Helpers;
using Cowain.Base.Models;
using HslCommunication.Core;
using Microsoft.Extensions.Logging;
using Plugin.Cowain.Driver.Models.Enum;
using Plugin.Cowain.Driver.ViewModels;
namespace Plugin.Cowain.Driver.Abstractions;
public interface IDriver : IDisposable
{
public string DeviceName { get; set; }
public bool IsConnected { get; }
public IReadWriteDevice? GetReadWrite();
public Task<bool> OpenAsync();
public bool Close();
public Task ReadThreadAsync(DeviceViewModel device, CancellationToken token);
public void SetParam(string param);
public void SetDeviceModel(DeviceViewModel device);
public Task<ResultModel<T>> ReadAsync<T>(string address, DataTypeEnum dataType, ushort arrayCount) where T : notnull;
public Task<ResultModel> WriteAsync<T>(string address, DataTypeEnum dataType, T value) where T : struct;
}