namespace FASS.Extend.Master { public class LightControlMessage { public byte StartLightNo { get; set; } public byte EndLightNo { get; set; } public byte State { get; set; } = 0; public uint Led { get; set; } public byte Reserve { get; set; } public LightControlMessage SetMessage( byte startLightNo, byte endLightNo, byte state, uint led) { StartLightNo = startLightNo; EndLightNo = endLightNo; State = state; Led = led; return this; } public LightControlMessage GetMessage(byte[] byteArray) { if (byteArray == null || byteArray.Length != 8) throw new Exception($"数据长度错误:{Utility.ByteArrayToHexString(byteArray)}"); StartLightNo = byteArray[0]; EndLightNo = byteArray[1]; State = byteArray[2]; Led = BitConverter.ToUInt32(byteArray[3..7]); return this; } public byte[] GetByteArray() { var byteArray = new byte[8]; byteArray[0] = StartLightNo; byteArray[1] = EndLightNo; byteArray[2] = State; var ledArr = BitConverter.GetBytes(Led); byteArray[3] = ledArr[0]; byteArray[4] = ledArr[1]; byteArray[5] = ledArr[2]; byteArray[6] = ledArr[3]; return byteArray; } } }