// Build the menu void CMenuJoystick::Build() { // Make sure to call the base class CMenuBase::Build(); // m_pClientDE->CPrint("CMenuJoystick::Build called!"); // BLB TEMP CreateTitle("interface\\mainmenus\\options.pcx", IDS_MENU_TITLE_OPTIONS, m_pMainMenus->GetTitlePos()); SetOptionPos(m_pMainMenus->GetOptionsPos()); SetItemSpacing(5); SetScrollWrap(DFALSE); UseArrows(DTRUE, 300); m_bUseJoystick=g_pBloodClientShell->IsUseJoystick(); // check if the joystick has been disabled by the advanced menu console variables HCONSOLEVAR hVar = m_pClientDE->GetConsoleVar( "joystickdisable"); if (hVar != NULL) { if (m_pClientDE->GetVarValueFloat(hVar) == 1) { m_bUseJoystick = DFALSE; g_pBloodClientShell->SetUseJoystick(FALSE); } } // read in the JOYSTICK.CFG file m_pClientDE->ReadConfigFile ("joystick.cfg"); UpdateData(DFALSE); BuildAxisMenus(); // Update the enable/disable status of the controls UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TCmdOptDialog::FormShow(TObject *Sender) { OpenCmd->Text=Cmds[0]; CloseCmd->Text=Cmds[1]; ChkOpenCmd->Checked=CmdEna[0];; ChkCloseCmd->Checked=CmdEna[1];; UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TOptDialog::RefPosTypePChange(TObject *Sender) { TEdit *edit[]={RefPos1,RefPos2,RefPos3}; double pos[3]; GetPos(RefPosTypeF,edit,pos); SetPos(RefPosTypeP->ItemIndex,edit,pos); RefPosTypeF=RefPosTypeP->ItemIndex; UpdateEnable(); }
// callback on button-options ----------------------------------------------- void __fastcall TMainWindow::BtnOptionsClick(TObject *Sender) { int rnxfile=RnxFile; if (ConvOptDialog->ShowModal()!=mrOk) return; if (RnxFile!=rnxfile) { SetOutFiles(InFile->Text); } UpdateEnable(); }
// connect to external sources ---------------------------------------------- void __fastcall TPlot::Connect(void) { AnsiString s; char *cmd,*path,buff[MAXSTRPATH],*name[2]={"",""},*p; int i,mode=STR_MODE_R; trace(3,"Connect\n"); if (ConnectState) return; for (i=0;i<2;i++) { if (RtStream[i]==STR_NONE ) continue; else if (RtStream[i]==STR_SERIAL ) path=StrPaths[i][0].c_str(); else if (RtStream[i]==STR_FILE ) path=StrPaths[i][2].c_str(); else if (RtStream[i]<=STR_NTRIPCLI) path=StrPaths[i][1].c_str(); else continue; if (RtStream[i]==STR_FILE||!SolData[i].cyclic||SolData[i].nmax!=RtBuffSize+1) { Clear(); initsolbuf(SolData+i,1,RtBuffSize+1); } if (RtStream[i]==STR_SERIAL) mode|=STR_MODE_W; strcpy(buff,path); if ((p=strstr(buff,"::"))) *p='\0'; if ((p=strstr(buff,"/:"))) *p='\0'; if ((p=strstr(buff,"@"))) name[i]=p+1; else name[i]=buff; if (!stropen(Stream+i,RtStream[i],mode,path)) { ShowMsg(s.sprintf("connect error: %s",name)); ShowLegend(NULL); trace(1,"stream open error: ch=%d type=%d path=%s\n",i+1,RtStream[i],path); continue; } strsettimeout(Stream+i,RtTimeOutTime,RtReConnTime); if (StrCmdEna[i][0]) { cmd=StrCmds[i][0].c_str(); strwrite(Stream+i,(unsigned char *)cmd,strlen(cmd)); } ConnectState=1; } if (!ConnectState) return; if (Title!="") Caption=Title; else Caption=s.sprintf("CONNECT %s %s",name[0],name[1]); BtnConnect->Down=true; BtnSol1 ->Down=*name[0]; BtnSol2 ->Down=*name[1]; BtnSol12 ->Down=false; BtnShowTrack->Down=true; BtnFixHoriz->Down=true; UpdateEnable(); UpdateTime(); UpdatePlot(); }
// The right key was pressed void CMenuJoystick::OnRight() { // Call the base class CMenuBase::OnRight(); UpdateData(); // Update the enable/disable status of the controls UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TConvDialog::FormShow(TObject *Sender) { AnsiString s; Conversion->Checked=ConvEna; InFormat ->ItemIndex=ConvInp; OutFormat->ItemIndex=ConvOut; OutMsgs->Text=ConvMsg; Options->Text=ConvOpt; UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TConvOptDialog::FormShow(TObject *Sender) { AnsiString s; RnxVer->ItemIndex=MainWindow->RnxVer; RnxFile->Checked=MainWindow->RnxFile; RnxCode->Text=MainWindow->RnxCode; RunBy->Text=MainWindow->RunBy; Marker->Text=MainWindow->Marker; MarkerNo->Text=MainWindow->MarkerNo; MarkerType->Text=MainWindow->MarkerType; Name0->Text=MainWindow->Name[0]; Name1->Text=MainWindow->Name[1]; Rec0->Text=MainWindow->Rec[0]; Rec1->Text=MainWindow->Rec[1]; Rec2->Text=MainWindow->Rec[2]; Ant0->Text=MainWindow->Ant[0]; Ant1->Text=MainWindow->Ant[1]; Ant2->Text=MainWindow->Ant[2]; AppPos0->Text=s.sprintf("%.4f",MainWindow->AppPos[0]); AppPos1->Text=s.sprintf("%.4f",MainWindow->AppPos[1]); AppPos2->Text=s.sprintf("%.4f",MainWindow->AppPos[2]); AntDel0->Text=s.sprintf("%.4f",MainWindow->AntDel[0]); AntDel1->Text=s.sprintf("%.4f",MainWindow->AntDel[1]); AntDel2->Text=s.sprintf("%.4f",MainWindow->AntDel[2]); Comment0->Text=MainWindow->Comment[0]; Comment1->Text=MainWindow->Comment[1]; RcvOption->Text=MainWindow->RcvOption; for (int i=0;i<6;i++) CodeMask[i]=MainWindow->CodeMask[i]; AutoPos->Checked=MainWindow->AutoPos; ScanObs->Checked=MainWindow->ScanObs; OutIono->Checked=MainWindow->OutIono; OutTime->Checked=MainWindow->OutTime; OutLeaps->Checked=MainWindow->OutLeaps; Nav1->Checked=MainWindow->NavSys&SYS_GPS; Nav2->Checked=MainWindow->NavSys&SYS_GLO; Nav3->Checked=MainWindow->NavSys&SYS_GAL; Nav4->Checked=MainWindow->NavSys&SYS_QZS; Nav5->Checked=MainWindow->NavSys&SYS_SBS; Nav6->Checked=MainWindow->NavSys&SYS_CMP; Obs1->Checked=MainWindow->ObsType&OBSTYPE_PR; Obs2->Checked=MainWindow->ObsType&OBSTYPE_CP; Obs3->Checked=MainWindow->ObsType&OBSTYPE_DOP; Obs4->Checked=MainWindow->ObsType&OBSTYPE_SNR; Freq1->Checked=MainWindow->FreqType&FREQTYPE_L1; Freq2->Checked=MainWindow->FreqType&FREQTYPE_L2; Freq3->Checked=MainWindow->FreqType&FREQTYPE_L5; Freq4->Checked=MainWindow->FreqType&FREQTYPE_L6; Freq5->Checked=MainWindow->FreqType&FREQTYPE_L7; Freq6->Checked=MainWindow->FreqType&FREQTYPE_L8; ExSats->Text=MainWindow->ExSats; TraceLevel->ItemIndex=MainWindow->TraceLevel; UpdateEnable(); }
//--------------------------------------------------------------------------- __fastcall TConvOptDialog::TConvOptDialog(TComponent* Owner) : TForm(Owner) { AnsiString s; int glo=MAXPRNGLO,gal=MAXPRNGAL,qzs=MAXPRNQZS,cmp=MAXPRNCMP; if (glo<=0) Nav2->Enabled=false; if (gal<=0) Nav3->Enabled=false; if (qzs<=0) Nav4->Enabled=false; if (cmp<=0) Nav6->Enabled=false; UpdateEnable(); }
//--------------------------------------------------------------------------- __fastcall TOptDialog::TOptDialog(TComponent* Owner) : TForm(Owner) { AnsiString label,s; int freq[]={1,2,5,6,7,8},nglo=MAXPRNGLO,ngal=MAXPRNGAL,nqzs=MAXPRNQZS; int ncmp=MAXPRNCMP; PrcOpt=prcopt_default; SolOpt=solopt_default; UpdateEnable(); PosFont=new TFont; Freq->Items->Clear(); for (int i=0;i<NFREQ;i++) { label=label+(i>0?"+":"")+s.sprintf("L%d",freq[i]); Freq->Items->Add(label); } if (nglo<=0) NavSys2->Enabled=false; if (ngal<=0) NavSys3->Enabled=false; if (nqzs<=0) NavSys4->Enabled=false; if (ncmp<=0) NavSys6->Enabled=false; UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TLogStrDialog::FormShow(TObject *Sender) { Stream1C ->Checked =StreamC[0]; Stream2C ->Checked =StreamC[1]; Stream3C ->Checked =StreamC[2]; Stream1 ->ItemIndex=Stream[0]; Stream2 ->ItemIndex=Stream[1]; Stream3 ->ItemIndex=Stream[2]; FilePath1->Text =GetFilePath(Paths[0][2]); FilePath2->Text =GetFilePath(Paths[1][2]); FilePath3->Text =GetFilePath(Paths[2][2]); SwapIntv ->Text =SwapInterval; TimeTagC ->Checked =LogTimeTag; UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TSpanDialog::FormShow(TObject *Sender) { char ts[64],te[64]; AnsiString s; TimeStartF->Checked=TimeEna[0]; TimeEndF ->Checked=TimeEna[1]; TimeIntF ->Checked=TimeEna[2]; time2str(TimeStart,ts,0); ts[10]='\0'; time2str(TimeEnd, te,0); te[10]='\0'; TimeY1->Text=ts; TimeH1->Text=ts+11; TimeY2->Text=te; TimeH2->Text=te+11; EditTimeInt->Text=s.sprintf("%g",TimeInt); UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TFileOptDialog::FormShow(TObject *Sender) { AnsiString s; double speed=1.0,start=0.0,intv=0.0; char buff[1024]; char *p; strcpy(buff,Path.c_str()); ChkTimeTag->Caption=Opt?"TimeTag":"Time"; TimeSpeed->Visible=!Opt; TimeStart->Visible=!Opt; Label1 ->Caption=Opt?"Output File Path":"Input File Path"; Label2 ->Visible=!Opt; Label3 ->Visible=!Opt; Label4 ->Visible=Opt; Label5 ->Visible=Opt; SwapIntv ->Visible=Opt; BtnKey ->Visible=Opt; ChkTimeTag->Checked=false; SwapIntv ->Text=""; if (!Opt) { for (p=buff; p=strstr(p,"::"); p+=2) { if (*(p+2)=='T') ChkTimeTag->Checked=true; else if (*(p+2)=='+') sscanf(p+2,"+%lf",&start); else if (*(p+2)=='x') sscanf(p+2,"x%lf",&speed); } if (start<=0.0) start=0.0; if (speed<=0.0) speed=1.0; TimeSpeed->Text=s.sprintf("x%g",speed); TimeStart->Text=s.sprintf("%g", start); if ((p=strstr(buff,"::"))) *p='\0'; FilePath->Text=buff; } else { for (p=buff; p=strstr(p,"::"); p+=2) { if (*(p+2)=='T') ChkTimeTag->Checked=true; else if (*(p+2)=='S') sscanf(p+2,"S=%lf",&intv); } if (intv>0.0) SwapIntv->Text=s.sprintf("%.3g",intv); if ((p=strstr(buff,"::"))) *p='\0'; FilePath->Text=buff; } UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TFtpOptDialog::FormShow(TObject *Sender) { AnsiString s,cap[]={"FTP Option","HTTP Option"}; char buff[2048],*p,*q; char *addr,*file="",*user="",*passwd=""; int topts[4]={0,3600,0,0}; Caption=cap[Opt]; strcpy(buff,Path.c_str()); if ((p=strchr(buff,'/'))) { if ((q=strstr(p+1,"::"))) { *q='\0'; sscanf(q+2,"T=%d,%d,%d,%d",topts,topts+1,topts+2,topts+3); } file=p+1; *p='\0'; } if ((p=strrchr(buff,'@'))) { *p++='\0'; if ((q=strchr(buff,':'))) { *q='\0'; passwd=q+1; } *q='\0'; user=buff; } else p=buff; addr=p; Addr->Text=s.sprintf("%s/%s",addr,file); User->Text=user; Passwd->Text=passwd; PathOffset ->Text=s.sprintf("%.2g",topts[0]/3600.0); Interval ->Text=s.sprintf("%.2g",topts[1]/3600.0); Offset ->Text=s.sprintf("%.2g",topts[2]/3600.0); RetryInterval->Text=s.sprintf("%d",topts[3]); Addr->Items->Clear(); for (int i=0;i<MAXHIST;i++) { if (History[i]!="") Addr->Items->Add(History[i]); } UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TInputStrDialog::FormShow(TObject *Sender) { AnsiString s; StreamC1 ->Checked =StreamC[0]; StreamC2 ->Checked =StreamC[1]; StreamC3 ->Checked =StreamC[2]; Stream1 ->ItemIndex=Stream[0]; Stream2 ->ItemIndex=Stream[1]; Stream3 ->ItemIndex=Stream[2]; Format1 ->ItemIndex=Format[0]; Format2 ->ItemIndex=Format[1]<NRcv?Format[1]:NRcv+Format[1]-STRFMT_SP3; Format3 ->ItemIndex=Format[2]<NRcv?Format[2]:NRcv+Format[2]-STRFMT_SP3; FilePath1 ->Text =GetFilePath(Paths[0][2]); FilePath2 ->Text =GetFilePath(Paths[1][2]); FilePath3 ->Text =GetFilePath(Paths[2][2]); NmeaReqL ->ItemIndex=NmeaReq; TimeTagC ->Checked =TimeTag; TimeSpeedL->Text =TimeSpeed; TimeStartE->Text =TimeStart; NmeaPos1 ->Text =s.sprintf("%.9f",NmeaPos[0]); NmeaPos2 ->Text =s.sprintf("%.9f",NmeaPos[1]); UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TOptDialog::NavSys2Click(TObject *Sender) { UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TOptDialog::SolFormatChange(TObject *Sender) { UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TOptDialog::SetOpt(void) { AnsiString FieldSep_Text=FieldSep->Text; TEdit *editu[]={RovPos1,RovPos2,RovPos3}; TEdit *editr[]={RefPos1,RefPos2,RefPos3}; PrcOpt.mode =PosMode ->ItemIndex; PrcOpt.nf =Freq ->ItemIndex+1; PrcOpt.elmin =str2dbl(ElMask ->Text)*D2R; PrcOpt.dynamics =DynamicModel->ItemIndex; PrcOpt.tidecorr =TideCorr ->ItemIndex; PrcOpt.ionoopt =IonoOpt ->ItemIndex; PrcOpt.tropopt =TropOpt ->ItemIndex; PrcOpt.sateph =SatEphem ->ItemIndex; PrcOpt.modear =AmbRes ->ItemIndex; PrcOpt.glomodear =GloAmbRes ->ItemIndex; PrcOpt.thresar[0]=str2dbl(ValidThresAR->Text); PrcOpt.maxout =OutCntResetAmb->Text.ToInt(); PrcOpt.minlock =LockCntFixAmb->Text.ToInt(); PrcOpt.minfix =FixCntHoldAmb->Text.ToInt(); PrcOpt.elmaskar =str2dbl(ElMaskAR ->Text)*D2R; PrcOpt.elmaskhold=str2dbl(ElMaskHold ->Text)*D2R; PrcOpt.maxtdiff =str2dbl(MaxAgeDiff ->Text); PrcOpt.maxgdop =str2dbl(RejectGdop ->Text); PrcOpt.maxinno =str2dbl(RejectThres->Text); PrcOpt.thresslip =str2dbl(SlipThres ->Text); PrcOpt.niter =NumIter ->Text.ToInt(); PrcOpt.syncsol =SyncSol ->ItemIndex; ExSats =ExSatsE ->Text; PrcOpt.navsys =0; if (NavSys1->Checked) PrcOpt.navsys|=SYS_GPS; if (NavSys2->Checked) PrcOpt.navsys|=SYS_GLO; if (NavSys3->Checked) PrcOpt.navsys|=SYS_GAL; if (NavSys4->Checked) PrcOpt.navsys|=SYS_QZS; if (NavSys5->Checked) PrcOpt.navsys|=SYS_SBS; if (NavSys6->Checked) PrcOpt.navsys|=SYS_CMP; PrcOpt.posopt[0] =PosOpt1 ->Checked; PrcOpt.posopt[1] =PosOpt2 ->Checked; PrcOpt.posopt[2] =PosOpt3 ->Checked; PrcOpt.posopt[3] =PosOpt4 ->Checked; PrcOpt.posopt[4] =PosOpt5 ->Checked; SolOpt.posf =SolFormat ->ItemIndex; SolOpt.timef =TimeFormat->ItemIndex==0?0:1; SolOpt.times =TimeFormat->ItemIndex==0?0:TimeFormat->ItemIndex-1; SolOpt.timeu =(int)str2dbl(TimeDecimal->Text); SolOpt.degf =LatLonFormat->ItemIndex; strcpy(SolOpt.sep,FieldSep_Text.c_str()); SolOpt.outhead =OutputHead ->ItemIndex; SolOpt.outopt =OutputOpt ->ItemIndex; SolOpt.datum =OutputDatum ->ItemIndex; SolOpt.height =OutputHeight->ItemIndex; SolOpt.geoid =OutputGeoid ->ItemIndex; SolOpt.nmeaintv[0]=str2dbl(NmeaIntv1->Text); SolOpt.nmeaintv[1]=str2dbl(NmeaIntv2->Text); DebugStatusF =DebugStatus ->ItemIndex; DebugTraceF =DebugTrace ->ItemIndex; BaselineC =BaselineConst->Checked; Baseline[0] =str2dbl(BaselineLen->Text); Baseline[1] =str2dbl(BaselineSig->Text); PrcOpt.eratio[0] =str2dbl(MeasErrR1 ->Text); PrcOpt.eratio[1] =str2dbl(MeasErrR2 ->Text); PrcOpt.err[1] =str2dbl(MeasErr2 ->Text); PrcOpt.err[2] =str2dbl(MeasErr3 ->Text); PrcOpt.err[3] =str2dbl(MeasErr4 ->Text); PrcOpt.err[4] =str2dbl(MeasErr5 ->Text); PrcOpt.prn[0] =str2dbl(PrNoise1 ->Text); PrcOpt.prn[1] =str2dbl(PrNoise2 ->Text); PrcOpt.prn[2] =str2dbl(PrNoise3 ->Text); PrcOpt.prn[3] =str2dbl(PrNoise4 ->Text); PrcOpt.prn[4] =str2dbl(PrNoise5 ->Text); PrcOpt.sclkstab =str2dbl(SatClkStab->Text); RovPosTypeF =RovPosTypeP ->ItemIndex; RefPosTypeF =RefPosTypeP ->ItemIndex; RovAntPcvF =RovAntPcv ->Checked; RefAntPcvF =RefAntPcv ->Checked; RovAntF =RovAnt ->Text; RefAntF =RefAnt ->Text; RovAntDel[0] =str2dbl(RovAntE ->Text); RovAntDel[1] =str2dbl(RovAntN ->Text); RovAntDel[2] =str2dbl(RovAntU ->Text); RefAntDel[0] =str2dbl(RefAntE ->Text); RefAntDel[1] =str2dbl(RefAntN ->Text); RefAntDel[2] =str2dbl(RefAntU ->Text); GetPos(RovPosTypeP->ItemIndex,editu,RovPos); GetPos(RefPosTypeP->ItemIndex,editr,RefPos); SatPcvFileF =SatPcvFile ->Text; AntPcvFileF =AntPcvFile ->Text; StaPosFileF =StaPosFile ->Text; GeoidDataFileF =GeoidDataFile->Text; DCBFileF =DCBFile ->Text; EOPFileF =EOPFile ->Text; TLEFileF =TLEFile ->Text; TLESatFileF =TLESatFile ->Text; LocalDirectory =LocalDir ->Text; SvrCycle =SvrCycleE ->Text.ToInt(); TimeoutTime =TimeoutTimeE->Text.ToInt(); ReconTime =ReconTimeE ->Text.ToInt(); NmeaCycle =NmeaCycleE ->Text.ToInt(); FileSwapMargin =FileSwapMarginE->Text.ToInt(); SvrBuffSize =SvrBuffSizeE->Text.ToInt(); SolBuffSize =SolBuffSizeE->Text.ToInt(); SavedSol =SavedSolE ->Text.ToInt(); NavSelect =NavSelectS ->ItemIndex; PrcOpt.sbassatsel=SbasSatE ->Text.ToInt(); ProxyAddr =ProxyAddrE ->Text; MoniPort =MoniPortE ->Text.ToInt(); PanelStack =PanelStackE ->ItemIndex; PosFont->Assign(FontLabel->Font); UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TOptDialog::LoadOpt(AnsiString file) { int itype[]={STR_SERIAL,STR_TCPCLI,STR_TCPSVR,STR_NTRIPCLI,STR_FILE,STR_FTP,STR_HTTP}; int otype[]={STR_SERIAL,STR_TCPCLI,STR_TCPSVR,STR_NTRIPSVR,STR_FILE}; TEdit *editu[]={RovPos1,RovPos2,RovPos3}; TEdit *editr[]={RefPos1,RefPos2,RefPos3}; AnsiString s; char buff[1024]="",*p,id[32]; int sat; prcopt_t prcopt=prcopt_default; solopt_t solopt=solopt_default; filopt_t filopt={""}; resetsysopts(); if (!loadopts(file.c_str(),sysopts)|| !loadopts(file.c_str(),rcvopts)) return; getsysopts(&prcopt,&solopt,&filopt); for (int i=0;i<8;i++) { MainForm->StreamC[i]=strtype[i]!=STR_NONE; MainForm->Stream[i]=STR_NONE; for (int j=0;j<(i<3?7:5);j++) { if (strtype[i]!=(i<3?itype[j]:otype[j])) continue; MainForm->Stream[i]=j; break; } if (i<5) MainForm->Format[i]=strfmt[i]; if (strtype[i]==STR_SERIAL) { MainForm->Paths[i][0]=strpath[i]; } else if (strtype[i]==STR_FILE) { MainForm->Paths[i][2]=strpath[i]; } else if (strtype[i]<=STR_NTRIPCLI) { MainForm->Paths[i][1]=strpath[i]; } else if (strtype[i]<=STR_HTTP) { MainForm->Paths[i][3]=strpath[i]; } } MainForm->NmeaReq=nmeareq; MainForm->NmeaPos[0]=nmeapos[0]; MainForm->NmeaPos[1]=nmeapos[1]; SbasSatE ->Text =s.sprintf("%d",prcopt.sbassatsel); PosMode ->ItemIndex =prcopt.mode; Freq ->ItemIndex =prcopt.nf>NFREQ-1?NFREQ-1:prcopt.nf-1; Solution ->ItemIndex =prcopt.soltype; ElMask ->Text =s.sprintf("%.0f",prcopt.elmin*R2D); DynamicModel ->ItemIndex =prcopt.dynamics; TideCorr ->ItemIndex =prcopt.tidecorr; IonoOpt ->ItemIndex =prcopt.ionoopt; TropOpt ->ItemIndex =prcopt.tropopt; SatEphem ->ItemIndex =prcopt.sateph; ExSatsE ->Text =""; for (sat=1,p=buff;sat<=MAXSAT;sat++) { if (!prcopt.exsats[sat-1]) continue; satno2id(sat,id); p+=sprintf(p,"%s%s%s",p==buff?"":" ",prcopt.exsats[sat-1]==2?"+":"",id); } ExSatsE ->Text =buff; NavSys1 ->Checked =prcopt.navsys&SYS_GPS; NavSys2 ->Checked =prcopt.navsys&SYS_GLO; NavSys3 ->Checked =prcopt.navsys&SYS_GAL; NavSys4 ->Checked =prcopt.navsys&SYS_QZS; NavSys5 ->Checked =prcopt.navsys&SYS_SBS; NavSys6 ->Checked =prcopt.navsys&SYS_CMP; PosOpt1 ->Checked =prcopt.posopt[0]; PosOpt2 ->Checked =prcopt.posopt[1]; PosOpt3 ->Checked =prcopt.posopt[2]; PosOpt4 ->Checked =prcopt.posopt[3]; PosOpt5 ->Checked =prcopt.posopt[4]; AmbRes ->ItemIndex =prcopt.modear; GloAmbRes ->ItemIndex =prcopt.glomodear; ValidThresAR ->Text =s.sprintf("%.1f",prcopt.thresar[0]); OutCntResetAmb->Text =s.sprintf("%d" ,prcopt.maxout ); FixCntHoldAmb->Text =s.sprintf("%d" ,prcopt.minfix ); LockCntFixAmb->Text =s.sprintf("%d" ,prcopt.minlock ); ElMaskAR ->Text =s.sprintf("%.0f",prcopt.elmaskar*R2D); ElMaskHold ->Text =s.sprintf("%.0f",prcopt.elmaskhold*R2D); MaxAgeDiff ->Text =s.sprintf("%.1f",prcopt.maxtdiff ); RejectGdop ->Text =s.sprintf("%.1f",prcopt.maxgdop ); RejectThres ->Text =s.sprintf("%.1f",prcopt.maxinno ); SlipThres ->Text =s.sprintf("%.3f",prcopt.thresslip); NumIter ->Text =s.sprintf("%d", prcopt.niter ); SyncSol ->ItemIndex =prcopt.syncsol; BaselineLen ->Text =s.sprintf("%.3f",prcopt.baseline[0]); BaselineSig ->Text =s.sprintf("%.3f",prcopt.baseline[1]); BaselineConst->Checked =prcopt.baseline[0]>0.0; SolFormat ->ItemIndex =solopt.posf; TimeFormat ->ItemIndex =solopt.timef==0?0:solopt.times+1; TimeDecimal ->Text =s.sprintf("%d",solopt.timeu); LatLonFormat ->ItemIndex =solopt.degf; FieldSep ->Text =solopt.sep; OutputHead ->ItemIndex =solopt.outhead; OutputOpt ->ItemIndex =solopt.outopt; OutputDatum ->ItemIndex =solopt.datum; OutputHeight ->ItemIndex =solopt.height; OutputGeoid ->ItemIndex =solopt.geoid; NmeaIntv1 ->Text =s.sprintf("%.2g",solopt.nmeaintv[0]); NmeaIntv2 ->Text =s.sprintf("%.2g",solopt.nmeaintv[1]); DebugTrace ->ItemIndex =solopt.trace; DebugStatus ->ItemIndex =solopt.sstat; MeasErrR1 ->Text =s.sprintf("%.1f",prcopt.eratio[0]); MeasErrR2 ->Text =s.sprintf("%.3f",prcopt.eratio[1]); MeasErr2 ->Text =s.sprintf("%.3f",prcopt.err[1]); MeasErr3 ->Text =s.sprintf("%.3f",prcopt.err[2]); MeasErr4 ->Text =s.sprintf("%.3f",prcopt.err[3]); MeasErr5 ->Text =s.sprintf("%.3f",prcopt.err[4]); SatClkStab ->Text =s.sprintf("%.2E",prcopt.sclkstab); PrNoise1 ->Text =s.sprintf("%.2E",prcopt.prn[0]); PrNoise2 ->Text =s.sprintf("%.2E",prcopt.prn[1]); PrNoise3 ->Text =s.sprintf("%.2E",prcopt.prn[2]); PrNoise4 ->Text =s.sprintf("%.2E",prcopt.prn[3]); PrNoise5 ->Text =s.sprintf("%.2E",prcopt.prn[4]); RovAntPcv ->Checked =*prcopt.anttype[0]; RefAntPcv ->Checked =*prcopt.anttype[1]; RovAnt ->Text =prcopt.anttype[0]; RefAnt ->Text =prcopt.anttype[1]; RovAntE ->Text =s.sprintf("%.4f",prcopt.antdel[0][0]); RovAntN ->Text =s.sprintf("%.4f",prcopt.antdel[0][1]); RovAntU ->Text =s.sprintf("%.4f",prcopt.antdel[0][2]); RefAntE ->Text =s.sprintf("%.4f",prcopt.antdel[1][0]); RefAntN ->Text =s.sprintf("%.4f",prcopt.antdel[1][1]); RefAntU ->Text =s.sprintf("%.4f",prcopt.antdel[1][2]); RovPosTypeP ->ItemIndex =prcopt.rovpos==0?0:3; RefPosTypeP ->ItemIndex =prcopt.refpos==0?0:3; RovPosTypeF =RovPosTypeP->ItemIndex; RefPosTypeF =RefPosTypeP->ItemIndex; SetPos(RovPosTypeP->ItemIndex,editu,prcopt.ru); SetPos(RefPosTypeP->ItemIndex,editr,prcopt.rb); SatPcvFile ->Text =filopt.satantp; AntPcvFile ->Text =filopt.rcvantp; StaPosFile ->Text =filopt.stapos; GeoidDataFile->Text =filopt.geoid; DCBFile ->Text =filopt.dcb; LocalDir ->Text =filopt.tempdir; ReadAntList(); UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TOptDialog::DgpsCorrLChange(TObject *Sender) { UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TOptDialog::GetOpt(void) { TEdit *editu[]={RovPos1,RovPos2,RovPos3}; TEdit *editr[]={RefPos1,RefPos2,RefPos3}; AnsiString s; PosMode ->ItemIndex=PrcOpt.mode; Freq ->ItemIndex=PrcOpt.nf-1>NFREQ-1?NFREQ-1:PrcOpt.nf-1; ElMask ->Text =s.sprintf("%.0f",PrcOpt.elmin*R2D); DynamicModel ->ItemIndex=PrcOpt.dynamics; TideCorr ->ItemIndex=PrcOpt.tidecorr; IonoOpt ->ItemIndex=PrcOpt.ionoopt; TropOpt ->ItemIndex=PrcOpt.tropopt; SatEphem ->ItemIndex=PrcOpt.sateph; AmbRes ->ItemIndex=PrcOpt.modear; GloAmbRes ->ItemIndex=PrcOpt.glomodear; ValidThresAR ->Text =s.sprintf("%.1f",PrcOpt.thresar[0]); OutCntResetAmb->Text =s.sprintf("%d", PrcOpt.maxout); LockCntFixAmb->Text =s.sprintf("%d", PrcOpt.minlock); FixCntHoldAmb->Text =s.sprintf("%d", PrcOpt.minfix); ElMaskAR ->Text =s.sprintf("%.0f",PrcOpt.elmaskar*R2D); ElMaskHold ->Text =s.sprintf("%.0f",PrcOpt.elmaskhold*R2D); MaxAgeDiff ->Text =s.sprintf("%.1f",PrcOpt.maxtdiff); RejectGdop ->Text =s.sprintf("%.1f",PrcOpt.maxgdop); RejectThres ->Text =s.sprintf("%.1f",PrcOpt.maxinno); SlipThres ->Text =s.sprintf("%.3f",PrcOpt.thresslip); NumIter ->Text =s.sprintf("%d", PrcOpt.niter); SyncSol ->ItemIndex=PrcOpt.syncsol; ExSatsE ->Text =ExSats; NavSys1 ->Checked =PrcOpt.navsys&SYS_GPS; NavSys2 ->Checked =PrcOpt.navsys&SYS_GLO; NavSys3 ->Checked =PrcOpt.navsys&SYS_GAL; NavSys4 ->Checked =PrcOpt.navsys&SYS_QZS; NavSys5 ->Checked =PrcOpt.navsys&SYS_SBS; NavSys6 ->Checked =PrcOpt.navsys&SYS_CMP; PosOpt1 ->Checked =PrcOpt.posopt[0]; PosOpt2 ->Checked =PrcOpt.posopt[1]; PosOpt3 ->Checked =PrcOpt.posopt[2]; PosOpt4 ->Checked =PrcOpt.posopt[3]; PosOpt5 ->Checked =PrcOpt.posopt[4]; SolFormat ->ItemIndex=SolOpt.posf; TimeFormat ->ItemIndex=SolOpt.timef==0?0:SolOpt.times+1; TimeDecimal ->Text =s.sprintf("%d",SolOpt.timeu); LatLonFormat ->ItemIndex=SolOpt.degf; FieldSep ->Text =SolOpt.sep; OutputHead ->ItemIndex=SolOpt.outhead; OutputOpt ->ItemIndex=SolOpt.outopt; OutputDatum ->ItemIndex=SolOpt.datum; OutputHeight ->ItemIndex=SolOpt.height; OutputGeoid ->ItemIndex=SolOpt.geoid; NmeaIntv1 ->Text =s.sprintf("%.2g",SolOpt.nmeaintv[0]); NmeaIntv2 ->Text =s.sprintf("%.2g",SolOpt.nmeaintv[1]); DebugStatus ->ItemIndex=DebugStatusF; DebugTrace ->ItemIndex=DebugTraceF; BaselineConst->Checked =BaselineC; BaselineLen->Text =s.sprintf("%.3f",Baseline[0]); BaselineSig->Text =s.sprintf("%.3f",Baseline[1]); MeasErrR1 ->Text =s.sprintf("%.1f",PrcOpt.eratio[0]); MeasErrR2 ->Text =s.sprintf("%.1f",PrcOpt.eratio[1]); MeasErr2 ->Text =s.sprintf("%.3f",PrcOpt.err[1]); MeasErr3 ->Text =s.sprintf("%.3f",PrcOpt.err[2]); MeasErr4 ->Text =s.sprintf("%.3f",PrcOpt.err[3]); MeasErr5 ->Text =s.sprintf("%.3f",PrcOpt.err[4]); PrNoise1 ->Text =s.sprintf("%.2E",PrcOpt.prn[0]); PrNoise2 ->Text =s.sprintf("%.2E",PrcOpt.prn[1]); PrNoise3 ->Text =s.sprintf("%.2E",PrcOpt.prn[2]); PrNoise4 ->Text =s.sprintf("%.2E",PrcOpt.prn[3]); PrNoise5 ->Text =s.sprintf("%.2E",PrcOpt.prn[4]); SatClkStab ->Text =s.sprintf("%.2E",PrcOpt.sclkstab); RovPosTypeP ->ItemIndex=RovPosTypeF; RefPosTypeP ->ItemIndex=RefPosTypeF; RovAntPcv ->Checked =RovAntPcvF; RefAntPcv ->Checked =RefAntPcvF; RovAnt ->Text =RovAntF; RefAnt ->Text =RefAntF; RovAntE ->Text =s.sprintf("%.4f",RovAntDel[0]); RovAntN ->Text =s.sprintf("%.4f",RovAntDel[1]); RovAntU ->Text =s.sprintf("%.4f",RovAntDel[2]); RefAntE ->Text =s.sprintf("%.4f",RefAntDel[0]); RefAntN ->Text =s.sprintf("%.4f",RefAntDel[1]); RefAntU ->Text =s.sprintf("%.4f",RefAntDel[2]); SetPos(RovPosTypeP->ItemIndex,editu,RovPos); SetPos(RefPosTypeP->ItemIndex,editr,RefPos); SatPcvFile ->Text =SatPcvFileF; AntPcvFile ->Text =AntPcvFileF; StaPosFile ->Text =StaPosFileF; GeoidDataFile->Text =GeoidDataFileF; DCBFile ->Text =DCBFileF; EOPFile ->Text =EOPFileF; TLEFile ->Text =TLEFileF; TLESatFile ->Text =TLESatFileF; LocalDir ->Text =LocalDirectory; ReadAntList(); SvrCycleE ->Text =s.sprintf("%d",SvrCycle); TimeoutTimeE ->Text =s.sprintf("%d",TimeoutTime); ReconTimeE ->Text =s.sprintf("%d",ReconTime); NmeaCycleE ->Text =s.sprintf("%d",NmeaCycle); FileSwapMarginE->Text =s.sprintf("%d",FileSwapMargin); SvrBuffSizeE ->Text =s.sprintf("%d",SvrBuffSize); SolBuffSizeE ->Text =s.sprintf("%d",SolBuffSize); SavedSolE ->Text =s.sprintf("%d",SavedSol); NavSelectS ->ItemIndex=NavSelect; SbasSatE ->Text =s.sprintf("%d",PrcOpt.sbassatsel); ProxyAddrE ->Text =ProxyAddr; MoniPortE ->Text =s.sprintf("%d",MoniPort); SolBuffSizeE ->Text =s.sprintf("%d",SolBuffSize); PanelStackE ->ItemIndex=PanelStack; FontLabel->Font->Assign(PosFont); FontLabel->Caption=FontLabel->Font->Name+s.sprintf(" %dpt",FontLabel->Font->Size); UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TOptDialog::OutputHeightClick(TObject *Sender) { UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TOptDialog::NmeaReqCClick(TObject *Sender) { UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TOptDialog::IntpRefObsClick(TObject *Sender) { UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TOptDialog::RefPosClick(TObject *Sender) { UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TOptDialog::SatClkCorrClick(TObject *Sender) { UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TOptDialog::RovAntPcvClick(TObject *Sender) { UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TOptDialog::AmbResChange(TObject *Sender) { UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TOptDialog::PosModeChange(TObject *Sender) { UpdateEnable(); }
//--------------------------------------------------------------------------- void __fastcall TOptDialog::BaselineConstClick(TObject *Sender) { UpdateEnable(); }