using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Wit.SDK.Modular.Sensor.Device;
using Wit.SDK.Modular.Sensor.Modular.ProtocolResolver.Enum;
namespace Wit.SDK.Modular.Sensor.Utils
{
///
/// 维特智能传感器帮助类
///
public class WitSensorHelper
{
///
/// 读寄存器
///
///
public static void ReadReg(DeviceModel device, WitSensorProtocol sensorPotocol, int reg)
{
byte[] sendBytes = new byte[0];
if (sensorPotocol == WitSensorProtocol.Modbus16Protocol)
{
sendBytes = Modbus16Utils.GetRead(byte.Parse(device.GetAddr()), reg, 4);
}
else
{
sendBytes = new byte[] { 0xff, 0xaa, 0x27, (byte)reg, 0 };
}
device.ReadData(sendBytes);
}
///
/// 写寄存器
///
///
public static void WriteReg(DeviceModel device, WitSensorProtocol sensorPotocol, int reg, ushort value)
{
byte[] sendBytes = new byte[8];
if (sensorPotocol == WitSensorProtocol.Modbus16Protocol)
{
sendBytes = Modbus16Utils.GetWrite(byte.Parse(device.GetAddr()), reg, value);
}
else
{
sendBytes = WitProtocolUtils.GetWrite(reg, value);
}
device.ReadData(sendBytes, 20);
}
}
}