Esempio n. 1
0
 private void frmSwitchProtocolsSetBtn_Click(object sender, EventArgs e)
 {
     if (CommunicationManager.ValidateCommManager(this.comm))
     {
         string        msg     = string.Empty;
         StringBuilder builder = new StringBuilder();
         if (this.comm.MessageProtocol == "NMEA")
         {
             if (this.frmSwitchProtocolNMEARadioBtn.Checked)
             {
                 return;
             }
         }
         else if (this.frmSwitchProtocolSSBRadioBtn.Checked)
         {
             return;
         }
         if (this.frmSwitchProtocolNMEARadioBtn.Checked)
         {
             int    num         = 1;
             string messageName = "Switch to NMEA Protocol";
             clsGlobal.ToSwitchProtocol = "NMEA";
             this.comm.ToSwitchProtocol = "NMEA";
             builder.Append("129,2,");
             try
             {
                 num = Convert.ToByte(this.frmSwitchProtocolGGARateComboBox.Text);
             }
             catch
             {
                 num = 1;
             }
             builder.Append(num);
             builder.Append(",1,");
             try
             {
                 num = Convert.ToByte(this.frmSwitchProtocolGLLRateComboBox.Text);
             }
             catch
             {
                 num = 1;
             }
             builder.Append(num);
             builder.Append(",1,");
             try
             {
                 num = Convert.ToByte(this.frmSwitchProtocolGSARateComboBox.Text);
             }
             catch
             {
                 num = 1;
             }
             builder.Append(num);
             builder.Append(",1,");
             try
             {
                 num = Convert.ToByte(this.frmSwitchProtocolGSVRateComboBox.Text);
             }
             catch
             {
                 num = 1;
             }
             builder.Append(num);
             builder.Append(",1,");
             try
             {
                 num = Convert.ToByte(this.frmSwitchProtocolRMCRateComboBox.Text);
             }
             catch
             {
                 num = 1;
             }
             builder.Append(num);
             builder.Append(",1,");
             try
             {
                 num = Convert.ToByte(this.frmSwitchProtocolVTGRateComboBox.Text);
             }
             catch
             {
                 num = 1;
             }
             builder.Append(num);
             builder.Append(",1,0,1,0,0,0,1,0,0,");
             builder.Append(this.frmSwitchProtocolBaudRateComboBox.Text);
             msg = this.comm.m_Protocols.ConvertFieldsToRaw(builder.ToString(), messageName, "SSB");
             if (msg == string.Empty)
             {
                 clsGlobal.PerformOnAll = false;
                 return;
             }
         }
         else
         {
             builder.Append("$PSRF100,0,");
             builder.Append(this.frmSwitchProtocolBaudRateComboBox.Text);
             builder.Append(",8,1,0");
             msg = NMEAReceiver.NMEA_AddCheckSum(builder.ToString());
             msg = NMEAReceiver.NMEA_AddCheckSum("$PSRF105,1") + "\r\n" + msg;
             clsGlobal.ToSwitchProtocol = "OSP";
             this.comm.ToSwitchProtocol = "OSP";
         }
         clsGlobal.ToSwitchBaudRate = this.frmSwitchProtocolBaudRateComboBox.Text;
         if (clsGlobal.PerformOnAll)
         {
             foreach (string str3 in clsGlobal.g_objfrmMDIMain.PortManagerHash.Keys)
             {
                 PortManager manager = (PortManager)clsGlobal.g_objfrmMDIMain.PortManagerHash[str3];
                 if (((manager != null) && manager.comm.IsSourceDeviceOpen()) && (manager.comm.ProductFamily == CommonClass.ProductType.GSD4e))
                 {
                     manager.comm.ToSwitchProtocol = clsGlobal.ToSwitchProtocol;
                     manager.comm.ToSwitchBaud     = clsGlobal.ToSwitchBaudRate;
                     manager.comm.WriteData(msg);
                 }
             }
             clsGlobal.PerformOnAll = false;
         }
         else
         {
             this.comm.ToSwitchProtocol = clsGlobal.ToSwitchProtocol;
             this.comm.ToSwitchBaud     = clsGlobal.ToSwitchBaudRate;
             this.comm.WriteData(msg);
         }
         base.DialogResult = DialogResult.OK;
         base.Close();
     }
 }
 private void UpdateRawDataToSendBox()
 {
     if (this.frmTransmitSerialMessageInputText.Text.Length != 0)
     {
         this.frmTransmitSerialMessageInputText.Text = this.frmTransmitSerialMessageInputText.Text.Replace("\r\n", "");
         StringBuilder builder = new StringBuilder();
         if (this.frmTransmitSerialMessageNmeaRadioBtn.Checked)
         {
             this.frmTransmitSerialMessageOutputText.Text = NMEAReceiver.NMEA_AddCheckSum(this.frmTransmitSerialMessageInputText.Text);
         }
         else if (this.frmTransmitSerialMessageRawRadioBtn.Checked)
         {
             this.frmTransmitSerialMessageOutputText.Text = this.frmTransmitSerialMessageInputText.Text;
         }
         else
         {
             builder.Append("A0A2");
             string str   = this.frmTransmitSerialMessageInputText.Text.Replace(" ", "").Replace("\r", "").Replace("\n", "");
             int    num   = str.Length / 2;
             bool   slcRx = false;
             try
             {
                 if (((this.comm._rxType == CommunicationManager.ReceiverType.SLC) || (this.comm._rxType == CommunicationManager.ReceiverType.TTB)) && (this.comm.MessageProtocol != "OSP"))
                 {
                     num++;
                     slcRx = true;
                 }
                 if (this.frmTransmitSerialMessageSsbRadioBtn.Checked)
                 {
                     if (this.comm._rxType == CommunicationManager.ReceiverType.SLC)
                     {
                         str = "EE" + str;
                     }
                 }
                 else if (!this.frmTransmitSerialMessageOspRadioBtn.Checked)
                 {
                     if (this.frmTransmitSerialMessageFRadioBtn.Checked)
                     {
                         str = "02" + str;
                         num++;
                     }
                     else if (this.frmTransmitSerialMessageAi3RadioBtn.Checked)
                     {
                         str = "01" + str;
                         num++;
                     }
                     else if (this.frmTransmitSerialMessageTTBRadioBtn.Checked)
                     {
                         str = "CC" + str;
                         num++;
                     }
                 }
                 builder.Append(num.ToString("X").PadLeft(4, '0'));
                 builder.Append(str);
                 builder.Append(this.comm.m_Protocols.GetChecksum(str, slcRx));
                 builder.Append("B0B3");
                 this.frmTransmitSerialMessageOutputText.Text = builder.ToString();
             }
             catch
             {
                 MessageBox.Show("Error in building message", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
             }
         }
     }
 }