public string ToStringMessageArray() { StringBuilder res = new StringBuilder(); res.Append('T'); int type = (int)this.PacketType; res.Append(type.FromIntToHexString()); //TODO: make this more straightforward/faster res.Append('N'); res.Append(NodeID.FromIntToHexString()); res.Append('I'); if (this.PacketType == PacketTypes.Command || this.PacketType == PacketTypes.Command_Reply) { int com = (int)this.CommandID; res.Append(com.FromIntToHexString()); } else { res.Append(this.SensorID.FromIntToHexString()); } res.Append('P'); res.Append(this.Payload.FromIntToHexString()); res.Append('Q'); res.Append(this.Parity); return(res.ToString()); }