/// <summary> /// Create a new packet /// </summary> /// <param name="cmd">packet command</param> /// <param name="data">data to transfer</param> /// <returns></returns> public static Packet Create(APCommand cmd, byte[] data) { byte len = (data == null) ? (byte)0 : (byte)data.Length; byte[] tx_buf = new byte[len + Constants.PACKET_OVERHEAD_BYTES]; tx_buf[0] = 0xFF; // Start marker tx_buf[1] = (byte)cmd; // Command code tx_buf[2] = (byte)(len + Constants.PACKET_OVERHEAD_BYTES); // Packet length if (data != null) for (int i = 0; i < data.Length; i++) tx_buf[Constants.PACKET_OVERHEAD_BYTES + i] = data[i]; // Packet data (no reordering) return new Packet(tx_buf); }
/// <summary> /// Create a new packet /// </summary> /// <param name="cmd">packet command</param> /// <param name="data">data to transfer</param> /// <returns>the created Packet object</returns> public static Packet Create(APCommand cmd, byte[] data) { byte len = (data == null) ? (byte)0 : (byte)data.Length; byte[] tx_buf = new byte[len + Constants.PACKET_OVERHEAD_BYTES]; tx_buf[0] = 0xFF; // Start marker tx_buf[1] = (byte)cmd; // Command code tx_buf[2] = (byte)(len + Constants.PACKET_OVERHEAD_BYTES); // Packet length if (data != null) { for (int i = 0; i < data.Length; i++) { tx_buf[Constants.PACKET_OVERHEAD_BYTES + i] = data[i]; // Packet data (no reordering) } } return(new Packet(tx_buf)); }