/// <summary> /// Create the data set using PRTI01. Then add PRTI02 to the /// dataset. Then send the dataset. /// </summary> /// <param name="prti01">PRTI01 Sentence.</param> /// <param name="prti02">PRTI02 Sentence.</param> /// <param name="prti30">PRTI30 Sentence.</param> /// <param name="prti31">PRTI31 Sentence.</param> private void SendData(Prti01Sentence prti01, Prti02Sentence prti02, Prti30Sentence prti30 = null, Prti31Sentence prti31 = null) { // Create the dataset DataSet.Ensemble adcpData = CreateDataSet(prti01); adcpData.AddAdditionalBottomTrackData(prti02); if (IsUseBtHpr) { if (prti30 != null) { adcpData.AddAdditionalAncillaryData(prti30); adcpData.AddAdditionalBottomTrackData(prti30); // Setup the serial number if (adcpData.IsEnsembleAvail) { // Remove the temp serial number subsystem adcpData.EnsembleData.SysSerialNumber.RemoveSubsystem(SerialNumber.DVL_Subsystem); // Add the actual subsystem adcpData.EnsembleData.SysSerialNumber.AddSubsystem(prti30.SubsystemConfig.SubSystem); } } } else { if (prti31 != null) { adcpData.AddAdditionalAncillaryData(prti31); adcpData.AddAdditionalBottomTrackData(prti31); // Setup the serial number if (adcpData.IsEnsembleAvail) { // Remove the temp serial number subsystem adcpData.EnsembleData.SysSerialNumber.RemoveSubsystem(SerialNumber.DVL_Subsystem); // Add the actual subsystem adcpData.EnsembleData.SysSerialNumber.AddSubsystem(prti30.SubsystemConfig.SubSystem); } } } // Combine all the messages and convert to a byte array string adcpMesg = ""; if (prti01 != null) { adcpMesg += prti01.ToString(); } if (prti02 != null) { adcpMesg += prti02.ToString(); } if (prti30 != null) { adcpMesg += prti30.ToString(); } if (prti31 != null) { adcpMesg += prti31.ToString(); } byte[] adcpMesgBA = Encoding.ASCII.GetBytes(adcpMesg); // Send the data set SendData(adcpData, adcpMesgBA); }