public override byte[] BuildPacket(byte command, params IEnumerable<byte>[] args)
{
List<byte> packet = new List<byte>();
packet.Add((byte)0xFF);
packet.Add((byte)command);
List<byte> packetArray = new List<byte>();
foreach (IEnumerable<byte> a in args)
{
packetArray.AddRange(a);
}
UInt16 arrayCount = (UInt16)(packetArray.Count + 4);
packet.AddRange(BitConverter.GetBytes(arrayCount));
packet.AddRange(packetArray);
byte[] bytes = new byte[arrayCount];
packet.CopyTo(bytes);
return bytes;
}