public byte[] Arg(BaseTypes.Operations Operation, uint Data) { switch (Operation) { case BaseTypes.Operations.LineFeed: return(BitConverter.GetBytes(SwapWordEndianness( 0x00000000 | ((((( Data & 0xffu) << 16) | Data) & 0xffff00u) >> 8))).Skip(2).ToArray()); case BaseTypes.Operations.Print: return(BitConverter.GetBytes(SwapWordEndianness( 0x00010000 | ((((( Data & 0xffu) << 16) | Data) & 0xffff00u) >> 8)))); default: throw new InvalidOperationException(); } }
public byte[] Oper(BaseTypes.Operations Operation) { switch (Operation) { case BaseTypes.Operations.NoOp: return(Op.NoOp); case BaseTypes.Operations.LineFeed: return(Op.LineFeed); case BaseTypes.Operations.CrcTransmit: return(Op.TransmitCrc); case BaseTypes.Operations.Print: return(Op.Print); default: throw new InvalidOperationException(); } }
public byte[] Packet(BaseTypes.Operations oper, byte[] data, CRC checksum, byte[] operarg) { byte[] p = Packet(oper, data, checksum); Buffer.BlockCopy(operarg, 0, p, 3, 2); return(p); }
public byte[] Packet(BaseTypes.Operations oper, byte[] data, CRC checksum) => Packet(Oper(oper), data, checksum);