public bool CalcPosition(SettleSoundFile settleSoundFile, SonarConfig sc, RawPositionInfo raw, float longitude, float latitude) { if (settleSoundFile != null && sc != null && raw!=null) { try { scConfig = sc; this.raw = raw; USBL_GuiWei Position_Guiwei = new USBL_GuiWei(raw.XDistance, raw.YDistance, raw.ZDistance, raw.Heave, raw.Heading, raw.Pitch, raw.Roll, longitude, latitude, sc.SonarGPSx, sc.SonarGPSy, sc.SonarGPSz, raw.TravelTime, sc.SonarDepth, settleSoundFile.SVPd, settleSoundFile.SVPc); //USBL_GuiWei Position_Guiwei = new USBL_GuiWei((float)0.4785, (float)-0.5465, (float)-6.7128, raw.Heave, (float)48.7943, (float)0.1944, 0, longitude, latitude, sc.SonarGPSx, sc.SonarGPSy, sc.SonarGPSz, (float)0.0045, sc.SonarDepth, settleSoundFile.SVPd, settleSoundFile.SVPc); //USBL_GuiWei Position_Guiwei = new USBL_GuiWei((float)0.6391, (float)-0.0549, (float)-6.9063, raw.Heave, (float)48.73, (float)0.19, 0, longitude, latitude, sc.SonarGPSx, sc.SonarGPSy, sc.SonarGPSz, (float)0.0046, sc.SonarDepth, settleSoundFile.SVPd, settleSoundFile.SVPc); AjustLat = (float)Position_Guiwei.LatTarget; AjustLong = (float)Position_Guiwei.LonTarget; Noise = raw.Noise; Status = raw.Status; XAjust = (float)Position_Guiwei.x_local; YAjust = (float)Position_Guiwei.y_local; ZAjust = (float)Position_Guiwei.z_local; } catch (Exception) { return false; } return true; } return false; }
public bool CalcPosition(SettleSoundFile settleSoundFile, SonarConfig sc, RawPositionInfo raw, float longitude, float latitude) { if (settleSoundFile != null && sc != null && raw != null) { try { scConfig = sc; this.raw = raw; USBL_GuiWei Position_Guiwei = new USBL_GuiWei(raw.XDistance, raw.YDistance, raw.ZDistance, raw.Heave, raw.Heading, raw.Pitch, raw.Roll, longitude, latitude, sc.SonarGPSx, sc.SonarGPSy, sc.SonarGPSz, raw.TravelTime, sc.SonarDepth, settleSoundFile.SVPd, settleSoundFile.SVPc); //USBL_GuiWei Position_Guiwei = new USBL_GuiWei((float)0.4785, (float)-0.5465, (float)-6.7128, raw.Heave, (float)48.7943, (float)0.1944, 0, longitude, latitude, sc.SonarGPSx, sc.SonarGPSy, sc.SonarGPSz, (float)0.0045, sc.SonarDepth, settleSoundFile.SVPd, settleSoundFile.SVPc); //USBL_GuiWei Position_Guiwei = new USBL_GuiWei((float)0.6391, (float)-0.0549, (float)-6.9063, raw.Heave, (float)48.73, (float)0.19, 0, longitude, latitude, sc.SonarGPSx, sc.SonarGPSy, sc.SonarGPSz, (float)0.0046, sc.SonarDepth, settleSoundFile.SVPd, settleSoundFile.SVPc); AjustLat = (float)Position_Guiwei.LatTarget; AjustLong = (float)Position_Guiwei.LonTarget; Noise = raw.Noise; Status = raw.Status; XAjust = (float)Position_Guiwei.x_local; YAjust = (float)Position_Guiwei.y_local; ZAjust = (float)Position_Guiwei.z_local; } catch (Exception) { return(false); } return(true); } return(false); }
public AjustPositionInfo() { scConfig = new SonarConfig(); raw = new RawPositionInfo(); }
private void ExecuteSaveAsCommand(object sender, ExecutedRoutedEventArgs eventArgs) { try { var sc = new SonarConfig(); sc.VelCmd = SurVelSrcIndex; if (AvgVelIndex == 1) sc.VelCmd = sc.VelCmd | 0x04; sc.SurVel = SurVel; sc.AvgVel = AvgVel; sc.FixedGain = FixedGain; sc.TVGCmd = TVGCmd; sc.FixedTVG = FixedTVG; sc.TVGSampling = TVGSampling; sc.TVGSamples = TVGSamples; sc.TVGA1 = TVGA1; sc.TVGA2 = TVGA2; sc.TVGA3 = TVGA3; sc.PingPeriod = PingPeriod; sc.ADSaved = ADSaved; sc.PoseSaved = PoseSaved; sc.PosSaved = PosSaved; sc.SonarDepth = SonarDepth; sc.SonarGPSx = SonarGPSx; sc.SonarGPSy = SonarGPSy; sc.SonarGPSz = SonarGPSz; sc.Pitchfixed = Pitchfixed; sc.Rollfixed = Rollfixed; sc.Headingfixed = Headingfixed; ///////////////////////////////////////////////////////////////////////////////////// SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "参数文件 (*.dat)|*.dat"; saveFileDialog.FilterIndex = 2; saveFileDialog.Title = "保存参数文件"; saveFileDialog.RestoreDirectory = true; saveFileDialog.OverwritePrompt = true; saveFileDialog.ValidateNames = true; if (saveFileDialog.ShowDialog() == DialogResult.OK) { if (saveFileDialog.FileName!="") { var bw = new FileStream(saveFileDialog.FileName, FileMode.OpenOrCreate); bw.Write(sc.SavePackage(), 0, sc.SavePackage().Length); bw.Close(); } } } catch (Exception ex) { UnitCore.Instance.EventAggregator.PublishMessage(new ErrorEvent(ex, LogType.Both)); return; } }
private void ExecuteLoadCommand(object sender, ExecutedRoutedEventArgs eventArgs) { try { var sc = new SonarConfig(); Microsoft.Win32.OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.CheckFileExists = true; openFileDialog.CheckPathExists = true; openFileDialog.Title = "选择参数文件"; openFileDialog.Filter = "参数文件 (*.dat)|*.dat"; if (openFileDialog.ShowDialog() == true) { if (!sc.Parse(File.ReadAllBytes(openFileDialog.FileName))) throw new Exception("声纳参数读取失败"); } else { return; } uint velcmd = sc.VelCmd; SurVelSrcIndex = velcmd & 0x03; AvgVelIndex = (velcmd>>2) & 0x01; SurVel = sc.SurVel; AvgVel = sc.AvgVel; FixedGain = sc.FixedGain; TVGCmd = sc.TVGCmd; FixedTVG = sc.FixedTVG; TVGSampling = sc.TVGSampling; TVGSamples = sc.TVGSamples; TVGA1 = sc.TVGA1; TVGA2 = sc.TVGA2; TVGA3 = sc.TVGA3; PingPeriod = sc.PingPeriod; ADSaved = sc.ADSaved; PoseSaved = sc.PoseSaved; PosSaved = sc.PosSaved; SonarDepth = sc.SonarDepth; SonarGPSx = sc.SonarGPSx; SonarGPSy = sc.SonarGPSy; SonarGPSz = sc.SonarGPSz; Pitchfixed = sc.Pitchfixed; Rollfixed = sc.Rollfixed; Headingfixed = sc.Headingfixed; } catch (Exception ex) { UnitCore.Instance.EventAggregator.PublishMessage(new ErrorEvent(ex, LogType.Both)); return; } }
public void SaveSonarSetting(SonarConfig scConfig) { if (SonarSetting == null) { var MyExecPath = System.IO.Path.GetDirectoryName( System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName); MyExecPath += "SonarConfig"; SonarSetting = new FileStream(MyExecPath,FileMode.OpenOrCreate); } SonarSetting.Write(scConfig.SavePackage(), 0, 288); }
public void SaveSonarSetting(SonarConfig scConfig) { TraceFile.Instance.SaveSonarSetting(scConfig); }