31 lines
892 B
C#
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;
|
|
|
|
|
|
}
|