diff --git a/app/rtkplot/plotcmn.cpp b/app/rtkplot/plotcmn.cpp index 7cb1fb05bd2f1b1e85f2c94f9aebc8140d712fd4..077588bd91fe210c85603466d31c084421f728f3 100644 --- a/app/rtkplot/plotcmn.cpp +++ b/app/rtkplot/plotcmn.cpp @@ -294,8 +294,8 @@ TColor __fastcall TPlot::ObsColor(const obsd_t *obs, double az, double el) { TColor color=clBlack; AnsiString ObsType_Text; - char *code="",*codeType=""; - int i,frq,frqType,sys; + char *code=""; + int i; trace(4,"ObsColor\n"); @@ -303,22 +303,18 @@ TColor __fastcall TPlot::ObsColor(const obsd_t *obs, double az, double el) if (PlotType==PLOT_SNR||PlotType==PLOT_SNRE) { ObsType_Text=ObsType2->Text; - codeType=ObsType_Text.c_str()+1; - frqType=ObsType2->ItemIndex; + code=ObsType_Text.c_str()+1; } else if (ObsType->ItemIndex) { ObsType_Text=ObsType->Text; - codeType=ObsType_Text.c_str()+1; - frqType=ObsType->ItemIndex; + code=ObsType_Text.c_str()+1; } if (SimObs) { color=SysColor(obs->sat); } - else if (*codeType) { + else if (*code) { for (i=0;i<NFREQ+NEXOBS;i++) { - sys=satsys(obs->sat,NULL); - code=code2obs(sys,obs->code[i],&frq); - if (frq!=frqType&&!strstr(code,codeType)) continue; + if (!strstr(code2obs(obs->code[i],NULL),code)) continue; color=SnrColor(obs->SNR[i]*0.25); break; } diff --git a/app/rtkplot/plotdata.cpp b/app/rtkplot/plotdata.cpp index 0e70b7c18a92a9cff6b20d0d276aece1714903a2..a9f37222ef5737767aa79d5caf6810d4cd5eb801 100644 --- a/app/rtkplot/plotdata.cpp +++ b/app/rtkplot/plotdata.cpp @@ -936,7 +936,7 @@ void __fastcall TPlot::SaveSnrMp(AnsiString file) if (Obs.data[j].sat!=i+1) continue; for (k=0;k<NFREQ+NEXOBS;k++) { - if (strstr(code2obs(0,Obs.data[j].code[k],NULL),code)) break; + if (strstr(code2obs(Obs.data[j].code[k],NULL),code)) break; } if (k>=NFREQ+NEXOBS) continue; @@ -1203,10 +1203,14 @@ void __fastcall TPlot::UpdateMp(void) for (j=0;j<NFREQ+NEXOBS;j++) { Mp[j][i]=0.0; - code2obs(sys,data->code[j],&f1); - - if (sys==SYS_GAL) f2=f1==1?3:1; /* E1/E5b */ - else if (sys==SYS_SBS) f2=f1==1?4:1; /* L1/L5 */ + code2obs(data->code[j],&f1); + + if (sys==SYS_CMP) { + if (f1==5) f1=2; /* B2 */ + else if (f1==4) f1=3; /* B3 */ + } + if (sys==SYS_GAL) f2=f1==1?2:1; /* E1/E5b */ + else if (sys==SYS_SBS) f2=f1==1?3:1; /* L1/L5 */ else if (sys==SYS_CMP) f2=f1==1?2:1; /* B1/B2 */ else f2=f1==1?2:1; /* L1/L2 */ @@ -1227,8 +1231,12 @@ void __fastcall TPlot::UpdateMp(void) for (j=k=n=0,B=0.0;j<Obs.n;j++) { if (Obs.data[j].sat!=sat) continue; - code2obs(sys,Obs.data[j].code[i],&f1); - + code2obs(Obs.data[j].code[i],&f1); + + if (sys==SYS_CMP) { + if (f1==5) f1=2; /* B2 */ + else if (f1==4) f1=3; /* B3 */ + } if (sys==SYS_GAL) f2=f1==1?3:1; else if (sys==SYS_CMP) f2=f1==1?2:1; else f2=f1==1?2:1; diff --git a/app/rtkplot/plotdraw.cpp b/app/rtkplot/plotdraw.cpp index 147e4be59184dcb4c69cc652b9a10392a9ffb3d7..9de4ca8cbdabdab6c947b4d674534eb771233c5e 100644 --- a/app/rtkplot/plotdraw.cpp +++ b/app/rtkplot/plotdraw.cpp @@ -65,32 +65,6 @@ void __fastcall TPlot::UpdateDisp(void) } Flush=0; } -// check ObsType for code or freq match --------------------------------------------- -int __fastcall TPlot::CheckObsTypeForMatch(const obsd_t *obs,int i) -{ - AnsiString ObsTypeText=ObsType->Text; - char *obs1, *obsType; - int frq,frqType,sys; - - obsType=ObsTypeText.c_str()+1; - frqType=ObsType->ItemIndex; - sys=satsys(obs->sat,NULL); - obs1=code2obs(sys,obs->code[i],&frq); - return frq==frqType||strstr(obs1,obsType); -} -// check ObsType2 for code or freq match --------------------------------------------- -int __fastcall TPlot::CheckObsType2ForMatch(const obsd_t *obs,int i) -{ - AnsiString ObsTypeText=ObsType2->Text; - char *obs1, *obsType; - int frq,frqType,sys; - - obsType=ObsTypeText.c_str()+1; - frqType=ObsType->ItemIndex; - sys=satsys(obs->sat,NULL); - obs1=code2obs(sys,obs->code[i],&frq); - return frq==frqType||strstr(obs1,obsType); -} // draw track-plot ---------------------------------------------------------- void __fastcall TPlot::DrawTrk(int level) { @@ -280,7 +254,7 @@ void __fastcall TPlot::DrawTrk(int level) GraphT->ToPoint(xt,yt,p1); DrawMark(GraphT,p1,5,CColor[2],20,0); } - // update geview and gmview center + // update geview and gmview center if (level) { if (norm(OPos,3)>0.0) { GraphT->GetCent(xt,yt); @@ -290,9 +264,9 @@ void __fastcall TPlot::DrawTrk(int level) enu2ecef(opos,enu,rr); for (i=0;i<3;i++) rr[i]+=OPos[i]; ecef2pos(rr,cent); - GoogleMapView ->SetCent(cent[0]*R2D,cent[1]*R2D); - } - Refresh_GEView(); + GoogleMapView ->SetCent(cent[0]*R2D,cent[1]*R2D); + } + Refresh_GEView(); } } // draw map-image on track-plot --------------------------------------------- @@ -1026,8 +1000,8 @@ void __fastcall TPlot::DrawObsSlip(double *yp) if (!SatSel[obs->sat-1]) continue; slip=0; for (j=0;j<NFREQ+NEXOBS;j++) { - if ((!*code||CheckObsTypeForMatch(obs,j))&&(obs->LLI[j]&2)) - slip=1; + if ((!*code||strstr(code2obs(obs->code[j],NULL),code))&& + (obs->LLI[j]&2)) slip=1; } if (!slip) continue; if (!GraphR->ToPoint(TimePos(obs->time),yp[obs->sat-1],ps[0])) continue; @@ -1046,9 +1020,8 @@ void __fastcall TPlot::DrawObsSlip(double *yp) slip=0; if (ShowSlip==2) { // LLI for (j=0;j<NFREQ+NEXOBS;j++) { - if ((!*code||CheckObsTypeForMatch(obs,j))&& - (obs->LLI[j]&1)) - slip=1; + if ((!*code||strstr(code2obs(obs->code[j],NULL),code))&& + (obs->LLI[j]&1)) slip=1; } } else if (!*code||!strcmp(code,"1")||!strcmp(code,"2")) { @@ -1238,7 +1211,8 @@ void __fastcall TPlot::DrawSky(int level) slip=0; if (ShowSlip==2) { // LLI for (j=0;j<NFREQ+NEXOBS;j++) { - if ((!*code||CheckObsTypeForMatch(obs,j))&&(obs->LLI[j]&1)) slip=1; + if ((!*code||strstr(code2obs(obs->code[j],NULL),code))&& + (obs->LLI[j]&1)) slip=1; } } else if (!*code||!strcmp(code,"1")||!strcmp(code,"2")) { @@ -1332,14 +1306,14 @@ void __fastcall TPlot::DrawSky(int level) } else { for (j=0;j<NFREQ+NEXOBS;j++) { - if (CheckObsTypeForMatch(obs,j)) break; + if (strstr(code2obs(obs->code[j],NULL),code)) break; } if (j>=NFREQ+NEXOBS) continue; - + s+=ss.sprintf("%s%s%s : %04.1f : %d : %s",obs->P[j]==0.0?"-":"C", obs->L[j]==0.0?"-":"L",obs->D[j]==0.0?"-":"D", obs->SNR[j]*0.25,obs->LLI[j], - code2obs(0,obs->code[j],NULL)); + code2obs(obs->code[j],NULL)); } TColor col=ObsColor(obs,Az[i],El[i]); p2.y+=hh; @@ -1590,7 +1564,7 @@ void __fastcall TPlot::DrawSnr(int level) if (Obs.data[j].sat!=sat) continue; for (k=0;k<NFREQ+NEXOBS;k++) { - if (CheckObsType2ForMatch(&Obs.data[j],k)) break; + if (strstr(code2obs(Obs.data[j].code[k],NULL),code)) break; } if (k>=NFREQ+NEXOBS) continue; @@ -1733,7 +1707,7 @@ void __fastcall TPlot::DrawSnrE(int level) if (Obs.data[j].sat!=sat) continue; for (k=0;k<NFREQ+NEXOBS;k++) { - if (CheckObsType2ForMatch(&Obs.data[j],k)) break; + if (strstr(code2obs(Obs.data[j].code[k],NULL),code)) break; } if (k>=NFREQ+NEXOBS) continue; if (El[j]<=0.0) continue; @@ -1855,7 +1829,7 @@ void __fastcall TPlot::DrawMpS(int level) if (Obs.data[i].sat!=sat) continue; for (j=0;j<NFREQ+NEXOBS;j++) { - if (CheckObsType2ForMatch(&Obs.data[i],j)) break; + if (strstr(code2obs(Obs.data[i].code[j],NULL),code)) break; } if (j>=NFREQ+NEXOBS) continue; if (El[i]<=0.0) continue; @@ -1881,7 +1855,7 @@ void __fastcall TPlot::DrawMpS(int level) obs=&Obs.data[i]; if (SatMask[obs->sat-1]||!SatSel[obs->sat-1]||El[i]<=0.0) continue; for (j=0;j<NFREQ+NEXOBS;j++) { - if (CheckObsTypeForMatch(obs,j)) break; + if (strstr(code2obs(obs->code[j],NULL),code)) break; } if (j>=NFREQ+NEXOBS) continue; col=MpColor(!Mp[j]?0.0:Mp[j][i]); @@ -2091,21 +2065,21 @@ void __fastcall TPlot::Refresh_GEView(void) sol=getsol(SolData+1,SolIndex[1]); ecef2pos(sol->rr,pos); pos[2]-=geoidh(pos); - GoogleMapView->SetMark(2,pos); + GoogleMapView->SetMark(2,pos); GoogleMapView->ShowMark(2); } else { - GoogleMapView->HideMark(2); + GoogleMapView->HideMark(2); } if (BtnSol1->Down&&SolData[0].n>0) { sol=getsol(SolData,SolIndex[0]); ecef2pos(sol->rr,pos); pos[2]-=geoidh(pos); - GoogleMapView->SetMark(1,pos); + GoogleMapView->SetMark(1,pos); GoogleMapView->ShowMark(1); } else { - GoogleMapView->HideMark(1); + GoogleMapView->HideMark(1); } // update heading if (opts[10]&&norm(pos,3)>0.0) { @@ -2121,7 +2095,7 @@ void __fastcall TPlot::Refresh_GEView(void) if (GEHeading<-180.0) GEHeading+=360.0; else if (GEHeading> 180.0) GEHeading-=360.0; } - delete vel; + delete vel; } } else { diff --git a/app/rtkplot/plotinfo.cpp b/app/rtkplot/plotinfo.cpp index 9d849d9a762df622536a273d63265ce5fb94e44f..2b0e67eff88c63491a0dce5c2fa869403732e871 100644 --- a/app/rtkplot/plotinfo.cpp +++ b/app/rtkplot/plotinfo.cpp @@ -318,8 +318,7 @@ void __fastcall TPlot::UpdateSatList(void) void __fastcall TPlot::UpdateObsType(void) { AnsiString s; - char *codes[MAXCODE+1]; - const char *freqs[]={"L1","L2/E5b","L5","E6","E5ab"}; + char *codes[MAXCODE+1],freqs[]="125678"; int i,j,n=0,cmask[MAXCODE+1]={0},fmask[6]={0}; trace(3,"UpdateObsType\n"); @@ -329,8 +328,7 @@ void __fastcall TPlot::UpdateObsType(void) } for (i=1;i<=MAXCODE;i++) { if (!cmask[i]) continue; - - codes[n++]=code2obs(satsys(Obs.data[i].sat,NULL),i,&j); + codes[n++]=code2obs(i,&j); fmask[j-1]=1; } ObsType ->Items->Clear(); @@ -339,8 +337,8 @@ void __fastcall TPlot::UpdateObsType(void) for (i=0;i<6;i++) { if (!fmask[i]) continue; - ObsType ->Items->Add(s.sprintf("%s",freqs[i])); - ObsType2->Items->Add(s.sprintf("%s",freqs[i])); + ObsType ->Items->Add(s.sprintf("L%c",freqs[i])); + ObsType2->Items->Add(s.sprintf("L%c",freqs[i])); } for (i=0;i<n;i++) { ObsType ->Items->Add(s.sprintf("L%s",codes[i])); @@ -410,4 +408,3 @@ void __fastcall TPlot::UpdatePoint(int x, int y) Message2->Caption=A2U(msg); } //--------------------------------------------------------------------------- - diff --git a/app/rtkplot/plotmain.cpp b/app/rtkplot/plotmain.cpp index c461749b7067bf5a903df229cab3be2e26babd92..c64515b4a7cd2b8e01e1bc1b13ca1a62d02df4d7 100644 --- a/app/rtkplot/plotmain.cpp +++ b/app/rtkplot/plotmain.cpp @@ -172,11 +172,11 @@ __fastcall TPlot::TPlot(TComponent* Owner) : TForm(Owner) FrqType->Items->Clear(); FrqType->Items->Add("L1/LC"); - if (nfreq>=2) FrqType->Items->Add("L2/E5b"); - if (nfreq>=3) FrqType->Items->Add("L5"); - if (nfreq>=4) FrqType->Items->Add("E6"); - if (nfreq>=5) FrqType->Items->Add("E5ab"); - + if (nfreq>=2) FrqType->Items->Add("L2"); + if (nfreq>=3) FrqType->Items->Add("L5"); + if (nfreq>=4) FrqType->Items->Add("L6"); + if (nfreq>=5) FrqType->Items->Add("L7"); + if (nfreq>=6) FrqType->Items->Add("L8"); FrqType->ItemIndex=0; TLEData.n=TLEData.nmax=0; @@ -1002,7 +1002,7 @@ void __fastcall TPlot::MenuAnimStopClick(TObject *Sender) void __fastcall TPlot::MenuMaxClick(TObject *Sender) { TRect rect; - ::SystemParametersInfo(SPI_GETWORKAREA,0,&rect,0); + ::SystemParametersInfo(SPI_GETWORKAREA,0,&rect,0); Top=rect.Top; Left=rect.Left; Width=rect.Width(); @@ -1199,7 +1199,7 @@ void __fastcall TPlot::RangeListClick(TObject *Sender) RangeList->Visible=false; if ((i=RangeList->ItemIndex)<0) return; - strcpy(file,U2A(RangeList->Items->Strings[i]).c_str()); + strcpy(file,U2A(RangeList->Items->Strings[i]).c_str()); if (!sscanf(file,"%lf",&range)) return; @@ -2504,7 +2504,7 @@ void __fastcall TPlot::SetRange(int all, double range) GraphT->SetScale(MAX(xs,ys),MAX(xs,ys)); if (norm(OPos,3)>0.0) { ecef2pos(OPos,pos); - GoogleMapView->SetView(pos[0]*R2D,pos[1]*R2D,13); + GoogleMapView->SetView(pos[0]*R2D,pos[1]*R2D,13); } } if (PLOT_SOLP<=PlotType&&PlotType<=PLOT_SOLA) { @@ -2517,7 +2517,7 @@ void __fastcall TPlot::SetRange(int all, double range) GraphG[0]->GetLim(tl,xp); xl[0]=yl[0]=zl[0]=0.0; xl[1]=MaxDop; - yl[1]=YLIM_AGE; + yl[1]=YLIM_AGE; zl[1]=YLIM_RATIO; GraphG[0]->SetLim(tl,xl); GraphG[1]->SetLim(tl,yl); @@ -2642,7 +2642,7 @@ void __fastcall TPlot::FitRange(int all) if (lats[0]<=lats[1]&&lons[0]<=lons[1]) { lat=(lats[0]+lats[1])/2.0; lon=(lons[0]+lons[1])/2.0; - } + } } } // set center of track plot ------------------------------------------------- diff --git a/app/rtkplot/plotmain.dfm b/app/rtkplot/plotmain.dfm index 6a7f2cb1198238b23851d968e89f7c7e7aa65936..a2bc218e7a1dcb363f18e0050a6fae4c1db3534e 100644 --- a/app/rtkplot/plotmain.dfm +++ b/app/rtkplot/plotmain.dfm @@ -35,7 +35,6 @@ object Plot: TPlot Color = clWhite ParentBackground = False TabOrder = 3 - ExplicitWidth = 634 object Disp: TPaintBox AlignWithMargins = True Left = 154 @@ -210,7 +209,6 @@ object Plot: TPlot Color = clWindow ParentBackground = False TabOrder = 0 - ExplicitWidth = 634 object BtnMessage2: TSpeedButton Left = 721 Top = 0 @@ -242,7 +240,6 @@ object Plot: TPlot BorderWidth = 1 TabOrder = 0 Visible = False - ExplicitLeft = 440 object Message2: TLabel Left = 2 Top = 2 @@ -280,7 +277,6 @@ object Plot: TPlot Font.Style = [] ParentFont = False TabOrder = 1 - ExplicitWidth = 440 object QL3: TLabel Left = 11 Top = 2 @@ -382,7 +378,6 @@ object Plot: TPlot Color = clWindow ParentBackground = False TabOrder = 1 - ExplicitWidth = 634 object Panel11: TPanel Left = 537 Top = 0 @@ -392,7 +387,6 @@ object Plot: TPlot BevelOuter = bvNone TabOrder = 0 TabStop = True - ExplicitLeft = 434 object BtnReload: TSpeedButton Left = 158 Top = 0 @@ -1232,8 +1226,6 @@ object Plot: TPlot ParentFont = False TabOrder = 0 OnChange = PlotTypeSChange - ExplicitLeft = 2 - ExplicitWidth = 59 end end object Panel102: TPanel @@ -1586,7 +1578,6 @@ object Plot: TPlot Align = alLeft BevelOuter = bvNone TabOrder = 2 - ExplicitLeft = 541 object BtnAnimate: TSpeedButton Left = 2 Top = 0 diff --git a/app/rtkplot/plotmain.h b/app/rtkplot/plotmain.h index 7f33c2ff94a3e3f4f24640808e6afe5496edbbbc..99065742bb9483badad00dd303fb0aa4b937c79c 100644 --- a/app/rtkplot/plotmain.h +++ b/app/rtkplot/plotmain.h @@ -488,8 +488,6 @@ private: void __fastcall MouseMoveSol (int X, int Y, double dx, double dy, double dxs, double dys); void __fastcall MouseMoveObs (int X, int Y, double dx, double dy, double dxs, double dys); - int __fastcall CheckObsTypeForMatch(const obsd_t *obs, int i); - int __fastcall CheckObsType2ForMatch(const obsd_t *obs, int i); void __fastcall DrawTrk (int level); void __fastcall DrawTrkImage (int level); void __fastcall DrawTrkMap (int level); diff --git a/app/rtkplot/rtkplot.cbproj b/app/rtkplot/rtkplot.cbproj index 5e49f33305441c9708c1351ba279326ea7d94f6c..7d90ba93a0cb4168cb68e5570bf7b4d6125bbecb 100644 --- a/app/rtkplot/rtkplot.cbproj +++ b/app/rtkplot/rtkplot.cbproj @@ -6,7 +6,7 @@ <Base>True</Base> <Config Condition="'$(Config)'==''">Release</Config> <FrameworkType>VCL</FrameworkType> - <ProjectVersion>18.5</ProjectVersion> + <ProjectVersion>18.7</ProjectVersion> <Platform Condition="'$(Platform)'==''">Win32</Platform> <TargetedPlatforms>1</TargetedPlatforms> <AppType>Application</AppType> @@ -19,6 +19,11 @@ <CfgParent>Base</CfgParent> <Base>true</Base> </PropertyGroup> + <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''"> + <Base_Win64>true</Base_Win64> + <CfgParent>Base</CfgParent> + <Base>true</Base> + </PropertyGroup> <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''"> <Cfg_1>true</Cfg_1> <CfgParent>Base</CfgParent> @@ -30,6 +35,12 @@ <Cfg_1>true</Cfg_1> <Base>true</Base> </PropertyGroup> + <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win64)'!=''"> + <Cfg_1_Win64>true</Cfg_1_Win64> + <CfgParent>Cfg_1</CfgParent> + <Cfg_1>true</Cfg_1> + <Base>true</Base> + </PropertyGroup> <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''"> <Cfg_2>true</Cfg_2> <CfgParent>Base</CfgParent> @@ -82,9 +93,9 @@ <PropertyGroup Condition="'$(Base_Win32)'!=''"> <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> <OutputExt>exe</OutputExt> - <TASM_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;NFREQ=4;NEXOBS=3;$(TASM_Defines)</TASM_Defines> - <BCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;ENACMP;ENAIRN;NFREQ=4;NEXOBS=3;$(BCC_Defines)</BCC_Defines> - <BRCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;NFREQ=4;NEXOBS=3;$(BRCC_Defines)</BRCC_Defines> + <TASM_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;NFREQ=3;$(TASM_Defines)</TASM_Defines> + <BCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;ENACMP;ENAIRN;NEXOBS=3;NFREQ=3;$(BCC_Defines)</BCC_Defines> + <BRCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;NFREQ=3;$(BRCC_Defines)</BRCC_Defines> <BCC_UserSuppliedOptions> -tWM</BCC_UserSuppliedOptions> <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace> <IncludePath>$(BDSINCLUDE)\windows\vcl;$(IncludePath)</IncludePath> @@ -94,6 +105,13 @@ <UWP_CppLogo44>$(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_44.png</UWP_CppLogo44> <UWP_CppLogo150>$(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_150.png</UWP_CppLogo150> </PropertyGroup> + <PropertyGroup Condition="'$(Base_Win64)'!=''"> + <BCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;ENACMP;NEXOBS=3;NFREQ=3;$(BCC_Defines)</BCC_Defines> + <TASM_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;NFREQ=3;$(TASM_Defines)</TASM_Defines> + <BRCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;NFREQ=3;$(BRCC_Defines)</BRCC_Defines> + <UWP_CppLogo44>$(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_44.png</UWP_CppLogo44> + <UWP_CppLogo150>$(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_150.png</UWP_CppLogo150> + </PropertyGroup> <PropertyGroup Condition="'$(Cfg_1)'!=''"> <DCC_AdditionalSwitches> -V</DCC_AdditionalSwitches> <DCC_Define>DEBUG;$(DCC_Define);$(DCC_Define)</DCC_Define> @@ -121,6 +139,9 @@ <VerInfo_Locale>1033</VerInfo_Locale> <BCC_wpar>false</BCC_wpar> </PropertyGroup> + <PropertyGroup Condition="'$(Cfg_1_Win64)'!=''"> + <BCC_Defines>_DEBUG;$(BCC_Defines);$(BCC_Defines)</BCC_Defines> + </PropertyGroup> <PropertyGroup Condition="'$(Cfg_2)'!=''"> <DCC_AdditionalSwitches> -$O+</DCC_AdditionalSwitches> <IntermediateOutputDir>Release_Build</IntermediateOutputDir> @@ -433,13 +454,13 @@ <FormResources Include="..\appcmn\fileoptdlg.dfm"/> <FormResources Include="conndlg.dfm"/> <FormResources Include="pntdlg.dfm"/> - <FormResources Include="plotopt.dfm"/> + <FormResources Include="satdlg.dfm"/> <FormResources Include="vmapdlg.dfm"/> <FormResources Include="skydlg.dfm"/> - <FormResources Include="satdlg.dfm"/> - <FormResources Include="plotmain.dfm"/> + <FormResources Include="plotopt.dfm"/> <FormResources Include="mapdlg.dfm"/> <FormResources Include="gmview.dfm"/> + <FormResources Include="plotmain.dfm"/> <BuildConfiguration Include="Release"> <Key>Cfg_2</Key> <CfgParent>Base</CfgParent> @@ -521,6 +542,7 @@ </CPlusPlusBuilder.Personality> <Platforms> <Platform value="Win32">True</Platform> + <Platform value="Win64">False</Platform> </Platforms> <Deployment Version="3"> <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c260.dll" Class="DependencyModule"> @@ -563,13 +585,13 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="..\..\src\rtkcmn.c" Configuration="Release" Class="ProjectFile"> + <DeployFile LocalName="..\..\src\rcv\skytraq.c" Configuration="Release" Class="ProjectFile"> <Platform Name="Win32"> <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="..\..\src\rcv\skytraq.c" Configuration="Release" Class="ProjectFile"> + <DeployFile LocalName="..\..\src\rtkcmn.c" Configuration="Release" Class="ProjectFile"> <Platform Name="Win32"> <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> @@ -883,6 +905,12 @@ <Operation>1</Operation> </Platform> </DeployClass> + <DeployClass Name="Android_Colors"> + <Platform Name="Android"> + <RemoteDir>res\values</RemoteDir> + <Operation>1</Operation> + </Platform> + </DeployClass> <DeployClass Name="Android_DefaultAppIcon"> <Platform Name="Android"> <RemoteDir>res\drawable</RemoteDir> @@ -919,6 +947,36 @@ <Operation>1</Operation> </Platform> </DeployClass> + <DeployClass Name="Android_NotificationIcon24"> + <Platform Name="Android"> + <RemoteDir>res\drawable-mdpi</RemoteDir> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="Android_NotificationIcon36"> + <Platform Name="Android"> + <RemoteDir>res\drawable-hdpi</RemoteDir> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="Android_NotificationIcon48"> + <Platform Name="Android"> + <RemoteDir>res\drawable-xhdpi</RemoteDir> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="Android_NotificationIcon72"> + <Platform Name="Android"> + <RemoteDir>res\drawable-xxhdpi</RemoteDir> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="Android_NotificationIcon96"> + <Platform Name="Android"> + <RemoteDir>res\drawable-xxxhdpi</RemoteDir> + <Operation>1</Operation> + </Platform> + </DeployClass> <DeployClass Name="Android_SplashImage426"> <Platform Name="Android"> <RemoteDir>res\drawable-small</RemoteDir> @@ -943,6 +1001,12 @@ <Operation>1</Operation> </Platform> </DeployClass> + <DeployClass Name="Android_Strings"> + <Platform Name="Android"> + <RemoteDir>res\values</RemoteDir> + <Operation>1</Operation> + </Platform> + </DeployClass> <DeployClass Name="DebugSymbols"> <Platform Name="iOSSimulator"> <Operation>1</Operation> @@ -1062,6 +1126,17 @@ <Operation>1</Operation> </Platform> </DeployClass> + <DeployClass Name="iPad_Launch1024x768"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> <DeployClass Name="iPad_Launch1536"> <Platform Name="iOSDevice32"> <Operation>1</Operation> @@ -1073,6 +1148,39 @@ <Operation>1</Operation> </Platform> </DeployClass> + <DeployClass Name="iPad_Launch1536x2048"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="iPad_Launch1668"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="iPad_Launch1668x2388"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> <DeployClass Name="iPad_Launch2048"> <Platform Name="iOSDevice32"> <Operation>1</Operation> @@ -1084,6 +1192,61 @@ <Operation>1</Operation> </Platform> </DeployClass> + <DeployClass Name="iPad_Launch2048x1536"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="iPad_Launch2048x2732"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="iPad_Launch2224"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="iPad_Launch2388x1668"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="iPad_Launch2732x2048"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> <DeployClass Name="iPad_Launch768"> <Platform Name="iOSDevice32"> <Operation>1</Operation> @@ -1095,6 +1258,116 @@ <Operation>1</Operation> </Platform> </DeployClass> + <DeployClass Name="iPad_Launch768x1024"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="iPhone_Launch1125"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="iPhone_Launch1136x640"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="iPhone_Launch1242"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="iPhone_Launch1242x2688"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="iPhone_Launch1334"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="iPhone_Launch1792"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="iPhone_Launch2208"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="iPhone_Launch2436"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="iPhone_Launch2688x1242"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> <DeployClass Name="iPhone_Launch320"> <Platform Name="iOSDevice32"> <Operation>1</Operation> @@ -1128,6 +1401,28 @@ <Operation>1</Operation> </Platform> </DeployClass> + <DeployClass Name="iPhone_Launch750"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> + <DeployClass Name="iPhone_Launch828"> + <Platform Name="iOSDevice32"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSDevice64"> + <Operation>1</Operation> + </Platform> + <Platform Name="iOSSimulator"> + <Operation>1</Operation> + </Platform> + </DeployClass> <DeployClass Name="ProjectAndroidManifest"> <Platform Name="Android"> <Operation>1</Operation> diff --git a/src/rcv/binex.c b/src/rcv/binex.c index afd9bff1dabe6f11dbc8791e90fee0600e6b7a7c..d29924ceaf77370704dd3dee73dd0d675fe75377 100644 --- a/src/rcv/binex.c +++ b/src/rcv/binex.c @@ -975,7 +975,7 @@ static unsigned char *decode_bnx_7f_05_obs(raw_t *raw, unsigned char *buff, /* get code priority */ for (i=0;i<nobs;i++) { - code2obs(sys,codes[code[i]&0x3F],freq+i); + code2obs(codes[code[i]&0x3F],freq+i); pri[i]=getcodepri(sys,codes[code[i]&0x3F],raw->opt); /* frequency index for beidou */ diff --git a/src/rinex.c b/src/rinex.c index acefce571c499ad00cb4d31ac790b20c48e75d1a..5bfb470b05c3f8079ee44dbf72f2c8516ea9ff7e 100644 --- a/src/rinex.c +++ b/src/rinex.c @@ -879,7 +879,7 @@ static void set_index(double ver, int sys, const char *opt, int i,j,k,n; for (i=n=0;*tobs[i];i++,n++) { - ind->code[i]=obs2code(sys,tobs[i]+1,ind->frq+i); + ind->code[i]=obs2code(tobs[i]+1,ind->frq+i); ind->type[i]=(p=strchr(obscodes,tobs[i][0]))?(int)(p-obscodes):0; ind->pri[i]=getcodepri(sys,ind->code[i],opt); ind->pos[i]=-1; @@ -903,7 +903,7 @@ static void set_index(double ver, int sys, const char *opt, for (p=opt;p&&(p=strchr(p,'-'));p++) { if (sscanf(p,optstr,str,&shift)<2) continue; for (i=0;i<n;i++) { - if (strcmp(code2obs(0,ind->code[i],NULL),str)) continue; + if (strcmp(code2obs(ind->code[i],NULL),str)) continue; ind->shift[i]=shift; trace(2,"phase shift: sys=%2d tobs=%s shift=%.3f\n",sys, tobs[i],shift); @@ -2078,12 +2078,12 @@ static int obsindex(double ver, int sys, const unsigned char *code, return i; } else { - id=code2obs(0,code[i],NULL); + id=code2obs(code[i],NULL); if (id[0]==tobs[1]) return i; } } else { /* ver.3 */ - id=code2obs(0,code[i],NULL); + id=code2obs(code[i],NULL); if (!strcmp(id,tobs+1)) return i; } } diff --git a/src/rtcm3.c b/src/rtcm3.c index 195f0bc2ef0c855e6e84d329b541e0abc43cc1b5..ac06c50664b966c4183edbe23ad12cc98bf68ce4 100644 --- a/src/rtcm3.c +++ b/src/rtcm3.c @@ -1822,8 +1822,8 @@ static void save_msm_obs(rtcm_t *rtcm, int sys, msm_h_t *h, const double *r, default: sig[i]=""; break; } /* signal to rinex obs type */ - code[i]=obs2code(sys,sig[i],freq+i); - + code[i]=obs2code(sig[i],freq+i); + /* freqency index for beidou and galileo */ if (sys==SYS_CMP) { if (freq[i]==5) freq[i]=2; /* B2 */ diff --git a/src/rtcm3e.c b/src/rtcm3e.c index ccedcdefa930bf67e146c88e3319cdd16ade9d52..7b03933748782279a2757c79303a9e3809b67cce 100644 --- a/src/rtcm3e.c +++ b/src/rtcm3e.c @@ -1761,7 +1761,7 @@ static int to_sigid(int sys, unsigned char code, int *freq) else if (code==CODE_L2M) code=CODE_L2P; else if (code==CODE_L2N) code=CODE_L2P; } - if (!*(sig=code2obs(sys,code,freq))) return 0; + if (!*(sig=code2obs(code,freq))) return 0; switch (sys) { case SYS_GPS: msm_sig=msm_sig_gps; break; diff --git a/src/rtkcmn.c b/src/rtkcmn.c index 5af0b14fdd9940862d4ed4c51f136af31d211fa1..c8ee183481b05d5a67f731f75d8e164bdf0c51d1 100644 --- a/src/rtkcmn.c +++ b/src/rtkcmn.c @@ -251,34 +251,23 @@ static char *obscodes[]={ /* observation code strings */ "5B","5C","9A","9B","9C", "9X","" ,"" ,"" ,"" /* 50-59 */ }; static unsigned char obsfreqs[]={ - /* 1:L1/E1, 2:L2/E5b, 3:L5/E5a/L3, 4:E6/LEX, 5:E5(a+b), 6:S */ + /* 1:L1/E1/B1, 2:L2/E5b/B2, 3:L5/E5a, 4:E6/LEX/B3, 5:E5(a+b), 6:S */ 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0- 9 */ 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, /* 10-19 */ 2, 2, 2, 2, 3, 3, 3, 2, 2, 2, /* 20-29 */ - 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, /* 30-39 */ - 1, 1, 3, 3, 4, 4, 4, 1, 1, 4, /* 40-49 */ - 4, 4, 7, 7, 7, 7, 0, 0, 0, 0 /* 50-59 */ + 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, /* 30-39 */ + 1, 1, 3, 3, 3, 3, 3, 1, 1, 3, /* 40-49 */ + 3, 3, 6, 6, 6, 6, 0, 0, 0, 0 /* 50-59 */ }; - -static unsigned char obsfreqs_cmp[]={ - /* 1:B1, 2:B2, 3:B3 */ - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0- 9 */ - 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, /* 10-19 */ - 2, 2, 2, 2, 4, 4, 4, 2, 2, 2, /* 20-29 */ - 5, 5, 5, 3, 5, 5, 5, 6, 6, 6, /* 30-39 */ - 1, 1, 3, 3, 4, 4, 4, 1, 1, 4, /* 40-49 */ - 4, 4, 7, 7, 7, 7, 0, 0, 0, 0 /* 50-59 */ -}; - static char codepris[7][MAXFREQ][16]={ /* code priority table */ - /* L1/E1/B1 L2/B2 E5b/B3 L5/E5a/L3 E6/LEX E5(a+b) S */ - {"CPYWMNSL","CLPYWMNDSX","IQX" ,"" ,"" ,"" }, /* GPS */ - {"PC" ,"PC" ,"IQX" ,"" ,"" ,"" }, /* GLO */ - {"CABXZ" ,"" ,"IQX" ,"ABCXZ" ,"IQX" ,"" }, /* GAL */ - {"CSLXZ" ,"SLX" ,"IQX" ,"SLX" ,"" ,"" }, /* QZS */ - {"C" ,"" ,"IQX" ,"" ,"" ,"" }, /* SBS */ - {"IQX" ,"IQX" ,"IQX" ,"IQX" ,"" ,"" }, /* BDS */ + /* L1/E1/B1 L2/E5b/B2 E5b/B3 L5/E5a/L3 E6/LEX E5(a+b) S */ + {"CPYWMNSL","CLPYWMNDSX","IQX" ,"" ,"" ,"" }, /* GPS */ + {"PC" ,"PC" ,"IQX" ,"" ,"" ,"" }, /* GLO */ + {"CABXZ" ,"IQX" ,"IQX" ,"ABCXZ" ,"IQX" ,"" }, /* GAL */ + {"CSLXZ" ,"SLX" ,"IQX" ,"SLX" ,"" ,"" }, /* QZS */ + {"C" ,"" ,"IQX" ,"" ,"" ,"" }, /* SBS */ + {"IQX" ,"IQX" ,"IQX" ,"IQX" ,"" ,"" }, /* BDS */ {"" ,"" ,"ABCX" ,"" ,"" ,"ABCX"} /* IRN */ }; static fatalfunc_t *fatalfunc=NULL; /* fatal callback function */ @@ -596,19 +585,13 @@ extern int testsnr(int base, int freq, double el, double snr, * return : obs code (CODE_???) * notes : obs codes are based on reference [6] and qzss extension *-----------------------------------------------------------------------------*/ -extern unsigned char obs2code(int sys, const char *obs, int *freq) +extern unsigned char obs2code(const char *obs, int *freq) { int i; if (freq) *freq=0; for (i=1;*obscodes[i];i++) { if (strcmp(obscodes[i],obs)) continue; - - if (freq) { - if (sys==SYS_CMP) - *freq=obsfreqs_cmp[i]; - else - *freq=obsfreqs[i]; - } + if (freq) *freq=obsfreqs[i]; return (unsigned char)i; } return CODE_NONE; @@ -622,16 +605,11 @@ extern unsigned char obs2code(int sys, const char *obs, int *freq) * return : obs code string ("1C","1P","1P",...) * notes : obs codes are based on reference [6] and qzss extension *-----------------------------------------------------------------------------*/ -extern char *code2obs(int sys, unsigned char code, int *freq) +extern char *code2obs(unsigned char code, int *freq) { if (freq) *freq=0; if (code<=CODE_NONE||MAXCODE<code) return ""; - if (freq) { - if (sys==SYS_CMP) - *freq=obsfreqs_cmp[code]; - else - *freq=obsfreqs[code]; - } + if (freq) *freq=obsfreqs[code]; return obscodes[code]; } /* set code priority ----------------------------------------------------------- @@ -647,7 +625,7 @@ extern void setcodepri(int sys, int freq, const char *pri) trace(3,"setcodepri:sys=%d freq=%d pri=%s\n",sys,freq,pri); if (freq<=0||MAXFREQ<freq) return; - if (sys&SYS_GPS) strcpy(codepris[0][freq-1],pri); + if (sys&SYS_GPS) strcpy(codepris[0][freq-1],pri); if (sys&SYS_GLO) strcpy(codepris[1][freq-1],pri); if (sys&SYS_GAL) strcpy(codepris[2][freq-1],pri); if (sys&SYS_QZS) strcpy(codepris[3][freq-1],pri); @@ -678,7 +656,7 @@ extern int getcodepri(int sys, unsigned char code, const char *opt) case SYS_IRN: i=6; optstr="-IL%2s"; break; default: return 0; } - obs=code2obs(sys,code,&j); + obs=code2obs(code,&j); /* parse code options */ for (p=opt;p&&(p=strchr(p,'-'));p++) { diff --git a/src/rtklib.h b/src/rtklib.h index f8cc401e4f6c21fb1606f45a991f2779d439b5fc..4193fa18c5231547d709dfa01e88c50af9407d53 100644 --- a/src/rtklib.h +++ b/src/rtklib.h @@ -1454,8 +1454,8 @@ EXPORT int satno (int sys, int prn); EXPORT int satsys (int sat, int *prn); EXPORT int satid2no(const char *id); EXPORT void satno2id(int sat, char *id); -EXPORT unsigned char obs2code(int sys, const char *obs, int *freq); -EXPORT char *code2obs(int sys, unsigned char code, int *freq); +EXPORT unsigned char obs2code(const char *obs, int *freq); +EXPORT char *code2obs(unsigned char code, int *freq); EXPORT int satexclude(int sat, double var, int svh, const prcopt_t *opt); EXPORT int testsnr(int base, int freq, double el, double snr, const snrmask_t *mask);