using System;
using SHJX.Service.Common.Extend;
using SHJX.Service.Common.ReadXML;
using SHJX.Service.Model.Control;
using SHJX.Service.ServerClient.Interface;
using SHJX.Service.ServerClient.TempController;
using SHJX.Service.Common.Logging;
using Microsoft.Extensions.Logging;
namespace SHJX.Service.ServerClient.LiquidPump
{
///
/// 水
///
public class WaterPort : SerialPortImp, PortControlImp
{
private static readonly ILogger logger = LogFactory.BuildLogger(typeof(WaterPort));
///
/// 水
///
/// 日志
/// 配置
public WaterPort( ReadConfigUtil config) : base( config) { }
public object Read(PortArgs args)
{
throw new NotImplementedException();
}
public bool Write(PortArgs args)
{
int local = args.Reserve.ToString() switch
{
"R1" or "R2" or "R3" or "R4" or "R5" or "R6" or "R7" or "R8" or "R9" or "R10" or "R11" or "R12" => 1,
"R13" or "R14" or "R15" or "R16" or "R17" or "R18" or "R19" or "R20" or "R21" or "R22" or "R23" or "R24" => 2,
_ => throw new ArgumentNullException(args.Reserve.ToString())
};
var way = args.WriteWay switch
{
WriteWay.Start => "L",
WriteWay.Stop => "H",
_ => throw new ArgumentNullException(args.WriteWay.GetEnumDesc())
};
return MotorStorage(args.NodeId, local, way);
}
}
}