first
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user