using System.Text; using HybirdFrameworkCore.Autofac.Attribute; using HybirdFrameworkCore.Entity; using log4net; using HybirdFrameworkDriver.TcpClient; using Decoder = Service.Padar.Codec.Decoder; using Encoder = Service.Padar.Codec.Encoder; namespace Service.Padar.Client; [Scope] public class PadarClient : TcpClient { /// /// 0-雷达不工作;1-无车;2-无电池,3-角度偏移过大;4-车辆靠后;5-车辆靠前;6-车辆到位 /// public byte CarState { get; set; } public static readonly byte[] StartChar = { 0xFE, 0x68 }; // public static byte serialNum = 0; private static readonly ILog Log = LogManager.GetLogger(typeof(PadarClient)); public bool Connect() { base.BaseConnect(); Log.Info($"padar connect succeed"); return Connected; } /// /// 0-关闭雷达 1-开启 /// /// 0-关闭雷达 1-开启雷达 /// public Result PadarControl(byte byte3) { byte[] sendBytes = new byte[4]; sendBytes[0] = 0xFE; sendBytes[1] = 0x68; if (serialNum > byte.MaxValue) serialNum = 0; sendBytes[2] = serialNum; serialNum++; sendBytes[3] = byte3; this.Channel.WriteAndFlushAsync(sendBytes); return Result.Success(); } }