diff --git a/app/appcmn/serioptdlg.dfm b/app/appcmn/serioptdlg.dfm index 5be7c5538c3edb63f76068d4e2063b5ffa645ca6..af0d5010ff9e3476d62da68b20123114d79190ae 100644 --- a/app/appcmn/serioptdlg.dfm +++ b/app/appcmn/serioptdlg.dfm @@ -79,12 +79,11 @@ object SerialOptDialog: TSerialOptDialog TabOrder = 0 end object BitRate: TComboBox - Left = 74 - Top = 32 + Left = 76 + Top = 29 Width = 77 Height = 21 DropDownCount = 12 - ItemIndex = 5 TabOrder = 3 Text = '115200' Items.Strings = ( @@ -98,7 +97,8 @@ object SerialOptDialog: TSerialOptDialog '38400' '57600' '115200' - '230400') + '230400' + '460800') end object Port: TComboBox Left = 74 diff --git a/app/convbin/gcc/makefile b/app/convbin/gcc/makefile index 9cbb435ddff86737913ec50a634acf79a7c997f8..e51b5eb6967af2f247daa5650c6e1f8d8fe78920 100644 --- a/app/convbin/gcc/makefile +++ b/app/convbin/gcc/makefile @@ -7,7 +7,7 @@ BINDIR = /usr/local/bin SRC = ../../../src INCLUDE= -I$(SRC) -OPTIONS= -DTRACE -DENAGLO -DENAQZS -DENAGAL -DENACMP -DENAIRN -DNFREQ=7 -DNEXOBS=3 +OPTIONS= -DTRACE -DENAGLO -DENAQZS -DENAGAL -DENACMP -DENAIRN -DNFREQ=4 -DNEXOBS=3 CFLAGS = -O3 -ansi -pedantic -Wall -Wno-unused-but-set-variable $(INCLUDE) $(OPTIONS) -g diff --git a/app/convbin/msc/msc.vcxproj b/app/convbin/msc/msc.vcxproj index ca690dd66ec21e295399e7e3e78ce907331c8745..98dc8d9c2e79e87dcea65737b0ee1f3810ed4ed4 100644 --- a/app/convbin/msc/msc.vcxproj +++ b/app/convbin/msc/msc.vcxproj @@ -53,7 +53,7 @@ <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE;ENAGLO;ENAQZS;ENAGAL;NFREQ=3;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;TRACE;_CRT_SECURE_NO_DEPRECATE;ENAGLO;ENAQZS;ENAGAL;ENACMP;NFREQ=4;NEXOBS=3;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> @@ -76,7 +76,7 @@ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> <AdditionalIncludeDirectories>..\..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE;ENAGLO;ENAQZS;ENAGAL;NFREQ=3;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;TRACE;_CRT_SECURE_NO_DEPRECATE;ENAGLO;ENAQZS;ENAGAL;ENACMP;NFREQ=4;NEXOBS=3;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <PrecompiledHeader> </PrecompiledHeader> diff --git a/app/rnx2rtkp/gcc/makefile b/app/rnx2rtkp/gcc/makefile index a34fdc3e0027659e40c7ad86dd1b99d4712f5190..0a0a31e7ba8596df2faada2d6586ad79b9c3c232 100644 --- a/app/rnx2rtkp/gcc/makefile +++ b/app/rnx2rtkp/gcc/makefile @@ -4,7 +4,7 @@ BINDIR = /usr/local/bin SRC = ../../../src #OPTS = -DTRACE -DENAGLO -DENAQZS -DENAGAL -DENACMP -DENAIRN -DNFREQ=3 -OPTS = -DTRACE -DENAGLO -DENAGAL -DENACMP -DNFREQ=3 +OPTS = -DTRACE -DENAGLO -DENAGAL -DENACMP -DNFREQ=4 -DNEXOBS=3 #OPTS = -DENAGLO -DENAQZS -DENAGAL -DENACMP -DNFREQ=2 # for no lapack diff --git a/app/rnx2rtkp/msc/msc.vcxproj b/app/rnx2rtkp/msc/msc.vcxproj index 69c561b74d0bd2cb32534ddae079954d94321667..89e08b0bc8a6414297a6754f0b7e42278b32bbbe 100644 --- a/app/rnx2rtkp/msc/msc.vcxproj +++ b/app/rnx2rtkp/msc/msc.vcxproj @@ -53,7 +53,7 @@ <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;TRACE;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;ENAGLO;ENAQZS;ENAGAL;ENACMP;NFREQ=3;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;TRACE;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;ENAGLO;ENAQZS;ENAGAL;ENACMP;NFREQ=4;NEXOBS=3;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> @@ -80,7 +80,7 @@ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> <AdditionalIncludeDirectories>..\..\..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;TRACE;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;ENAGLO;ENAQZS;ENAGAL;ENACMP;NFREQ=3;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;TRACE;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;ENAGLO;ENAQZS;ENAGAL;ENACMP;NFREQ=4;NEXOBS=3;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <PrecompiledHeader> </PrecompiledHeader> diff --git a/app/rtkconv/codeopt.cpp b/app/rtkconv/codeopt.cpp index 9b4882e3be062546988ad7388842dfca2fbf2ced..df21713e1893b4c12cf1c5b689242456105f775c 100644 --- a/app/rtkconv/codeopt.cpp +++ b/app/rtkconv/codeopt.cpp @@ -323,17 +323,17 @@ void __fastcall TCodeOptDialog::UpdateEnable(void) E24->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_L5); E25->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_L5); E26->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_L5); - E27->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_L7); - E28->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_L7); - E29->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_L7); - E30->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_L6); - E31->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_L6); - E32->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_L6); - E33->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_L6); - E34->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_L6); - E37->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_L8); - E38->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_L8); - E39->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_L8); + E27->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_E5b); + E28->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_E5b); + E29->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_E5b); + E30->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_E6); + E31->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_E6); + E32->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_E6); + E33->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_E6); + E34->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_E6); + E37->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_E5ab); + E38->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_E5ab); + E39->Enabled=(NavSys&SYS_GAL)&&(FreqType&FREQTYPE_E5ab); J01->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_L1); J07->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_L1); J08->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_L1); @@ -342,29 +342,29 @@ void __fastcall TCodeOptDialog::UpdateEnable(void) J16->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_L2); J17->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_L2); J18->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_L2); - J24->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_L5); - J25->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_L5); - J26->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_L5); - J35->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_L6); - J36->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_L6); - J33->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_L6); + J24->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_E5b); + J25->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_E5b); + J26->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_E5b); + J35->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_E6); + J36->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_E6); + J33->Enabled=(NavSys&SYS_QZS)&&(FreqType&FREQTYPE_E6); C47->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L2); C48->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L2); C12->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L2); - C27->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L7); - C28->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L7); - C29->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L7); - C42->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L6); - C43->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L6); - C33->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L6); + C27->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_E5b); + C28->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_E5b); + C29->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_E5b); + C42->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_E6); + C43->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_E6); + C33->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_E6); I49->Enabled=(NavSys&SYS_IRN)&&(FreqType&FREQTYPE_L5); I50->Enabled=(NavSys&SYS_IRN)&&(FreqType&FREQTYPE_L5); I51->Enabled=(NavSys&SYS_IRN)&&(FreqType&FREQTYPE_L5); I26->Enabled=(NavSys&SYS_IRN)&&(FreqType&FREQTYPE_L5); - I52->Enabled=(NavSys&SYS_IRN)&&(FreqType&FREQTYPE_L9); - I53->Enabled=(NavSys&SYS_IRN)&&(FreqType&FREQTYPE_L9); - I54->Enabled=(NavSys&SYS_IRN)&&(FreqType&FREQTYPE_L9); - I55->Enabled=(NavSys&SYS_IRN)&&(FreqType&FREQTYPE_L9); + I52->Enabled=(NavSys&SYS_IRN)&&(FreqType&FREQTYPE_S); + I53->Enabled=(NavSys&SYS_IRN)&&(FreqType&FREQTYPE_S); + I54->Enabled=(NavSys&SYS_IRN)&&(FreqType&FREQTYPE_S); + I55->Enabled=(NavSys&SYS_IRN)&&(FreqType&FREQTYPE_S); S01->Enabled=(NavSys&SYS_SBS)&&(FreqType&FREQTYPE_L1); S24->Enabled=(NavSys&SYS_SBS)&&(FreqType&FREQTYPE_L5); S25->Enabled=(NavSys&SYS_SBS)&&(FreqType&FREQTYPE_L5); diff --git a/app/rtkconv/convopt.cpp b/app/rtkconv/convopt.cpp index 43a2d84c92ce17602481557ca59c4325b80de086..d92d3a36488695f74e131a538aa03c687417d1b0 100644 --- a/app/rtkconv/convopt.cpp +++ b/app/rtkconv/convopt.cpp @@ -78,11 +78,11 @@ void __fastcall TConvOptDialog::FormShow(TObject *Sender) 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; - Freq7->Checked=MainWindow->FreqType&FREQTYPE_L9; + Freq3->Checked=MainWindow->FreqType&FREQTYPE_E5b; + Freq4->Checked=MainWindow->FreqType&FREQTYPE_L5; + Freq5->Checked=MainWindow->FreqType&FREQTYPE_E6; + Freq6->Checked=MainWindow->FreqType&FREQTYPE_E5ab; + Freq7->Checked=MainWindow->FreqType&FREQTYPE_S; ExSats->Text=MainWindow->ExSats; TraceLevel->ItemIndex=MainWindow->TraceLevel; ChkSepNav->Checked=MainWindow->SepNav; @@ -139,11 +139,11 @@ void __fastcall TConvOptDialog::BtnOkClick(TObject *Sender) if (Obs4->Checked) obstype|=OBSTYPE_SNR; if (Freq1->Checked) freqtype|=FREQTYPE_L1; if (Freq2->Checked) freqtype|=FREQTYPE_L2; - if (Freq3->Checked) freqtype|=FREQTYPE_L5; - if (Freq4->Checked) freqtype|=FREQTYPE_L6; - if (Freq5->Checked) freqtype|=FREQTYPE_L7; - if (Freq6->Checked) freqtype|=FREQTYPE_L8; - if (Freq7->Checked) freqtype|=FREQTYPE_L9; + if (Freq3->Checked) freqtype|=FREQTYPE_E5b; + if (Freq4->Checked) freqtype|=FREQTYPE_L5; + if (Freq5->Checked) freqtype|=FREQTYPE_E6; + if (Freq6->Checked) freqtype|=FREQTYPE_E5ab; + if (Freq7->Checked) freqtype|=FREQTYPE_S; MainWindow->NavSys=navsys; MainWindow->ObsType=obstype; MainWindow->FreqType=freqtype; @@ -181,11 +181,11 @@ void __fastcall TConvOptDialog::BtnMaskClick(TObject *Sender) if (Nav7->Checked) CodeOptDialog->NavSys|=SYS_IRN; if (Freq1->Checked) CodeOptDialog->FreqType|=FREQTYPE_L1; if (Freq2->Checked) CodeOptDialog->FreqType|=FREQTYPE_L2; - if (Freq3->Checked) CodeOptDialog->FreqType|=FREQTYPE_L5; - if (Freq4->Checked) CodeOptDialog->FreqType|=FREQTYPE_L6; - if (Freq5->Checked) CodeOptDialog->FreqType|=FREQTYPE_L7; - if (Freq6->Checked) CodeOptDialog->FreqType|=FREQTYPE_L8; - if (Freq7->Checked) CodeOptDialog->FreqType|=FREQTYPE_L9; + if (Freq3->Checked) CodeOptDialog->FreqType|=FREQTYPE_E5b; + if (Freq4->Checked) CodeOptDialog->FreqType|=FREQTYPE_L5; + if (Freq5->Checked) CodeOptDialog->FreqType|=FREQTYPE_E6; + if (Freq6->Checked) CodeOptDialog->FreqType|=FREQTYPE_E5ab; + if (Freq7->Checked) CodeOptDialog->FreqType|=FREQTYPE_S; CodeOptDialog->ShowModal(); } //--------------------------------------------------------------------------- diff --git a/app/rtkconv/convopt.dfm b/app/rtkconv/convopt.dfm index 2fbd836e183b97bc151005dab834a617d9ac8cf4..700c41fa4362b9fd1b1dbd570baa1942d531f469 100644 --- a/app/rtkconv/convopt.dfm +++ b/app/rtkconv/convopt.dfm @@ -432,7 +432,7 @@ object ConvOptDialog: TConvOptDialog Top = 14 Width = 53 Height = 17 - Caption = 'L5/3' + Caption = 'E5b' TabOrder = 2 end object Freq4: TCheckBox @@ -440,7 +440,7 @@ object ConvOptDialog: TConvOptDialog Top = 14 Width = 45 Height = 17 - Caption = 'L6' + Caption = 'L5' TabOrder = 3 end object Freq5: TCheckBox @@ -448,23 +448,23 @@ object ConvOptDialog: TConvOptDialog Top = 14 Width = 39 Height = 17 - Caption = 'L7' + Caption = 'E6' TabOrder = 4 end object Freq6: TCheckBox - Left = 177 + Left = 174 Top = 14 - Width = 31 + Width = 40 Height = 17 - Caption = 'L8' + Caption = 'E5ab' TabOrder = 5 end object Freq7: TCheckBox - Left = 209 + Left = 218 Top = 14 Width = 31 Height = 17 - Caption = 'L9' + Caption = 'S' TabOrder = 6 end end diff --git a/app/rtkconv/rtkconv.cbproj b/app/rtkconv/rtkconv.cbproj index 9fba7f6e9c900ebd126515d05203e5046f5beeed..56cce9c95769d4db4c19242b8bffc919f817c18e 100644 --- a/app/rtkconv/rtkconv.cbproj +++ b/app/rtkconv/rtkconv.cbproj @@ -6,7 +6,7 @@ <Base>True</Base> <Config Condition="'$(Config)'==''">Release</Config> <FrameworkType>VCL</FrameworkType> - <ProjectVersion>18.2</ProjectVersion> + <ProjectVersion>18.4</ProjectVersion> <Platform Condition="'$(Platform)'==''">Win32</Platform> <TargetedPlatforms>1</TargetedPlatforms> <AppType>Application</AppType> @@ -93,10 +93,10 @@ <PropertyGroup Condition="'$(Base_Win32)'!=''"> <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> <OutputExt>exe</OutputExt> - <TASM_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;NFREQ=3;$(TASM_Defines)</TASM_Defines> + <TASM_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;NFREQ=4;$(TASM_Defines)</TASM_Defines> <BCC_UserSuppliedOptions> -tWM</BCC_UserSuppliedOptions> - <BRCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;NFREQ=3;$(BRCC_Defines)</BRCC_Defines> - <BCC_Defines>WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;ENACMP;ENAIRN;NEXOBS=3;NFREQ=7;$(BCC_Defines)</BCC_Defines> + <BRCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;NEXOBS=3;NFREQ=4;$(BRCC_Defines)</BRCC_Defines> + <BCC_Defines>WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;ENACMP;ENAIRN;NEXOBS=3;NFREQ=4;$(BCC_Defines)</BCC_Defines> <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> <VerInfo_Locale>1033</VerInfo_Locale> @@ -106,9 +106,9 @@ <UWP_CppLogo150>$(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_150.png</UWP_CppLogo150> </PropertyGroup> <PropertyGroup Condition="'$(Base_Win64)'!=''"> - <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> - <BCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;ENACMP;NEXOBS=3;NFREQ=6;$(BCC_Defines)</BCC_Defines> + <TASM_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;NEXOBS=3;NFREQ=4;$(TASM_Defines)</TASM_Defines> + <BRCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;NEXOBS=3;NFREQ=4;$(BRCC_Defines)</BRCC_Defines> + <BCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;ENACMP;NEXOBS=3;NFREQ=4;$(BCC_Defines)</BCC_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> @@ -323,15 +323,15 @@ <BuildOrder>22</BuildOrder> <BuildOrder>12</BuildOrder> </CppCompile> - <FormResources Include="codeopt.dfm"/> <FormResources Include="..\appcmn\vieweropt.dfm"/> - <FormResources Include="convopt.dfm"/> + <FormResources Include="codeopt.dfm"/> <FormResources Include="convmain.dfm"/> - <FormResources Include="..\appcmn\viewer.dfm"/> - <FormResources Include="..\appcmn\confdlg.dfm"/> + <FormResources Include="convopt.dfm"/> <FormResources Include="..\appcmn\aboutdlg.dfm"/> - <FormResources Include="..\appcmn\timedlg.dfm"/> + <FormResources Include="..\appcmn\confdlg.dfm"/> <FormResources Include="..\appcmn\keydlg.dfm"/> + <FormResources Include="..\appcmn\timedlg.dfm"/> + <FormResources Include="..\appcmn\viewer.dfm"/> <FormResources Include="startdlg.dfm"/> <BuildConfiguration Include="Release"> <Key>Cfg_2</Key> @@ -398,7 +398,10 @@ <Parameters Name="LoadAllSymbols">True</Parameters> <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> </Parameters> - <Excluded_Packages/> + <Excluded_Packages> + <Excluded_Packages Name="$(BDSBIN)\bcboffice2k250.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages> + <Excluded_Packages Name="$(BDSBIN)\bcbofficexp250.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages> + </Excluded_Packages> <ProjectProperties> <ProjectProperties Name="AutoShowDeps">False</ProjectProperties> <ProjectProperties Name="ManagePaths">True</ProjectProperties> @@ -444,9 +447,9 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="Debug_Build\rtkconv.exe" Configuration="Debug" Class="ProjectOutput"> + <DeployFile LocalName="..\..\src\rcv\comnav.c" Configuration="Debug" Class="ProjectFile"> <Platform Name="Win32"> - <RemoteName>rtkconv.exe</RemoteName> + <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> </Platform> </DeployFile> @@ -455,7 +458,13 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="..\..\src\rtkcmn.c" Configuration="Debug" Class="ProjectFile"> + <DeployFile LocalName="Debug_Build\rtkconv.exe" Configuration="Debug" Class="ProjectOutput"> + <Platform Name="Win32"> + <RemoteName>rtkconv.exe</RemoteName> + <Overwrite>true</Overwrite> + </Platform> + </DeployFile> + <DeployFile LocalName="rtkconv.res" Configuration="Debug" Class="ProjectFile"> <Platform Name="Win32"> <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> @@ -479,7 +488,7 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="rtkconv.res" Configuration="Debug" Class="ProjectFile"> + <DeployFile LocalName="..\..\src\rtkcmn.c" Configuration="Debug" Class="ProjectFile"> <Platform Name="Win32"> <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> @@ -491,7 +500,7 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="..\..\src\rcv\comnav.c" Configuration="Debug" Class="ProjectFile"> + <DeployFile LocalName="..\..\src\rcv\swiftnav.c" Configuration="Debug" Class="ProjectFile"> <Platform Name="Win32"> <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> @@ -503,7 +512,7 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="..\..\src\rcv\swiftnav.c" Configuration="Debug" Class="ProjectFile"> + <DeployFile LocalName="..\..\src\rcvraw.c" Configuration="Debug" Class="ProjectFile"> <Platform Name="Win32"> <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> @@ -515,12 +524,6 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="..\..\src\rcvraw.c" Configuration="Debug" Class="ProjectFile"> - <Platform Name="Win32"> - <RemoteDir>.\</RemoteDir> - <Overwrite>true</Overwrite> - </Platform> - </DeployFile> <DeployFile LocalName="..\..\src\preceph.c" Configuration="Debug" Class="ProjectFile"> <Platform Name="Win32"> <RemoteDir>.\</RemoteDir> diff --git a/app/rtknavi/mondlg.cpp b/app/rtknavi/mondlg.cpp index 1c28a5065e1034ba749d6a3fa23d690e042c96c1..b5e75e07025e70614a9a10e0533767b57c3592ad 100644 --- a/app/rtknavi/mondlg.cpp +++ b/app/rtknavi/mondlg.cpp @@ -367,7 +367,7 @@ void __fastcall TMonitorDialog::ShowRtk(void) AnsiString sol[]={"-","Fix","Float","SBAS","DGPS","Single","PPP",""}; AnsiString mode[]={"Single","DGPS","Kinematic","Static","Static-Start","Moving-Base", "Fixed","PPP-Kinematic","PPP-Static",""}; - AnsiString freq[]={"-","L1","L1+L2","L1+L2+L5","L1+L2+L5+L6","L1+L2+L5+L6+L7","L1+L2+L5+L6+L7+L8",""}; + AnsiString freq[]={"-","L1","L1+L2","L1+L2+E5b","L1+L2+E5b+L5","L1+L2+E5b+L5+E6","L1+L2+E5b+L5+E6+E5ab",""}; double *del,*off1,*off2,runtime,rt[3]={0},dop[4]={0}; double azel[MAXSAT*2],pos[3],vel[3]; int i,j,k,thread,cycle,state,rtkstat,nsat0,nsat1,prcout,nave; diff --git a/app/rtknavi/naviopt.cpp b/app/rtknavi/naviopt.cpp index 67fc116585a849cb21ebf89b3f6b11d3b8d3aeed..4964d537334ce4d4a57c412dc8371e8f666347ba 100644 --- a/app/rtknavi/naviopt.cpp +++ b/app/rtknavi/naviopt.cpp @@ -93,7 +93,8 @@ __fastcall TOptDialog::TOptDialog(TComponent* Owner) : TForm(Owner) { AnsiString label,s; - int freq[]={1,2,5,6,7,8,9},nglo=MAXPRNGLO,ngal=MAXPRNGAL,nqzs=MAXPRNQZS; + const char *freqs[]={"L1","L2","E5b","L5","E6","E5ab"}; + int nglo=MAXPRNGLO,ngal=MAXPRNGAL,nqzs=MAXPRNQZS; int ncmp=MAXPRNCMP,nirn=MAXPRNIRN; PrcOpt=prcopt_default; SolOpt=solopt_default; @@ -102,7 +103,7 @@ __fastcall TOptDialog::TOptDialog(TComponent* Owner) Freq->Items->Clear(); for (int i=0;i<NFREQ;i++) { - label=label+(i>0?"+":"")+s.sprintf("L%d",freq[i]); + label=label+(i>0?"+":"")+s.sprintf("%s",freqs[i]); Freq->Items->Add(label); } if (nglo<=0) NavSys2->Enabled=false; @@ -717,7 +718,6 @@ void __fastcall TOptDialog::LoadOpt(AnsiString file) 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; @@ -940,7 +940,7 @@ void __fastcall TOptDialog::SaveOpt(AnsiString file) prcopt.mode =PosMode ->ItemIndex; prcopt.nf =Freq ->ItemIndex+1; - prcopt.soltype =Solution ->ItemIndex; + prcopt.soltype =0; /* forward */ prcopt.elmin =str2dbl(ElMask ->Text)*D2R; prcopt.dynamics =DynamicModel->ItemIndex; prcopt.tidecorr =TideCorr ->ItemIndex; @@ -1071,7 +1071,6 @@ void __fastcall TOptDialog::UpdateEnable(void) int ar=rtk||ppp; Freq ->Enabled=rel; - Solution ->Enabled=false; DynamicModel ->Enabled=rel; TideCorr ->Enabled=rel||ppp; PosOpt1 ->Enabled=ppp; diff --git a/app/rtknavi/naviopt.dfm b/app/rtknavi/naviopt.dfm index f8ef97fe7f71f00c502d812de4f67b2e1ae193ec..d0b2d211c22e5b492cb03a2543e36d8b1683b9ff 100644 --- a/app/rtknavi/naviopt.dfm +++ b/app/rtknavi/naviopt.dfm @@ -57,11 +57,15 @@ object OptDialog: TOptDialog Top = 0 Width = 413 Height = 353 - ActivePage = TabSheet2 + ActivePage = TabSheet1 Align = alTop TabOrder = 4 object TabSheet1: TTabSheet Caption = 'Setting&1' + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object Label3: TLabel Left = 24 Top = 73 @@ -93,9 +97,9 @@ object OptDialog: TOptDialog object LabelFreq: TLabel Left = 24 Top = 29 - Width = 119 + Width = 58 Height = 13 - Caption = 'Frequencies / Filter Type' + Caption = 'Frequencies' end object LabelElMask: TLabel Left = 24 @@ -126,7 +130,7 @@ object OptDialog: TOptDialog Caption = 'GPS' Checked = True State = cbChecked - TabOrder = 9 + TabOrder = 8 end object DynamicModel: TComboBox Left = 248 @@ -135,7 +139,7 @@ object OptDialog: TOptDialog Height = 21 Style = csDropDownList ItemIndex = 0 - TabOrder = 3 + TabOrder = 2 Text = 'OFF' Items.Strings = ( 'OFF' @@ -148,7 +152,7 @@ object OptDialog: TOptDialog Height = 21 Style = csDropDownList ItemIndex = 0 - TabOrder = 5 + TabOrder = 4 Text = 'OFF' Items.Strings = ( 'OFF' @@ -167,7 +171,7 @@ object OptDialog: TOptDialog Height = 21 Style = csDropDownList ItemIndex = 0 - TabOrder = 6 + TabOrder = 5 Text = 'OFF' Items.Strings = ( 'OFF' @@ -202,7 +206,7 @@ object OptDialog: TOptDialog object Freq: TComboBox Left = 248 Top = 26 - Width = 75 + Width = 152 Height = 21 Style = csDropDownList ItemIndex = 1 @@ -213,21 +217,6 @@ object OptDialog: TOptDialog 'L1' 'L1+L2') end - object Solution: TComboBox - Left = 325 - Top = 26 - Width = 75 - Height = 21 - Style = csDropDownList - Enabled = False - ItemIndex = 0 - TabOrder = 2 - Text = 'Forward' - Items.Strings = ( - 'Forward' - 'Backward' - 'Combined') - end object SatEphem: TComboBox Left = 248 Top = 136 @@ -235,7 +224,7 @@ object OptDialog: TOptDialog Height = 21 Style = csDropDownList ItemIndex = 0 - TabOrder = 7 + TabOrder = 6 Text = 'Broadcast' Items.Strings = ( 'Broadcast' @@ -250,7 +239,7 @@ object OptDialog: TOptDialog Top = 184 Width = 179 Height = 21 - TabOrder = 8 + TabOrder = 7 end object NavSys2: TCheckBox Left = 68 @@ -258,7 +247,7 @@ object OptDialog: TOptDialog Width = 71 Height = 17 Caption = 'GLO' - TabOrder = 10 + TabOrder = 9 OnClick = NavSys2Click end object NavSys3: TCheckBox @@ -267,7 +256,7 @@ object OptDialog: TOptDialog Width = 61 Height = 17 Caption = 'Galileo' - TabOrder = 11 + TabOrder = 10 end object NavSys4: TCheckBox Left = 168 @@ -275,7 +264,7 @@ object OptDialog: TOptDialog Width = 61 Height = 17 Caption = 'QZSS' - TabOrder = 12 + TabOrder = 11 end object NavSys5: TCheckBox Left = 218 @@ -283,7 +272,7 @@ object OptDialog: TOptDialog Width = 51 Height = 17 Caption = 'SBAS' - TabOrder = 13 + TabOrder = 12 end object TideCorr: TComboBox Left = 325 @@ -292,7 +281,7 @@ object OptDialog: TOptDialog Height = 21 Style = csDropDownList ItemIndex = 0 - TabOrder = 4 + TabOrder = 3 Text = 'OFF' Items.Strings = ( 'OFF' @@ -304,7 +293,7 @@ object OptDialog: TOptDialog Width = 69 Height = 19 Caption = 'BeiDou' - TabOrder = 14 + TabOrder = 13 OnClick = NavSys6Click end object ElMask: TComboBox @@ -314,7 +303,7 @@ object OptDialog: TOptDialog Height = 21 AutoComplete = False DropDownCount = 16 - TabOrder = 15 + TabOrder = 14 Text = '15' Items.Strings = ( '0' @@ -339,7 +328,7 @@ object OptDialog: TOptDialog Width = 61 Height = 17 Caption = 'Sat PCV' - TabOrder = 16 + TabOrder = 15 end object PosOpt2: TCheckBox Left = 82 @@ -347,7 +336,7 @@ object OptDialog: TOptDialog Width = 62 Height = 17 Caption = 'Rec PCV' - TabOrder = 17 + TabOrder = 16 end object PosOpt3: TCheckBox Left = 142 @@ -355,7 +344,7 @@ object OptDialog: TOptDialog Width = 69 Height = 17 Caption = 'PhWU' - TabOrder = 18 + TabOrder = 17 end object PosOpt4: TCheckBox Left = 191 @@ -363,7 +352,7 @@ object OptDialog: TOptDialog Width = 68 Height = 17 Caption = 'Rej Ecl' - TabOrder = 19 + TabOrder = 18 end object PosOpt5: TCheckBox Left = 244 @@ -371,7 +360,7 @@ object OptDialog: TOptDialog Width = 68 Height = 17 Caption = 'RAIM FDE' - TabOrder = 20 + TabOrder = 19 end object BtnSnrMask: TButton Left = 324 @@ -379,7 +368,7 @@ object OptDialog: TOptDialog Width = 77 Height = 23 Caption = '...' - TabOrder = 22 + TabOrder = 21 OnClick = BtnSnrMaskClick end object PosOpt6: TCheckBox @@ -388,7 +377,7 @@ object OptDialog: TOptDialog Width = 68 Height = 17 Caption = 'DBCorr' - TabOrder = 21 + TabOrder = 20 end object NavSys7: TCheckBox Left = 322 @@ -396,13 +385,17 @@ object OptDialog: TOptDialog Width = 69 Height = 19 Caption = 'IRNSS' - TabOrder = 23 + TabOrder = 22 OnClick = NavSys6Click end end object TabSheet2: TTabSheet Caption = 'Setting&2' ImageIndex = 1 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object Label25: TLabel Left = 24 Top = 7 @@ -758,6 +751,10 @@ object OptDialog: TOptDialog object TabSheet3: TTabSheet Caption = 'O&utput' ImageIndex = 2 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object LabelSolFormat: TLabel Left = 24 Top = 7 @@ -1044,6 +1041,10 @@ object OptDialog: TOptDialog object TabSheet4: TTabSheet Caption = 'S&tatistics' ImageIndex = 3 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object Label29: TLabel Left = 34 Top = 213 @@ -1223,6 +1224,10 @@ object OptDialog: TOptDialog object TabSheet5: TTabSheet Caption = '&Positions' ImageIndex = 4 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object Label4: TLabel Left = 12 Top = 12 @@ -1539,6 +1544,10 @@ object OptDialog: TOptDialog object TabSheet7: TTabSheet Caption = '&Files' ImageIndex = 6 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object Label1: TLabel Left = 6 Top = 93 @@ -1877,6 +1886,10 @@ object OptDialog: TOptDialog object TabSheet8: TTabSheet Caption = '&Misc' ImageIndex = 6 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object Label19: TLabel Left = 32 Top = 7 diff --git a/app/rtknavi/naviopt.h b/app/rtknavi/naviopt.h index 55d5df94f499dda78e49f0aad80ddf15eda0077a..14e4b7b59a237fad4ecb73518d990522cae70039 100644 --- a/app/rtknavi/naviopt.h +++ b/app/rtknavi/naviopt.h @@ -36,7 +36,6 @@ __published: TComboBox *TropOpt; TComboBox *PosMode; TComboBox *Freq; - TComboBox *Solution; TComboBox *SatEphem; TEdit *ExSatsE; TTabSheet *TabSheet2; diff --git a/app/rtknavi/rtknavi.cbproj b/app/rtknavi/rtknavi.cbproj index c4c7b3f5a59be7a7fb1cf50f943f85ed05193f81..f4fff16f6f846f4e44b6941bec21cb18c1eb9490 100644 --- a/app/rtknavi/rtknavi.cbproj +++ b/app/rtknavi/rtknavi.cbproj @@ -65,10 +65,10 @@ <TASM_IncludePath>..\..\..\rtklib_extlex;..\..\extlex;..\..\src\rcv;..\appcmn;..\..\src;$(BDS)\include;$(BDS)\include\dinkumware;$(BDS)\include\vcl;$(TASM_IncludePath)</TASM_IncludePath> <DCC_ObjPath>..\..\..\rtklib_extlex;..\..\extlex;..\..\qzslex;..\..\src\rcv;..\..\src;..\appcmn;G:\rtklib_2.2\app\rtknavi;$(DCC_ObjPath)</DCC_ObjPath> <PackageImports>vclx.bpi;vcl.bpi;$(PackageImports)</PackageImports> - <TASM_Defines>_RTLDLL;NO_STRICT;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=3;$(TASM_Defines)</TASM_Defines> - <BRCC_Defines>_RTLDLL;NO_STRICT;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=3;$(BRCC_Defines)</BRCC_Defines> + <TASM_Defines>_RTLDLL;NO_STRICT;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=4;NEXOBS=3;$(TASM_Defines)</TASM_Defines> + <BRCC_Defines>_RTLDLL;NO_STRICT;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=4;NEXOBS=3;$(BRCC_Defines)</BRCC_Defines> <ILINK_AppType>Windows</ILINK_AppType> - <BCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;ENAIRN;ENACMP;NFREQ=3;NEXOBS=3;ENALEX;$(BCC_Defines)</BCC_Defines> + <BCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;ENAIRN;ENACMP;NFREQ=4;NEXOBS=3;ENALEX;$(BCC_Defines)</BCC_Defines> <BRCC_IncludePath>..\..\..\rtklib_extlex;..\..\extlex;..\..\src\rcv;..\appcmn;..\..\src;$(BDS)\include;$(BDS)\include\dinkumware;$(BDS)\include\vcl;$(BRCC_IncludePath)</BRCC_IncludePath> <BCC_PCHWithExternalTypeFiles>false</BCC_PCHWithExternalTypeFiles> <BCC_UserSuppliedOptions> -tWM</BCC_UserSuppliedOptions> @@ -470,10 +470,7 @@ <Parameters Name="LoadAllSymbols">True</Parameters> <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> </Parameters> - <Excluded_Packages> - <Excluded_Packages Name="$(BDSBIN)\bcboffice2k240.bpl">Embarcadero C++Builder Office 2000 サーãƒãƒ¼ パッケージ</Excluded_Packages> - <Excluded_Packages Name="$(BDSBIN)\bcbofficexp240.bpl">Embarcadero C++Builder Office XP サーãƒãƒ¼ パッケージ</Excluded_Packages> - </Excluded_Packages> + <Excluded_Packages/> <ProjectProperties> <ProjectProperties Name="AutoShowDeps">False</ProjectProperties> <ProjectProperties Name="ManagePaths">True</ProjectProperties> diff --git a/app/rtknavi_win64/rtknavi_win64.cbproj b/app/rtknavi_win64/rtknavi_win64.cbproj index c68e1e94b585a2611cab612fc4a169aa0cb0cbf9..5be69b800917b02a28d6abb8eb57cd8ea219939f 100644 --- a/app/rtknavi_win64/rtknavi_win64.cbproj +++ b/app/rtknavi_win64/rtknavi_win64.cbproj @@ -59,7 +59,7 @@ <Base>true</Base> </PropertyGroup> <PropertyGroup Condition="'$(Base)'!=''"> - <BCC_Defines>WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;ENACMP;ENAIRN;NFREQ=3;NEXOBS=3;$(BCC_Defines)</BCC_Defines> + <BCC_Defines>WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;ENACMP;ENAIRN;NFREQ=4;NEXOBS=3;$(BCC_Defines)</BCC_Defines> <ILINK_LinkwithRegEx>false</ILINK_LinkwithRegEx> <ILINK_LinkwithMidas>false</ILINK_LinkwithMidas> <ILINK_LinkwithZLib>false</ILINK_LinkwithZLib> @@ -99,8 +99,8 @@ <PropertyGroup Condition="'$(Base_Win32)'!=''"> <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> <OutputExt>exe</OutputExt> - <BRCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=3;$(BRCC_Defines)</BRCC_Defines> - <TASM_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=3;$(TASM_Defines)</TASM_Defines> + <BRCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=4;NEXOBS=3;$(BRCC_Defines)</BRCC_Defines> + <TASM_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=4;NEXOBS=3;$(TASM_Defines)</TASM_Defines> <BCC_UserSuppliedOptions> -tWM</BCC_UserSuppliedOptions> <ILINK_LibraryPath>..\..\lib\omf\;$(ILINK_LibraryPath)</ILINK_LibraryPath> <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace> @@ -116,8 +116,8 @@ <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File> <VerInfo_Locale>1033</VerInfo_Locale> <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo> - <TASM_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=3;$(TASM_Defines)</TASM_Defines> - <BRCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=3;$(BRCC_Defines)</BRCC_Defines> + <TASM_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=4;NEXOBS=3;$(TASM_Defines)</TASM_Defines> + <BRCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=4;NEXOBS=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> diff --git a/app/rtkplot/rtkplot.cbproj b/app/rtkplot/rtkplot.cbproj index 9cb171c936c77f4c3bac8a2dd339f4a685a6e92a..20c77da77c83a190f73f5c75ff13046e73c6ee10 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.2</ProjectVersion> + <ProjectVersion>18.4</ProjectVersion> <Platform Condition="'$(Platform)'==''">Win32</Platform> <TargetedPlatforms>1</TargetedPlatforms> <AppType>Application</AppType> @@ -82,9 +82,9 @@ <PropertyGroup Condition="'$(Base_Win32)'!=''"> <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> <OutputExt>exe</OutputExt> - <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> + <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;NEXOBS=0;NFREQ=4;NEXOBS=3;$(BCC_Defines)</BCC_Defines> + <BRCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;NFREQ=4;NEXOBS=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> @@ -513,8 +513,8 @@ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> </Parameters> <Excluded_Packages> - <Excluded_Packages Name="$(BDSBIN)\bcboffice2k250.bpl">Embarcadero C++Builder Office 2000 サーãƒãƒ¼ パッケージ</Excluded_Packages> - <Excluded_Packages Name="$(BDSBIN)\bcbofficexp250.bpl">Embarcadero C++Builder Office XP サーãƒãƒ¼ パッケージ</Excluded_Packages> + <Excluded_Packages Name="$(BDSBIN)\bcboffice2k250.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages> + <Excluded_Packages Name="$(BDSBIN)\bcbofficexp250.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages> </Excluded_Packages> <ProjectProperties> <ProjectProperties Name="AutoShowDeps">False</ProjectProperties> @@ -554,9 +554,8 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="..\..\src\ephemeris.c" Configuration="Release" Class="ProjectFile"> + <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32250mt.dll" Class="DependencyModule"> <Platform Name="Win32"> - <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> </Platform> </DeployFile> @@ -566,8 +565,9 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32250mt.dll" Class="DependencyModule"> + <DeployFile LocalName="..\..\src\rcv\novatel.c" Configuration="Release" Class="ProjectFile"> <Platform Name="Win32"> + <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> </Platform> </DeployFile> @@ -577,7 +577,7 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="..\..\src\rcv\novatel.c" Configuration="Release" Class="ProjectFile"> + <DeployFile LocalName="..\..\src\ephemeris.c" Configuration="Release" Class="ProjectFile"> <Platform Name="Win32"> <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> @@ -649,6 +649,12 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> + <DeployFile LocalName="..\..\src\rcv\swiftnav.c" Configuration="Release" Class="ProjectFile"> + <Platform Name="Win32"> + <RemoteDir>.\</RemoteDir> + <Overwrite>true</Overwrite> + </Platform> + </DeployFile> <DeployFile LocalName="..\..\src\tle.c" Configuration="Release" Class="ProjectFile"> <Platform Name="Win32"> <RemoteDir>.\</RemoteDir> @@ -733,12 +739,6 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="..\..\src\rcv\swiftnav.c" Configuration="Release" Class="ProjectFile"> - <Platform Name="Win32"> - <RemoteDir>.\</RemoteDir> - <Overwrite>true</Overwrite> - </Platform> - </DeployFile> <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64250mt.dll" Class="DependencyModule"> <Platform Name="Win64"> <Overwrite>true</Overwrite> diff --git a/app/rtkpost/rtkpost.cbproj b/app/rtkpost/rtkpost.cbproj index ec524ddad20c787628cbf0f734af3eb4a1cf6331..13c79de873e145f206f0b1bec798c4b8eb795475 100644 --- a/app/rtkpost/rtkpost.cbproj +++ b/app/rtkpost/rtkpost.cbproj @@ -97,9 +97,9 @@ <PropertyGroup Condition="'$(Base_Win32)'!=''"> <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> <OutputExt>exe</OutputExt> - <BRCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=3;$(BRCC_Defines)</BRCC_Defines> - <TASM_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=3;$(TASM_Defines)</TASM_Defines> - <BCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;ENACMP;ENAIRN;NFREQ=3;$(BCC_Defines)</BCC_Defines> + <BRCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=4;NEXOBS=3;$(BRCC_Defines)</BRCC_Defines> + <TASM_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=4;NEXOBS=3;$(TASM_Defines)</TASM_Defines> + <BCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;ENACMP;ENAIRN;NFREQ=4;NEXOBS=3;$(BCC_Defines)</BCC_Defines> <BCC_UserSuppliedOptions> -tWM -AT -xp</BCC_UserSuppliedOptions> <ILINK_LibraryPath>D:\proj\rtklib\lib\iers\;$(ILINK_LibraryPath)</ILINK_LibraryPath> <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace> @@ -111,9 +111,9 @@ <UWP_CppLogo150>$(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_150.png</UWP_CppLogo150> </PropertyGroup> <PropertyGroup Condition="'$(Base_Win64)'!=''"> - <TASM_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=3;$(TASM_Defines)</TASM_Defines> - <BRCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=3;$(BRCC_Defines)</BRCC_Defines> - <BCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;ENACMP;NFREQ=3;$(BCC_Defines)</BCC_Defines> + <TASM_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=4;NEXOBS=3;$(TASM_Defines)</TASM_Defines> + <BRCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;NFREQ=4;NEXOBS=3;$(BRCC_Defines)</BRCC_Defines> + <BCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;ENACMP;NFREQ=4;NEXOBS=3;$(BCC_Defines)</BCC_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> diff --git a/app/rtkpost_win64/rtkpost_win64.cbproj b/app/rtkpost_win64/rtkpost_win64.cbproj index 84e21da9ee7d72fabcd0fa024d108ba65c34387c..96222a085d6a7565535413edae7a9e4edb10f184 100644 --- a/app/rtkpost_win64/rtkpost_win64.cbproj +++ b/app/rtkpost_win64/rtkpost_win64.cbproj @@ -59,7 +59,7 @@ <Base>true</Base> </PropertyGroup> <PropertyGroup Condition="'$(Base)'!=''"> - <BCC_Defines>WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;ENACMP;ENAIRN;NFREQ=3;NEXOBS=3;$(BCC_Defines)</BCC_Defines> + <BCC_Defines>WIN32;TRACE;ENAGLO;ENAGAL;ENAQZS;ENACMP;ENAIRN;NFREQ=4;NEXOBS=3;$(BCC_Defines)</BCC_Defines> <ILINK_LinkwithRegEx>false</ILINK_LinkwithRegEx> <ILINK_LinkwithMidas>false</ILINK_LinkwithMidas> <ILINK_LinkwithZLib>false</ILINK_LinkwithZLib> @@ -96,8 +96,8 @@ <PropertyGroup Condition="'$(Base_Win32)'!=''"> <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> <OutputExt>exe</OutputExt> - <BRCC_Defines>_RTLDLL;WIN32;TRACE;MKL;ENAGLO;ENAQZS;ENAGAL;NFREQ=3;$(BRCC_Defines)</BRCC_Defines> - <TASM_Defines>_RTLDLL;WIN32;TRACE;MKL;ENAGLO;ENAQZS;ENAGAL;NFREQ=3;$(TASM_Defines)</TASM_Defines> + <BRCC_Defines>_RTLDLL;WIN32;TRACE;MKL;ENAGLO;ENAQZS;ENAGAL;ENACMP;NFREQ=4;NEXOBS=3;$(BRCC_Defines)</BRCC_Defines> + <TASM_Defines>_RTLDLL;WIN32;TRACE;MKL;ENAGLO;ENAQZS;ENAGAL;ENACMP;NFREQ=4;NEXOBS=3;$(TASM_Defines)</TASM_Defines> <BCC_UserSuppliedOptions> -tWM -AT -xp</BCC_UserSuppliedOptions> <ILINK_LibraryPath>..\..\lib\omf;$(ILINK_LibraryPath)</ILINK_LibraryPath> <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace> @@ -113,8 +113,8 @@ <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo> <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)</DCC_Namespace> <VerInfo_Locale>1033</VerInfo_Locale> - <TASM_Defines>_RTLDLL;WIN32;TRACE;MKL;ENAGLO;ENAQZS;ENAGAL;NFREQ=3;$(TASM_Defines)</TASM_Defines> - <BRCC_Defines>_RTLDLL;WIN32;TRACE;MKL;ENAGLO;ENAQZS;ENAGAL;NFREQ=3;$(BRCC_Defines)</BRCC_Defines> + <TASM_Defines>_RTLDLL;WIN32;TRACE;MKL;ENAGLO;ENAQZS;ENAGAL;ENACMP;NFREQ=4;NEXOBS=3;$(TASM_Defines)</TASM_Defines> + <BRCC_Defines>_RTLDLL;WIN32;TRACE;MKL;ENAGLO;ENAQZS;ENAGAL;ENACMP;NFREQ=4;NEXOBS=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> diff --git a/app/rtkrcv/gcc/makefile b/app/rtkrcv/gcc/makefile index 6776c7d5a62fe956716387c1e5d6139c48ce4595..b99e0165c4aabae870822c2ad4f3f8286e0e7eb9 100644 --- a/app/rtkrcv/gcc/makefile +++ b/app/rtkrcv/gcc/makefile @@ -5,7 +5,7 @@ SRC = ../../../src # for beagleboard #CTARGET= -mfpu=neon -mfloat-abi=softfp -ffast-math -CTARGET= -DENAGLO -DENAQZS -DENACMP -DENAGAL -DENAIRN -DNFREQ=3 -DSVR_REUSEADDR +CTARGET= -DENAGLO -DENAQZS -DENACMP -DENAGAL -DENAIRN -DNFREQ=4 -DNEXOBS=3 -DSVR_REUSEADDR CFLAGS = -Wall -O3 -ansi -pedantic -Wno-unused-but-set-variable -I$(SRC) -I.. -DTRACE $(CTARGET) -g diff --git a/app/str2str/gcc/makefile b/app/str2str/gcc/makefile index 62308ad11a32804ef1293fcbdc66c39bc48a815d..90a9d902e8f05792274d01f3f7fe1870da27689b 100644 --- a/app/str2str/gcc/makefile +++ b/app/str2str/gcc/makefile @@ -7,8 +7,8 @@ SRC = ../../../src #CTARGET= -mfpu=neon -mfloat-abi=softfp -ffast-math CTARGET= -#OPTION = -DENAGLO -DENAGAL -DENAQZS -DENACMP -DENAIRN -DTRACE -DNFREQ=3 -DNEXOBS=3 -OPTION = -DENAGLO -DENAGAL -DENAQZS -DENACMP -DENAIRN -DTRACE -DNFREQ=3 -DNEXOBS=3 -DSVR_REUSEADDR +#OPTION = -DENAGLO -DENAGAL -DENAQZS -DENACMP -DENAIRN -DTRACE -DNFREQ=4 -DNEXOBS=3 +OPTION = -DENAGLO -DENAGAL -DENAQZS -DENACMP -DENAIRN -DTRACE -DNFREQ=4 -DNEXOBS=3 -DSVR_REUSEADDR CFLAGS = -Wall -O3 -ansi -pedantic -Wno-unused-but-set-variable -I$(SRC) $(OPTION) $(CTARGET) -g UNAME_S := $(shell uname -s) diff --git a/app/strsvr/strsvr.cbproj b/app/strsvr/strsvr.cbproj index 7635596b36c2d69c20462d9a4714e8b595545508..fa4fe06abfa208d063687d074e103be906aad95d 100644 --- a/app/strsvr/strsvr.cbproj +++ b/app/strsvr/strsvr.cbproj @@ -6,7 +6,7 @@ <Base>True</Base> <Config Condition="'$(Config)'==''">Release</Config> <FrameworkType>VCL</FrameworkType> - <ProjectVersion>18.2</ProjectVersion> + <ProjectVersion>18.4</ProjectVersion> <Platform Condition="'$(Platform)'==''">Win32</Platform> <TargetedPlatforms>1</TargetedPlatforms> <AppType>Application</AppType> @@ -102,7 +102,7 @@ <BRCC_Defines>_RTLDLL;WIN32;TRACE;$(BRCC_Defines)</BRCC_Defines> <TASM_Defines>_RTLDLL;WIN32;TRACE;$(TASM_Defines)</TASM_Defines> <BCC_UserSuppliedOptions> -tWM</BCC_UserSuppliedOptions> - <BCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;ENACMP;NFREQ=3;NEXOBS=3;$(BCC_Defines)</BCC_Defines> + <BCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;ENACMP;NFREQ=4;NEXOBS=3;$(BCC_Defines)</BCC_Defines> <Debugger_RunParams>-x 2</Debugger_RunParams> <IncludePath>$(BDSINCLUDE)\windows\vcl;$(IncludePath)</IncludePath> <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace> @@ -115,7 +115,7 @@ <PropertyGroup Condition="'$(Base_Win64)'!=''"> <TASM_Defines>_RTLDLL;WIN32;TRACE;$(TASM_Defines)</TASM_Defines> <BRCC_Defines>_RTLDLL;WIN32;TRACE;$(BRCC_Defines)</BRCC_Defines> - <BCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;ENACMP;NFREQ=3;NEXOBS=3;$(BCC_Defines)</BCC_Defines> + <BCC_Defines>_RTLDLL;WIN32;TRACE;ENAGLO;ENAQZS;ENAGAL;ENACMP;NFREQ=4;NEXOBS=3;$(BCC_Defines)</BCC_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> @@ -277,6 +277,9 @@ <CppCompile Include="..\..\src\rcv\cmr.c"> <BuildOrder>38</BuildOrder> </CppCompile> + <CppCompile Include="..\..\src\rcv\comnav.c"> + <BuildOrder>42</BuildOrder> + </CppCompile> <CppCompile Include="..\..\src\rcv\crescent.c"> <BuildOrder>27</BuildOrder> </CppCompile> @@ -307,9 +310,6 @@ <CppCompile Include="..\..\src\rcv\tersus.c"> <BuildOrder>41</BuildOrder> </CppCompile> - <CppCompile Include="..\..\src\rcv\comnav.c"> - <BuildOrder>42</BuildOrder> - </CppCompile> <CppCompile Include="..\..\src\rcv\ublox.c"> <BuildOrder>35</BuildOrder> </CppCompile> @@ -345,21 +345,21 @@ <BuildOrder>26</BuildOrder> <BuildOrder>12</BuildOrder> </CppCompile> - <FormResources Include="..\appcmn\refdlg.dfm"/> <FormResources Include="..\appcmn\keydlg.dfm"/> + <FormResources Include="..\appcmn\refdlg.dfm"/> <FormResources Include="..\appcmn\serioptdlg.dfm"/> - <FormResources Include="..\appcmn\viewer.dfm"/> <FormResources Include="..\appcmn\tcpoptdlg.dfm"/> - <FormResources Include="..\appcmn\cmdoptdlg.dfm"/> + <FormResources Include="..\appcmn\viewer.dfm"/> <FormResources Include="..\appcmn\aboutdlg.dfm"/> + <FormResources Include="..\appcmn\cmdoptdlg.dfm"/> <FormResources Include="..\appcmn\confdlg.dfm"/> - <FormResources Include="..\appcmn\ftpoptdlg.dfm"/> <FormResources Include="..\appcmn\fileoptdlg.dfm"/> + <FormResources Include="..\appcmn\ftpoptdlg.dfm"/> + <FormResources Include="..\appcmn\vieweropt.dfm"/> <FormResources Include="svroptdlg.dfm"/> - <FormResources Include="svrmain.dfm"/> <FormResources Include="convdlg.dfm"/> - <FormResources Include="..\appcmn\vieweropt.dfm"/> <FormResources Include="mondlg.dfm"/> + <FormResources Include="svrmain.dfm"/> <BuildConfiguration Include="Release"> <Key>Cfg_2</Key> <CfgParent>Base</CfgParent> @@ -461,15 +461,15 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="Release_Build\strsvr.exe" Configuration="Release" Class="ProjectOutput"> + <DeployFile LocalName="..\..\src\rcv\ublox.c" Configuration="Release" Class="ProjectFile"> <Platform Name="Win32"> - <RemoteName>strsvr.exe</RemoteName> + <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="..\..\src\rcv\ublox.c" Configuration="Release" Class="ProjectFile"> + <DeployFile LocalName="Release_Build\strsvr.exe" Configuration="Release" Class="ProjectOutput"> <Platform Name="Win32"> - <RemoteDir>.\</RemoteDir> + <RemoteName>strsvr.exe</RemoteName> <Overwrite>true</Overwrite> </Platform> </DeployFile> @@ -479,18 +479,18 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32240mt.dll" Class="DependencyModule"> + <DeployFile LocalName="..\..\src\rtcm3e.c" Configuration="Release" Class="ProjectFile"> <Platform Name="Win32"> + <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="..\..\src\rtcm2.c" Configuration="Release" Class="ProjectFile"> + <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32240mt.dll" Class="DependencyModule"> <Platform Name="Win32"> - <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="..\..\src\rtcm3e.c" Configuration="Release" Class="ProjectFile"> + <DeployFile LocalName="..\..\src\rtcm2.c" Configuration="Release" Class="ProjectFile"> <Platform Name="Win32"> <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> @@ -518,6 +518,12 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> + <DeployFile LocalName="..\..\src\rcv\swiftnav.c" Configuration="Release" Class="ProjectFile"> + <Platform Name="Win32"> + <RemoteDir>.\</RemoteDir> + <Overwrite>true</Overwrite> + </Platform> + </DeployFile> <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64240mt.dll" Class="DependencyModule"> <Platform Name="Win64"> <Overwrite>true</Overwrite> @@ -570,12 +576,6 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="..\..\src\rcv\comnav.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"> <Platform Name="Win32"> <RemoteDir>.\</RemoteDir> @@ -631,15 +631,14 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="..\..\src\rcv\swiftnav.c" Configuration="Release" Class="ProjectFile"> + <DeployFile LocalName="strsvr.res" Configuration="Release" Class="ProjectFile"> <Platform Name="Win32"> <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile LocalName="strsvr.res" Configuration="Release" Class="ProjectFile"> + <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c250.dll" Class="DependencyModule"> <Platform Name="Win32"> - <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> </Platform> </DeployFile> @@ -655,13 +654,14 @@ <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c250.dll" Class="DependencyModule"> - <Platform Name="Win32"> + <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64250mt.dll" Class="DependencyModule"> + <Platform Name="Win64"> <Overwrite>true</Overwrite> </Platform> </DeployFile> - <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64250mt.dll" Class="DependencyModule"> - <Platform Name="Win64"> + <DeployFile LocalName="..\..\src\rcv\comnav.c" Configuration="Release" Class="ProjectFile"> + <Platform Name="Win32"> + <RemoteDir>.\</RemoteDir> <Overwrite>true</Overwrite> </Platform> </DeployFile> diff --git a/src/convrnx.c b/src/convrnx.c index 41144f6ad501fa1b6cf6a6752bc902a0f1eee8ac..d017eded6056fbf0c7237409952369914ee9b92e 100644 --- a/src/convrnx.c +++ b/src/convrnx.c @@ -687,14 +687,20 @@ static void set_obstype(int format, rnxopt_t *opt) {0}, {0} }; - static const unsigned char codes_rtcm3[NSATSYS][8]={ /* rtcm3 */ - {CODE_L1C,CODE_L1W,CODE_L2W,CODE_L2X,CODE_L5X}, - {CODE_L1C,CODE_L1P,CODE_L2C,CODE_L2P}, - {CODE_L1X,CODE_L5X,CODE_L7X,CODE_L8X}, - {CODE_L1C,CODE_L2X,CODE_L5X}, - {CODE_L1C,CODE_L5X}, - {CODE_L1I,CODE_L7I}, - {0} + static const unsigned char codes_rtcm3[NSATSYS][32]={ /* rtcm 3.2 */ + {CODE_L1C,CODE_L1P,CODE_L1W,CODE_L1Y,CODE_L1M,CODE_L1N,CODE_L1S,CODE_L1L, + CODE_L2C,CODE_L2D,CODE_L2S,CODE_L2L,CODE_L2X,CODE_L2P,CODE_L2W,CODE_L2Y, + CODE_L2M,CODE_L2N,CODE_L5I,CODE_L5Q,CODE_L5X}, + {CODE_L1C,CODE_L1P,CODE_L2C,CODE_L2P,CODE_L3I,CODE_L3Q,CODE_L3X}, + {CODE_L1C,CODE_L1A,CODE_L1B,CODE_L1X,CODE_L1Z,CODE_L5I,CODE_L5Q,CODE_L5X, + CODE_L6A,CODE_L6B,CODE_L6C,CODE_L6X,CODE_L6Z,CODE_L7I,CODE_L7Q,CODE_L7X, + CODE_L8I,CODE_L8Q,CODE_L8X}, + {CODE_L1C,CODE_L1S,CODE_L1L,CODE_L1X,CODE_L1Z,CODE_L2S,CODE_L2L,CODE_L2X, + CODE_L5I,CODE_L5Q,CODE_L5X,CODE_L6S,CODE_L6L,CODE_L6X}, + {CODE_L1C,CODE_L5I,CODE_L5Q,CODE_L5X}, + {CODE_L1I,CODE_L1Q,CODE_L1X,CODE_L7I,CODE_L7Q,CODE_L7X,CODE_L6I,CODE_L6Q, + CODE_L6X}, + {CODE_L5A,CODE_L5B,CODE_L5C,CODE_L5X,CODE_L9A,CODE_L9B,CODE_L9C,CODE_L9X} }; static const unsigned char codes_cnav[NSATSYS][8]={ /* comnav */ {CODE_L1C,CODE_L1P,CODE_L2D,CODE_L2X,CODE_L5I}, @@ -777,19 +783,19 @@ static void set_obstype(int format, rnxopt_t *opt) static const unsigned char codes_sbp[NSATSYS][8]={ /* Swift */ {CODE_L1C,CODE_L2S}, {CODE_L1C,CODE_L2C}, + {CODE_L1B,CODE_L7I}, {CODE_L1C}, {CODE_L1C}, - {CODE_L1C}, - {CODE_L1I}, + {CODE_L1I,CODE_L7I}, {0} }; - static const unsigned char codes_other[7][8]={ /* others */ - {CODE_L1C}, - {CODE_L1C}, - {CODE_L1X}, + static const unsigned char codes_other[NSATSYS][8]={ /* others inc u-blox */ + {CODE_L1C,CODE_L2L}, + {CODE_L1C,CODE_L2C}, + {CODE_L1C,CODE_L1X,CODE_L7Q}, {CODE_L1C}, {CODE_L1C}, - {CODE_L1I}, + {CODE_L1I,CODE_L7I}, {0} }; const unsigned char *codes; diff --git a/src/ionex.c b/src/ionex.c index afec8a96b01b89f116d8024002d1f9f1de9424f1..55045a06d86b4abe3391d377015e1326c51671f6 100644 --- a/src/ionex.c +++ b/src/ionex.c @@ -374,7 +374,7 @@ static int interptec(const tec_t *tec, int k, const double *posp, double *value, static int iondelay(gtime_t time, const tec_t *tec, const double *pos, const double *azel, int opt, double *delay, double *var) { - const double fact=40.30E16/FREQ1/FREQ1; /* tecu->L1 iono (m) */ + const double fact=40.30E16/FREQL1/FREQL1; /* tecu->L1 iono (m) */ double fs,posp[3]={0},vtec,rms,hion,rp; int i; diff --git a/src/lambda.c b/src/lambda.c index 6b847f2ee76d29996a56f29c964d65d517bcd372..e071ddaed5fe9e9a190c5934c6b35368c7042fa3 100644 --- a/src/lambda.c +++ b/src/lambda.c @@ -161,7 +161,7 @@ static int search(int n, int m, const double *L, const double *D, if (c>=LOOPMAX) { fprintf(stderr,"%s : search loop count overflow\n",__FILE__); - return -1; + return -2; } return 0; } diff --git a/src/options.c b/src/options.c index c80af92440d00cb00068a514392334d254579596..5241fd941abfdd79d8609cf580e5c0cae5672889 100644 --- a/src/options.c +++ b/src/options.c @@ -40,7 +40,7 @@ static char snrmask_[NFREQ][1024]; /* system options table ------------------------------------------------------*/ #define SWTOPT "0:off,1:on" #define MODOPT "0:single,1:dgps,2:kinematic,3:static,4:static-start,5:movingbase,6:fixed,7:ppp-kine,8:ppp-static,9:ppp-fixed" -#define FRQOPT "1:l1,2:l1+l2,3:l1+l2+l5,4:l1+l5" +#define FRQOPT "1:l1,2:l1+l2,3:l1+l2+e5b,4:l1+l2+e5b+l5" #define TYPOPT "0:forward,1:backward,2:combined" #define IONOPT "0:off,1:brdc,2:sbas,3:dual-freq,4:est-stec,5:ionex-tec,6:qzs-brdc,7:qzs-lex,8:stec" #define TRPOPT "0:off,1:saas,2:sbas,3:est-ztd,4:est-ztdgrad,5:ztd" @@ -431,10 +431,10 @@ static void buff2sysopts(void) } } /* number of frequency (4:L1+L5) */ - if (prcopt_.nf==4) { + /*if (prcopt_.nf==4) { prcopt_.nf=3; prcopt_.freqopt=1; - } + }*/ } /* options to system options buffer ------------------------------------------*/ static void sysopts2buff(void) @@ -478,10 +478,10 @@ static void sysopts2buff(void) } } /* number of frequency (4:L1+L5) */ - if (prcopt_.nf==3&&prcopt_.freqopt==1) { + /*if (prcopt_.nf==3&&prcopt_.freqopt==1) { prcopt_.nf=4; prcopt_.freqopt=0; - } + }*/ } /* reset system options to default --------------------------------------------- * reset system options to default diff --git a/src/rcv/cmr.c b/src/rcv/cmr.c index 67eb0ef919ca2ad758934e85c1e36760d0113b1d..4d51c89eaeff0a28e55c1422a8fa0f6217187567 100644 --- a/src/rcv/cmr.c +++ b/src/rcv/cmr.c @@ -346,8 +346,8 @@ #define M_MFLAG_NOL2MSG2 M_BIT7 /* Conversion factors: */ -#define L1_WAVELENGTH (CLIGHT/FREQ1) /* GPS L1 wavelength (meters) */ -#define L2_WAVELENGTH (CLIGHT/FREQ2) /* GPS L2 wavelength (meters) */ +#define L1_WAVELENGTH (CLIGHT/FREQL1) /* GPS L1 wavelength (meters) */ +#define L2_WAVELENGTH (CLIGHT/FREQL2) /* GPS L2 wavelength (meters) */ #define RANGE_MS (CLIGHT*0.001) /* Meters per millisecond at light speed */ /* diff --git a/src/rcv/nvs.c b/src/rcv/nvs.c index 8547d910acad649f07bfa66ce183267eb414a2ff..3e1a249bbd3aacc948c960cf4099a10a7246bd77 100644 --- a/src/rcv/nvs.c +++ b/src/rcv/nvs.c @@ -134,7 +134,7 @@ static int decode_xf5raw(raw_t *raw) if (sys==SYS_GLO) { raw->obs.data[n].L[0] = L1 - toff*(FREQ1_GLO+DFRQ1_GLO*carrNo); } else { - raw->obs.data[n].L[0] = L1 - toff*FREQ1; + raw->obs.data[n].L[0] = L1 - toff*FREQL1; } raw->obs.data[n].P[0] = (P1-dTowFrac)*CLIGHT*0.001 - toff*CLIGHT; /* in ms, needs to be converted */ raw->obs.data[n].D[0] = (float)D1; diff --git a/src/rcv/rt17.c b/src/rcv/rt17.c index 50ebe0b6093a4f6f01f9995e45a43fdfcabf8972..761195d649b7445124b5a11aeffc9885cc4565cc 100644 --- a/src/rcv/rt17.c +++ b/src/rcv/rt17.c @@ -1853,10 +1853,10 @@ static int DecodeType17(raw_t *Raw, unsigned int rif) /* Apply clock offset to observables */ if (ClockOffset != 0.0) { - obs->P[0] += ClockOffset * (CLIGHT/FREQ1); - obs->P[1] += ClockOffset * (CLIGHT/FREQ2); - obs->L[0] += ClockOffset * FREQ1; - obs->L[1] += ClockOffset * FREQ2; + obs->P[0] += ClockOffset * (CLIGHT/FREQL1); + obs->P[1] += ClockOffset * (CLIGHT/FREQL2); + obs->L[0] += ClockOffset * FREQL1; + obs->L[1] += ClockOffset * FREQL2; } #endif n++; diff --git a/src/rcv/septentrio.c b/src/rcv/septentrio.c index c67a83f568e772d10a67d5856f636e5ad1004b9f..655ed06f874a07ce09be3aaffb0285708d03991c 100644 --- a/src/rcv/septentrio.c +++ b/src/rcv/septentrio.c @@ -389,12 +389,12 @@ static int decode_measepoch(raw_t *raw){ h=getFreqNo(signType1); #else freqType1 = getSigFreq(signType1,8); - if (freqType1 == FREQ1) h = 0; - else if (freqType1 == FREQ2) h = 1; - else if (freqType1 == FREQ5) h = 2; - else if (freqType1 == FREQ6) h = 3; - else if (freqType1 == FREQ7) h = 4; - else if (freqType1 == FREQ8) h = 5; + if (freqType1 == FREQL1) h = 0; + else if (freqType1 == FREQL2) h = 1; + else if (freqType1 == FREQE5b) h = 2; + else if (freqType1 == FREQL5) h = 3; + else if (freqType1 == FREQE6) h = 4; + else if (freqType1 == FREQE5ab) h = 5; else h = 0; #endif /* store signal info */ @@ -469,12 +469,12 @@ static int decode_measepoch(raw_t *raw){ h=getFreqNo(signType2); #else freqType2 = getSigFreq(signType2,8); - if (freqType2 == FREQ1) h = 0; - else if (freqType2 == FREQ2) h = 1; - else if (freqType2 == FREQ5) h = 2; - else if (freqType2 == FREQ6) h = 3; - else if (freqType2 == FREQ7) h = 4; - else if (freqType2 == FREQ8) h = 5; + if (freqType2 == FREQL1) h = 0; + else if (freqType2 == FREQL2) h = 1; + else if (freqType2 == FREQE5b)h = 2; + else if (freqType2 == FREQL5) h = 3; + else if (freqType2 == FREQE6) h = 4; + else if (freqType2 == FREQE5ab) h = 5; else h = 0; #endif pri=getcodepri(sys,getSignalCode(signType2),raw->opt); /* get signal priority */ @@ -514,19 +514,19 @@ static double getSigFreq(int _signType, int freqNo){ switch (_signType) { case 0: /* GPSL1CA */ - return FREQ1; + return FREQL1; case 1: /* GPSL1PY */ - return FREQ1; + return FREQL1; case 2: /* GPSL2PY */ - return FREQ2; + return FREQL2; case 3: /* GPSL2C */ - return FREQ2; + return FREQL2; case 4: /* GPSL5 */ - return FREQ5; + return FREQL5; case 6: /* QZSL1C */ - return FREQ1; + return FREQL1; case 7: /* QZSL2C */ - return FREQ2; + return FREQL2; case 8: /* GLOL1CA */ return FREQ1_GLO+(freqNo*9./16.)*1e6; case 9: /* GLOL1P */ @@ -538,27 +538,27 @@ static double getSigFreq(int _signType, int freqNo){ case 12: /* GLOL3X */ return 1.202025*1e9; case 15: /* IRNSSL5 */ - return FREQ5; + return FREQL5; case 16: /* GALL1A */ - return FREQ1; + return FREQL1; case 17: /* GALL1BC */ - return FREQ1; + return FREQL1; case 18: /* GALE6A */ - return FREQ6; + return FREQE6; case 19: /* GALE6BC */ - return FREQ6; + return FREQE6; case 20: /* GALE5a */ - return FREQ5; + return FREQL5; case 21: /* GALE5b */ - return FREQ7; + return FREQE5b; case 22: /* GALE5 */ - return FREQ8; + return FREQE5ab; case 24: /* GEOL1 */ - return FREQ1; + return FREQL1; case 25: /* GEOL5 */ - return FREQ5; + return FREQL5; case 26: /* QZSL5 */ - return FREQ5; + return FREQL5; case 28: /* CMPL1 */ return FREQ1_CMP; case 29: /* CMPE5B */ @@ -566,7 +566,7 @@ static double getSigFreq(int _signType, int freqNo){ case 30: /* CMPB3 */ return FREQ3_CMP; } - return FREQ1; + return FREQL1; } #if 0 /* UNUSED */ diff --git a/src/rcv/swiftnav.c b/src/rcv/swiftnav.c index dc31095588ad60a0963b578047042cc4d8564056..6fe1989fde9a9c60d8abe3e2e8f2801467e88065 100644 --- a/src/rcv/swiftnav.c +++ b/src/rcv/swiftnav.c @@ -21,10 +21,13 @@ static const char rcsid[] = "$Id: Swiftnav SBP,v 1.0 2017/02/01 FT $"; #define ID_MEASEPOCH 0x004A /* observation */ #define ID_MSGEPHGPS_DEP1 0x0081 /* GPS L1 C/A nav message (deprecated) */ -#define ID_MSGEPHGPS 0x0086 /* GPS L1 C/A nav message */ -#define ID_MSGEPHGLO 0x0088 /* Glonass L1/L2 OF nav message */ +#define ID_MSGEPHGPS_DEP2 0x0086 /* GPS L1 C/A nav message (deprecated) */ +#define ID_MSGEPHGPS 0x008A /* GPS L1 C/A nav message */ #define ID_MSGEPHBDS 0x0089 /* BDS B1/B2 D1 nav message */ #define ID_MSGEPHGAL 0x0095 /* GAL E1 I/NAV message */ +#define ID_MSGEPHGLO_DEP1 0x0088 /* Glonass L1/L2 OF nav message (deprecated) \ + */ +#define ID_MSGEPHGLO 0x008B /* Glonass L1/L2 OF nav message */ #define ID_MSGIONGPS 0x0090 /* GPS ionospheric parameters */ #define ID_MSG_SBAS_RAW 0x7777 /* SBAS data */ @@ -83,7 +86,7 @@ typedef enum code_e { CODE_GPS_L5I = 9, CODE_GPS_L5Q = 10, CODE_GPS_L5X = 11, /* combined L5 tracking */ - CODE_BDS2_B11 = 12, /* data channel at 1526 * 1.023 MHz */ + CODE_BDS2_B1 = 12, /* data channel at 1526 * 1.023 MHz */ CODE_BDS2_B2 = 13, /* data channel at 1180 * 1.023 MHz */ CODE_GAL_E1B = 14, /* data channel at E1 (1540 * 1.023 MHz) */ CODE_GAL_E1C = 15, /* pilot channel at E1 */ @@ -108,6 +111,48 @@ typedef enum code_e { CODE_COUNT } code_t; +typedef struct { + uint32_t code; + uint32_t sys; + uint32_t freq; +} bandcode_t; + +static bandcode_t rtklib_bandcode_map[CODE_COUNT] = + {{CODE_L1C, SYS_GPS, 0}, /* [CODE_GPS_L1CA] */ + {CODE_L2S, SYS_GPS, 1}, /* [CODE_GPS_L2CM] */ + {CODE_L1C, SYS_SBS, 0}, /* [CODE_SBAS_L1CA]*/ + {CODE_L1C, SYS_GLO, 0}, /* [CODE_GLO_L1OF] */ + {CODE_L2C, SYS_GLO, 1}, /* [CODE_GLO_L2OF] */ + {CODE_L1P, SYS_GPS, 0}, /* [CODE_GPS_L1P] */ + {CODE_L2P, SYS_GPS, 1}, /* [CODE_GPS_L2P] */ + {CODE_L2L, SYS_GPS, 1}, /* [CODE_GPS_L2CL] */ + {CODE_L2X, SYS_GPS, 1}, /* [CODE_GPS_L2CX] */ + {CODE_L5I, SYS_GPS, 3}, /* [CODE_GPS_L5I] */ + {CODE_L5Q, SYS_GPS, 3}, /* [CODE_GPS_L5Q] */ + {CODE_L5X, SYS_GPS, 3}, /* [CODE_GPS_L5X] */ + {CODE_L1I, SYS_CMP, 0}, /* [CODE_BDS2_B1] */ + {CODE_L7I, SYS_CMP, 1}, /* [CODE_BDS2_B2] */ + {CODE_L1B, SYS_GAL, 0}, /* [CODE_GAL_E1B] */ + {CODE_L1C, SYS_GAL, 0}, /* [CODE_GAL_E1C] */ + {CODE_L1X, SYS_GAL, 0}, /* [CODE_GAL_E1X] */ + {CODE_L6B, SYS_GAL, 4}, /* [CODE_GAL_E6B] */ + {CODE_L6C, SYS_GAL, 4}, /* [CODE_GAL_E6C] */ + {CODE_L6X, SYS_GAL, 4}, /* [CODE_GAL_E6X] */ + {CODE_L7I, SYS_GAL, 2}, /* [CODE_GAL_E7I] */ + {CODE_L7Q, SYS_GAL, 2}, /* [CODE_GAL_E7Q] */ + {CODE_L7X, SYS_GAL, 2}, /* [CODE_GAL_E7X] */ + {CODE_L8X, SYS_GAL, 3}, /* [CODE_GAL_E8] */ + {CODE_L5I, SYS_GAL, 3}, /* [CODE_GAL_E5I] */ + {CODE_L5Q, SYS_GAL, 3}, /* [CODE_GAL_E5Q] */ + {CODE_L5X, SYS_GAL, 3}, /* [CODE_GAL_E5X] */ + {CODE_L1C, SYS_QZS, 0}, /* [CODE_QZS_L1CA] */ + {CODE_L2S, SYS_QZS, 1}, /* [CODE_QZS_L2CM] */ + {CODE_L2L, SYS_QZS, 1}, /* [CODE_QZS_L2CL] */ + {CODE_L2X, SYS_QZS, 1}, /* [CODE_QZS_L2CX] */ + {CODE_L5I, SYS_QZS, 3}, /* [CODE_QZS_L5I] */ + {CODE_L5Q, SYS_QZS, 3}, /* [CODE_QZS_L5Q] */ + {CODE_L5X, SYS_QZS, 3}}; /* [CODE_QZS_L5X] */ + /* checksum lookup table -----------------------------------------------------*/ static const uint32_t CRC_16CCIT_LookUp[256] = { 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, 0x8108, @@ -177,6 +222,7 @@ static const uint8_t decoding_table[256] = { static uint8_t puPayloadTmp[256]; +static const gtime_t time0 = {0}; static int Base64_Decode(uint8_t *_pcData, uint32_t _uDataLen, uint8_t *_puDecodedData, uint32_t *_puDecodedDataLen) { uint32_t i, j; @@ -242,36 +288,8 @@ static uint16_t sbp_checksum(uint8_t *buff, int len) { return crc; } -/* 8-bit week -> full week ---------------------------------------------------*/ -static void adj_utcweek(gtime_t time, double *utc) { - int week; - - if (utc[3] >= 256.0) - return; - time2gpst(time, &week); - utc[3] += week / 256 * 256; - if (utc[3] < week - 128) - utc[3] += 256.0; - else if (utc[3] > week + 128) - utc[3] -= 256.0; -} -/* adjust daily roll-over of time - * ---------------------------------------------*/ -static gtime_t adjday(gtime_t time, double tod) { - double ep[6], tod_p; - time2epoch(time, ep); - tod_p = ep[3] * 3600.0 + ep[4] * 60.0 + ep[5]; - if (tod < tod_p - 43200.0) - tod += 86400.0; - else if (tod > tod_p + 43200.0) - tod -= 86400.0; - ep[3] = ep[4] = ep[5] = 0.0; - return timeadd(epoch2time(ep), tod); -} - /* flush observation data buffer ---------------------------------------------*/ static int flushobuf(raw_t *raw) { - gtime_t time0 = {0}; int i, j, n = 0; trace(3, "flushobuf: n=%d\n", raw->obuf.n); @@ -296,8 +314,9 @@ static int flushobuf(raw_t *raw) { raw->obuf.data[i].code[j] = CODE_NONE; } } - for (i = 0; i < MAXSAT; i++) + for (i = 0; i < MAXSAT; i++) { raw->prCA[i] = raw->dpCA[i] = 0.0; + } return n > 0 ? 1 : 0; } /* clear buffer --------------------------------------------------------------*/ @@ -339,11 +358,12 @@ static uint8_t calculate_loss_of_lock(double dt, uint32_t prev_lock_time, static int decode_msgobs(raw_t *raw) { gtime_t time; double tow, dResTow, pseudorange, carr_phase, freq_doppler, delta_time; - int16_t i, ii, sat, n, week; + int16_t i, ii, sat, n, week, band_code; uint8_t *p = (raw->buff) + 6; /* jump to TOW location */ uint8_t num_obs, lock_info; - uint32_t sys, prev_lockt = 0, curr_lockt = 0; - uint8_t flags, sat_id, band_code, cn0_int, code, freq, slip, half_cycle_amb; + uint32_t prev_lockt = 0, curr_lockt = 0; + uint8_t flags, sat_id, cn0_int, slip, half_cycle_amb; + uint32_t code = 0, sys = 0, freq = 0; int iDidFlush = 0, iSatFound = 0; trace(4, "SBF decode_msgobs: len=%d\n", raw->len); @@ -395,57 +415,10 @@ static int decode_msgobs(raw_t *raw) { carr_phase = -carr_phase; } - switch (band_code) { - case 0: /* GPS L1C/A */ - code = CODE_L1C; - sys = SYS_GPS; - freq = 0; - break; - case 1: /* GPS L2CM */ - code = CODE_L2S; - sys = SYS_GPS; - freq = 1; - break; - case 2: /* SBAS L1C/A */ - code = CODE_L1C; - sys = SYS_SBS; - freq = 0; - break; - case 3: /* Glonass L1C/A */ - code = CODE_L1C; - sys = SYS_GLO; - freq = 0; - break; - case 4: /* Glonass L2C/A */ - code = CODE_L2C; - sys = SYS_GLO; - freq = 1; - break; - case 5: /* GPS L1P */ - code = CODE_L1P; - sys = SYS_GPS; - freq = 0; - break; - case 6: /* GPS L2P */ - code = CODE_L2P; - sys = SYS_GPS; - freq = 1; - break; - case 12: /* Beidou B1 */ - code = CODE_L1I; - sys = SYS_CMP; - freq = 0; - break; - case 13: /* Beidou B2 */ - code = CODE_L7I; - sys = SYS_CMP; - freq = 1; - break; - default: - code = CODE_NONE; - sys = SYS_GPS; - freq = 0; - break; + if ((CODE_INVALID != band_code) && (band_code < CODE_COUNT)) { + code = rtklib_bandcode_map[band_code].code; + sys = rtklib_bandcode_map[band_code].sys; + freq = rtklib_bandcode_map[band_code].freq; } /* store satellite number */ @@ -476,8 +449,8 @@ static int decode_msgobs(raw_t *raw) { if (flags & 0x2) { prev_lockt = rtcm_phase_lock_table[(raw->halfc[sat - 1][freq])]; curr_lockt = rtcm_phase_lock_table[lock_info]; - slip = calculate_loss_of_lock(delta_time * 1000.0, prev_lockt, - curr_lockt); + slip = + calculate_loss_of_lock(delta_time * 1000.0, prev_lockt, curr_lockt); half_cycle_amb = (flags & 0x4) ? 0 : 1; if (half_cycle_amb) { slip |= 0x2; /* half-cycle ambiguity unresolved */ @@ -498,30 +471,18 @@ static int decode_msgobs(raw_t *raw) { return iDidFlush; } -/* adjust weekly roll-over of gps time - * ----------------------------------------*/ -static gtime_t adjweek(gtime_t time, double tow) { - double tow_p; - int week; - tow_p = time2gpst(time, &week); - if (tow < tow_p - 302400.0) - tow += 604800.0; - else if (tow > tow_p + 302400.0) - tow -= 604800.0; - return gpst2time(week, tow); -} - /* common part of GPS eph decoding (navigation data) * --------------------------*/ -static void decode_gpsnav_common(uint8_t *_pBuff, eph_t *_pEph) { +static void decode_gpsnav_common_dep1(uint8_t *_pBuff, eph_t *_pEph) { uint16_t uWeekE, uWeekC; double dToc; _pEph->toes = U4(_pBuff + 4); uWeekE = U2(_pBuff + 8); _pEph->sva = uraindex(R8(_pBuff + 10), SYS_GPS); /* URA index */ - _pEph->fit = U4(_pBuff + 14) ? 0 : 4; - _pEph->flag = U1(_pBuff + 15); + _pEph->fit = U4(_pBuff + 18) / 3600; + /* _pEph->flag = U1(_pBuff + 22); SBP payload does not have L2 flag */ + _pEph->svh = U1(_pBuff + 23); _pEph->tgd[0] = R8(_pBuff + 24); _pEph->crs = R8(_pBuff + 32); @@ -555,28 +516,28 @@ static void decode_gpsnav_common(uint8_t *_pBuff, eph_t *_pEph) { _pEph->toc = gpst2time(uWeekC, dToc); } -/* common part of BDS eph decoding (navigation data) +/* common part of GPS eph decoding (navigation data) * --------------------------*/ -static void decode_bdsnav_common(uint8_t *_pBuff, eph_t *_pEph) { +static void decode_gpsnav_common(uint8_t *_pBuff, eph_t *_pEph) { uint16_t uWeekE, uWeekC; double dToc; - _pEph->toes = U4(_pBuff + 4) - BDS_SECOND_TO_GPS_SECOND; + _pEph->toes = U4(_pBuff + 4); uWeekE = U2(_pBuff + 8); _pEph->sva = uraindex(R4(_pBuff + 10), SYS_CMP); /* URA index */ - _pEph->fit = U4(_pBuff + 14) ? 0 : 4; - _pEph->flag = U1(_pBuff + 18); + _pEph->fit = U4(_pBuff + 14) / 3600; + /* _pEph->flag = U1(_pBuff + 18); SBP payload does not have L2 flag */ + _pEph->svh = U1(_pBuff + 19); _pEph->tgd[0] = R4(_pBuff + 20); - _pEph->tgd[1] = R4(_pBuff + 24); - _pEph->crs = R4(_pBuff + 28); - _pEph->crc = R4(_pBuff + 32); - _pEph->cuc = R4(_pBuff + 36); - _pEph->cus = R4(_pBuff + 40); - _pEph->cic = R4(_pBuff + 44); - _pEph->cis = R4(_pBuff + 48); - - _pEph->deln = R4(_pBuff + 52); + _pEph->crs = R4(_pBuff + 24); + _pEph->crc = R4(_pBuff + 28); + _pEph->cuc = R4(_pBuff + 32); + _pEph->cus = R4(_pBuff + 36); + _pEph->cic = R4(_pBuff + 40); + _pEph->cis = R4(_pBuff + 44); + + _pEph->deln = R8(_pBuff + 48); _pEph->M0 = R8(_pBuff + 56); _pEph->e = R8(_pBuff + 64); _pEph->A = pow(R8(_pBuff + 72), 2); @@ -584,9 +545,9 @@ static void decode_bdsnav_common(uint8_t *_pBuff, eph_t *_pEph) { _pEph->OMGd = R8(_pBuff + 88); _pEph->omg = R8(_pBuff + 96); _pEph->i0 = R8(_pBuff + 104); - _pEph->idot = R4(_pBuff + 112); + _pEph->idot = R8(_pBuff + 112); - _pEph->f0 = R8(_pBuff + 116); + _pEph->f0 = R4(_pBuff + 120); _pEph->f1 = R4(_pBuff + 124); _pEph->f2 = R4(_pBuff + 128); @@ -595,6 +556,51 @@ static void decode_bdsnav_common(uint8_t *_pBuff, eph_t *_pEph) { _pEph->iode = U1(_pBuff + 138); _pEph->iodc = U2(_pBuff + 139); + _pEph->week = adjgpsweek(uWeekE); + _pEph->toe = gpst2time(_pEph->week, _pEph->toes); + _pEph->toc = gpst2time(uWeekC, dToc); +} + +/* common part of BDS eph decoding (navigation data) + * --------------------------*/ +static void decode_bdsnav_common(uint8_t *_pBuff, eph_t *_pEph) { + uint16_t uWeekE, uWeekC; + double dToc; + + _pEph->toes = U4(_pBuff + 4) - BDS_SECOND_TO_GPS_SECOND; + uWeekE = U2(_pBuff + 8); + _pEph->sva = uraindex(R4(_pBuff + 10),SYS_CMP); /* URA index */ + _pEph->fit = U4(_pBuff + 14) ? 0 : 4; + _pEph->flag = U1(_pBuff + 18); + + _pEph->tgd[0] = R4(_pBuff + 20); + _pEph->tgd[1] = R4(_pBuff + 24); + _pEph->crs = R4(_pBuff + 28); + _pEph->crc = R4(_pBuff + 32); + _pEph->cuc = R4(_pBuff + 36); + _pEph->cus = R4(_pBuff + 40); + _pEph->cic = R4(_pBuff + 44); + _pEph->cis = R4(_pBuff + 48); + + _pEph->deln = R8(_pBuff + 52); + _pEph->M0 = R8(_pBuff + 60); + _pEph->e = R8(_pBuff + 68); + _pEph->A = pow(R8(_pBuff + 76), 2); + _pEph->OMG0 = R8(_pBuff + 84); + _pEph->OMGd = R8(_pBuff + 92); + _pEph->omg = R8(_pBuff + 100); + _pEph->i0 = R8(_pBuff + 108); + _pEph->idot = R8(_pBuff + 116); + + _pEph->f0 = R8(_pBuff + 124); + _pEph->f1 = R4(_pBuff + 132); + _pEph->f2 = R4(_pBuff + 136); + + dToc = U4(_pBuff + 140); + uWeekC = U2(_pBuff + 144); /* WN */ + _pEph->iode = U1(_pBuff + 146); + _pEph->iodc = U2(_pBuff + 147); + _pEph->week = adjgpsweek(uWeekE) - BDS_WEEK_TO_GPS_WEEK; _pEph->toe = gpst2time(_pEph->week, _pEph->toes); _pEph->toc = gpst2time(uWeekC, dToc); @@ -621,24 +627,24 @@ static void decode_galnav_common(uint8_t *_pBuff, eph_t *_pEph) { _pEph->cic = R4(_pBuff + 44); _pEph->cis = R4(_pBuff + 48); - _pEph->deln = R4(_pBuff + 52); - _pEph->M0 = R8(_pBuff + 56); - _pEph->e = R8(_pBuff + 64); - _pEph->A = pow(R8(_pBuff + 72), 2); - _pEph->OMG0 = R8(_pBuff + 80); - _pEph->OMGd = R8(_pBuff + 88); - _pEph->omg = R8(_pBuff + 96); - _pEph->i0 = R8(_pBuff + 104); - _pEph->idot = R4(_pBuff + 112); - - _pEph->f0 = R8(_pBuff + 116); - _pEph->f1 = R8(_pBuff + 124); - _pEph->f2 = R4(_pBuff + 132); - - dToc = U4(_pBuff + 136); - uWeekC = U2(_pBuff + 140); /* WN */ - _pEph->iode = U2(_pBuff + 142); - _pEph->iodc = U2(_pBuff + 144); + _pEph->deln = R8(_pBuff + 52); + _pEph->M0 = R8(_pBuff + 60); + _pEph->e = R8(_pBuff + 68); + _pEph->A = pow(R8(_pBuff + 76), 2); + _pEph->OMG0 = R8(_pBuff + 84); + _pEph->OMGd = R8(_pBuff + 92); + _pEph->omg = R8(_pBuff + 100); + _pEph->i0 = R8(_pBuff + 108); + _pEph->idot = R8(_pBuff + 116); + + _pEph->f0 = R8(_pBuff + 124); + _pEph->f1 = R8(_pBuff + 132); + _pEph->f2 = R4(_pBuff + 140); + + dToc = U4(_pBuff + 144); + uWeekC = U2(_pBuff + 148); /* WN */ + _pEph->iode = U2(_pBuff + 150); + _pEph->iodc = U2(_pBuff + 152); _pEph->week = adjgpsweek(uWeekE); _pEph->toe = gpst2time(_pEph->week, _pEph->toes); @@ -672,15 +678,77 @@ static int decode_gpsnav_dep1(raw_t *raw) { eph.code = U1(puiTmp + 2); - decode_gpsnav_common(puiTmp, &eph); + decode_gpsnav_common_dep1(puiTmp, &eph); + + if (0 == timediff(raw->time, time0)) { + eph.ttr = timeget(); + } else { + eph.ttr = raw->time; + } + + if (!strstr(raw->opt, "EPHALL")) { + if ((eph.iode == raw->nav.eph[sat - 1].iode) && + (eph.iodc == raw->nav.eph[sat - 1].iodc)) { + trace(3, "eph.iode %d raw->nav.eph[sat - 1].iode %d\n", eph.iode, + raw->nav.eph[sat - 1].iode); + trace(3, "eph.iodc %d raw->nav.eph[sat - 1].iodc %d\n", eph.iode, + raw->nav.eph[sat - 1].iode); + return 0; + } + } + + eph.sat = sat; + raw->nav.eph[sat - 1] = eph; + raw->ephsat = sat; + return 2; +} + +/* decode SBP nav message for GPS (navigation data) --------------------------*/ +static int decode_gpsnav_dep2(raw_t *raw) { + + uint8_t *puiTmp = (raw->buff) + 6; + eph_t eph = {0}; + uint8_t prn, sat; + + trace(4, "SBP decode_gpsnav: len=%d\n", raw->len); + + if ((raw->len) < 191) { + trace(2, "SBP decode_gpsnav frame length error: len=%d\n", raw->len); + return -1; + } + + prn = puiTmp[0]; + if (!((prn >= 1) && (prn <= 37))) { + trace(2, "SBP decode_gpsnav prn error: sat=%d\n", prn); + return -1; + } + + sat = satno(SYS_GPS, prn); + if (sat == 0) + return -1; + eph.code = puiTmp[1]; + if ((CODE_GPS_L1CA != eph.code)) { + trace(2, "Unrecognised code %d for G%02d\n", eph.code, prn); + return -1; + } + + decode_gpsnav_common_dep1(puiTmp - 2, &eph); + + if (0 == timediff(raw->time, time0)) { + eph.ttr = timeget(); + } else { eph.ttr = raw->time; + } if (!strstr(raw->opt, "EPHALL")) { if ((eph.iode == raw->nav.eph[sat - 1].iode) && - (eph.iodc == raw->nav.eph[sat - 1].iodc)) + (eph.iodc == raw->nav.eph[sat - 1].iodc)) { return 0; } + } + + trace(2, "decoded eph for G%02d\n", prn); eph.sat = sat; raw->nav.eph[sat - 1] = eph; @@ -697,7 +765,7 @@ static int decode_gpsnav(raw_t *raw) { trace(4, "SBP decode_gpsnav: len=%d\n", raw->len); - if ((raw->len) < 191) { + if ((raw->len) < 147) { trace(2, "SBP decode_gpsnav frame length error: len=%d\n", raw->len); return -1; } @@ -720,11 +788,19 @@ static int decode_gpsnav(raw_t *raw) { decode_gpsnav_common(puiTmp - 2, &eph); + if (0 == timediff(raw->time, time0)) { + eph.ttr = timeget(); + } else { eph.ttr = raw->time; + } if (!strstr(raw->opt, "EPHALL")) { if ((eph.iode == raw->nav.eph[sat - 1].iode) && (eph.iodc == raw->nav.eph[sat - 1].iodc)) { + trace(3, "eph.iode %d raw->nav.eph[sat - 1].iode %d\n", eph.iode, + raw->nav.eph[sat - 1].iode); + trace(3, "eph.iodc %d raw->nav.eph[sat - 1].iodc %d\n", eph.iode, + raw->nav.eph[sat - 1].iode); return 0; } } @@ -746,7 +822,7 @@ static int decode_bdsnav(raw_t *raw) { trace(4, "SBP decode_bdsnav: len=%d\n", raw->len); - if ((raw->len) < 147) { + if ((raw->len) < 155) { trace(2, "SBP decode_bdsnav frame length error: len=%d\n", raw->len); return -1; } @@ -762,7 +838,7 @@ static int decode_bdsnav(raw_t *raw) { return -1; eph.code = puiTmp[1]; - if ((CODE_BDS2_B11 != eph.code)) { + if ((CODE_BDS2_B1 != eph.code) && (CODE_BDS2_B2 != eph.code)) { trace(2, "Unrecognised code %d for C%02d\n", eph.code, prn); return -1; } @@ -795,7 +871,7 @@ static int decode_galnav(raw_t *raw) { trace(4, "SBP decode_galnav: len=%d\n", raw->len); - if ((raw->len) < 152) { + if ((raw->len) < 160) { trace(2, "SBP decode_galnav frame length error: len=%d\n", raw->len); return -1; } @@ -811,7 +887,7 @@ static int decode_galnav(raw_t *raw) { return -1; eph.code = puiTmp[1]; - if ((CODE_GAL_E1B != eph.code)) { + if ((CODE_GAL_E1B != eph.code) && (CODE_GAL_E7I != eph.code)) { trace(2, "Unrecognised code %d for E%02d\n", eph.code, prn); return -1; } @@ -837,7 +913,7 @@ static int decode_galnav(raw_t *raw) { /* decode SBP nav message for Glonass (navigation data) * --------------------------*/ -static int decode_glonav(raw_t *raw) { +static int decode_glonav_dep1(raw_t *raw) { uint8_t *puiTmp = (raw->buff) + 6; geph_t geph = {0}; uint8_t prn, sat, code; @@ -911,12 +987,86 @@ static int decode_glonav(raw_t *raw) { return 2; } +/* decode SBP nav message for Glonass (navigation data) + * --------------------------*/ +static int decode_glonav(raw_t *raw) { + uint8_t *puiTmp = (raw->buff) + 6; + geph_t geph = {0}; + uint8_t prn, sat, code; + uint16_t uWeekE; + double dSeconds; + + trace(4, "SBP decode_glonav: len=%d\n", raw->len); + + if ((raw->len) < 100) { + trace(2, "SBP decode_glonav frame length error: len=%d\n", raw->len); + return -1; + } + + prn = puiTmp[0]; /* Glonass sid.sat */ + sat = satno(SYS_GLO, prn); + + if (sat == 0) + return -1; + + if (!((prn >= 1) && (prn <= 28))) { + trace(2, "SBP decode_glonav prn error: prn=%d\n", prn); + return -1; + } + + geph.sat = sat; + code = puiTmp[1]; + + if ((code != CODE_GLO_L1OF) && (code != CODE_GLO_L2OF)) { + trace(2, "SBP decode_glonav code error: code=%d\n", code); + } + + dSeconds = (double)U4(puiTmp + 2); + uWeekE = U2(puiTmp + 6); + geph.toe = gpst2time(uWeekE, dSeconds); + + dSeconds = dSeconds - floor(dSeconds / SEC_DAY) * SEC_DAY; + dSeconds = floor((dSeconds + 900) / 1800) * 1800; + geph.tof = utc2gpst(gpst2time(uWeekE, dSeconds)); + geph.iode = (int)puiTmp[91]; + + geph.sva = (int)R4(puiTmp + 8); /* URA */ + geph.age = U4(puiTmp + 12); /* fit interval */ + geph.svh = puiTmp[17]; /* health */ + geph.gamn = R4(puiTmp + 18); /* */ + geph.taun = R4(puiTmp + 22); /* */ + geph.dtaun = R4(puiTmp + 26); /* */ + + geph.pos[0] = R8(puiTmp + 30); + geph.pos[1] = R8(puiTmp + 38); + geph.pos[2] = R8(puiTmp + 46); + + geph.vel[0] = R8(puiTmp + 54); + geph.vel[1] = R8(puiTmp + 62); + geph.vel[2] = R8(puiTmp + 70); + + geph.acc[0] = R4(puiTmp + 78); + geph.acc[1] = R4(puiTmp + 82); + geph.acc[2] = R4(puiTmp + 86); + + geph.frq = (int)puiTmp[90] - 8; + + if (!strstr(raw->opt, "EPHALL")) { + if (geph.iode == raw->nav.geph[prn - 1].iode) + return 0; /* unchanged */ + } + + trace(2, "decoded eph for R%02d\n", prn); + + raw->nav.geph[prn - 1] = geph; + raw->ephsat = sat; + return 2; +} + /* decode SBF gpsion --------------------------------------------------------*/ static int decode_gpsion(raw_t *raw) { uint8_t *puiTmp = (raw->buff) + 6; - uint32_t uTowMs; - uint16_t uWeek; trace(4, "SBP decode_gpsion: len=%d\n", raw->len); @@ -925,10 +1075,6 @@ static int decode_gpsion(raw_t *raw) { return -1; } - /* Get time information */ - uTowMs = U4(puiTmp + 0); /* TOW in ms */ - uWeek = I4(puiTmp + 4); /* Week number */ - raw->nav.ion_gps[0] = R8(puiTmp + 6); raw->nav.ion_gps[1] = R8(puiTmp + 14); raw->nav.ion_gps[2] = R8(puiTmp + 18); @@ -999,7 +1145,7 @@ static int decode_sbp(raw_t *raw) { if ((sender != 0) && (NULL != strstr(raw->opt, "CONVBASE"))) return 0; - trace(3, "decode_sbp: type=%04x len=%d\n", type, raw->len); + trace(4, "decode_sbp: type=%04x len=%d\n", type, raw->len); /* read the SBF block CRC */ crc = U2(raw->buff + (raw->len) - 2); @@ -1020,12 +1166,16 @@ static int decode_sbp(raw_t *raw) { return decode_msgobs(raw); case ID_MSGEPHGPS_DEP1: return decode_gpsnav_dep1(raw); + case ID_MSGEPHGPS_DEP2: + return decode_gpsnav_dep2(raw); case ID_MSGEPHGPS: return decode_gpsnav(raw); case ID_MSGEPHBDS: return decode_bdsnav(raw); case ID_MSGEPHGAL: return decode_galnav(raw); + case ID_MSGEPHGLO_DEP1: + return decode_glonav_dep1(raw); case ID_MSGEPHGLO: return decode_glonav(raw); case ID_MSGIONGPS: @@ -1034,7 +1184,7 @@ static int decode_sbp(raw_t *raw) { return decode_snav(raw); default: - trace(3, "decode_sbp: unused frame type=%04x len=%d\n", type, raw->len); + trace(4, "decode_sbp: unused frame type=%04x len=%d\n", type, raw->len); /* there are many more SBF blocks to be extracted */ } return 0; @@ -1186,8 +1336,9 @@ extern int input_sbpjsonf(raw_t *raw, FILE *fp) { /* avoid parsing the payload if the message isn't supported in the first place */ if ((uMsgType != ID_MEASEPOCH) && (uMsgType != ID_MSGEPHGPS_DEP1) && - (uMsgType != ID_MSGEPHGPS) && (uMsgType != ID_MSGEPHGLO) && + (uMsgType != ID_MSGEPHGPS_DEP2) && (uMsgType != ID_MSGEPHGPS) && (uMsgType != ID_MSGEPHBDS) && (uMsgType != ID_MSGEPHGAL) && + (uMsgType != ID_MSGEPHGLO_DEP1) && (uMsgType != ID_MSGEPHGLO) && (uMsgType != ID_MSGIONGPS) && (uMsgType != ID_MSG_SBAS_RAW)) { return 0; } diff --git a/src/rcv/ublox.c b/src/rcv/ublox.c index 40d04ed120f495016523744a6a86404cfc63c5e9..00040847f6768e6992a5908338ee6fe40fe78c74 100644 --- a/src/rcv/ublox.c +++ b/src/rcv/ublox.c @@ -196,7 +196,7 @@ static int decode_rxmraw(raw_t *raw) for (i=0,p+=8;i<nsat&&i<MAXOBS;i++,p+=24) { raw->obs.data[n].time=time; - raw->obs.data[n].L[0] =R8(p )-toff*FREQ1; + raw->obs.data[n].L[0] =R8(p )-toff*FREQL1; raw->obs.data[n].P[0] =R8(p+ 8)-toff*CLIGHT; raw->obs.data[n].D[0] =R4(p+16); prn =U1(p+20); @@ -235,9 +235,9 @@ static int decode_rxmraw(raw_t *raw) static int decode_rxmrawx(raw_t *raw) { gtime_t time; - double tow,cp1,pr1,tadj=0.0,toff=0.0,freq,tn; - int i,j,sys,prn,sat,n=0,nsat,week,tstat,lockt,halfv,halfc,fcn; - int cpstd,prstd,std_slip=0; + double tow,cp1,pr1,tadj=0.0,toff=0.0,frq,freq,tn; + int i,j,sys,prn,sat,n=0,nextn=0,nsat,week,tstat,lockt,halfv,halfc,fcn; + int cpstd,prstd,sigid,std_slip=0; char *q; unsigned char *p=raw->buff+6; @@ -285,42 +285,79 @@ static int decode_rxmrawx(raw_t *raw) trace(2,"ubx rxmrawx sat number error: sys=%2d prn=%2d\n",sys,prn); continue; } + sigid=U1(p+22)&7; /* signal identifier */ prstd=U1(p+27)&15; /* pseudorange std-dev */ prstd=1<<(prstd>=5?prstd-5:0); /* prstd=2^(x-5) */ prstd=prstd<=9?prstd:9; /* limit to 9 to fit RINEX format */ cpstd=U1(p+28)&15; /* carrier-phase std-dev */ tstat=U1(p+30); /* tracking status */ pr1=tstat&1?R8(p ):0.0; + + /* set freq and code */ + switch (sigid) { + case 0: frq=0;break; + case 1: frq=0;break; + case 2: frq=1;break; + case 3: frq=1;break; + case 4: frq=1;break; + case 5: frq=2;break; + case 6: frq=2;break; + } + + /* find obs record if freq>0 */ + if (frq==0) { + /* start new obs record */ + n=nextn++; + for (j=0;j<NFREQ+NEXOBS;j++) { + raw->obs.data[n].L[j]=raw->obs.data[n].P[j]=0.0; + raw->obs.data[n].D[j]=0.0; + raw->obs.data[n].SNR[j]=raw->obs.data[n].LLI[j]=0; + raw->obs.data[n].code[j]=CODE_NONE; + } + } else { /* find existing record */ + for ((j=0);j<nextn;j++) + if (raw->obs.data[j].sat==sat) break; + n=j; + } + + if (frq==0) { + raw->obs.data[n].code[0]= + sys==SYS_CMP?CODE_L1I:CODE_L1C; + } else if (frq==1) { + raw->obs.data[n].code[1]= + sys==SYS_CMP?CODE_L7I:(sys==SYS_GLO?CODE_L2C:CODE_L2L); + } else if (frq==2) { + raw->obs.data[n].code[2]=CODE_L7Q; + } + /* indicate phase ok if locked and std<=slip threshold */ cp1=tstat&2?R8(p+8):0.0; if (cp1==-0.5||cpstd>CPSTD_VALID) cp1=0.0; /* invalid phase */ raw->obs.data[n].sat=sat; raw->obs.data[n].time=time; - raw->obs.data[n].P[0]=pr1; - raw->obs.data[n].L[0]=cp1; - raw->obs.data[n].qualL[0]=cpstd<=7?cpstd:0; - raw->obs.data[n].qualP[0]=prstd; + raw->obs.data[n].P[frq]=pr1; + raw->obs.data[n].L[frq]=cp1; + raw->obs.data[n].qualL[frq]=cpstd<=7?cpstd:0; + raw->obs.data[n].qualP[frq]=prstd; /* offset by time tag adjustment */ if (toff!=0.0&&cp1!=0) { fcn=(int)U1(p+23)-7; freq=sys==SYS_CMP?FREQ1_CMP: - (sys==SYS_GLO?FREQ1_GLO+DFRQ1_GLO*fcn:FREQ1); - raw->obs.data[n].P[0]-=toff*CLIGHT; - raw->obs.data[n].L[0]-=toff*freq; + (sys==SYS_GLO?FREQ1_GLO+DFRQ1_GLO*fcn:FREQL1); + raw->obs.data[n].P[frq]-=toff*CLIGHT; + raw->obs.data[n].L[frq]-=toff*freq; } - raw->obs.data[n].D[0]=R4(p+16); - raw->obs.data[n].SNR[0]=U1(p+26)*4; + raw->obs.data[n].D[frq]=R4(p+16); + raw->obs.data[n].SNR[frq]=U1(p+26)*4; /* indicate slip occurred if phase std>=slip threshold */ - raw->obs.data[n].LLI[0]=0; - raw->obs.data[n].code[0]= - sys==SYS_CMP?CODE_L1I:(sys==SYS_GAL?CODE_L1X:CODE_L1C); + raw->obs.data[n].LLI[frq]=0; lockt=U2(p+24); /* lock time count (ms) */ - if (lockt==0||lockt<raw->lockt[sat-1][0]) raw->lockt[sat-1][1]=1; - raw->lockt[sat-1][0]=lockt; + if (lockt==0||lockt<raw->lockt[sat-1][frq]) raw->lockflag[sat-1][frq]=1; + raw->lockt[sat-1][frq]=lockt; if (std_slip>0) { - if (cpstd>=std_slip) raw->lockt[sat-1][1]=1; /* slip by std-dev of cp */ + if (cpstd>=std_slip) raw->lockflag[sat-1][frq]=1; /* slip by std-dev of cp */ } if (sys==SYS_SBS) { /* half-cycle valid */ halfv=lockt>8000?1:0; @@ -336,30 +373,17 @@ static int decode_rxmrawx(raw_t *raw) #endif if (cp1!=0.0) { /* carrier-phase valid */ - + /* LLI: bit1=loss-of-lock,bit2=half-cycle-invalid */ - raw->obs.data[n].LLI[0]|=raw->lockt[sat-1][1]>0.0?LLI_SLIP:0; -#if 1 - raw->obs.data[n].LLI[0]|=halfc!=raw->halfc[sat-1][0]?1:0; -#elif 0 - raw->obs.data[n].LLI[0]|=halfc?LLI_HALFA:0; /* half-cycle subtraced */ -#else - raw->obs.data[n].LLI[0]|=halfc?LLI_HALFS:0; /* half-cycle subtraced */ -#endif - raw->obs.data[n].LLI[0]|=halfv?0:LLI_HALFC; - raw->halfc[sat-1][0]=halfc; - raw->lockt[sat-1][1]=0.0; + raw->obs.data[n].LLI[frq]|=raw->lockflag[sat-1][frq]>0.0?LLI_SLIP:0; + raw->obs.data[n].LLI[frq]|=halfc!=raw->halfc[sat-1][frq]?1:0; + raw->obs.data[n].LLI[frq]|=halfv?0:LLI_HALFC; + raw->halfc[sat-1][frq]=halfc; + raw->lockflag[sat-1][frq]=0.0; } - for (j=1;j<NFREQ+NEXOBS;j++) { - raw->obs.data[n].L[j]=raw->obs.data[n].P[j]=0.0; - raw->obs.data[n].D[j]=0.0; - raw->obs.data[n].SNR[j]=raw->obs.data[n].LLI[j]=0; - raw->obs.data[n].code[j]=CODE_NONE; - } - n++; } raw->time=time; - raw->obs.n=n; + raw->obs.n=nextn; return 1; } /* save subframe -------------------------------------------------------------*/ diff --git a/src/rinex.c b/src/rinex.c index e53704ab0b39268289514d3b5eb36489364f6008..ced5a615dd32e405f7f9e8d9517804d44a84fc04 100644 --- a/src/rinex.c +++ b/src/rinex.c @@ -779,7 +779,7 @@ static int decode_obsdata(FILE *fp, char *buff, double ver, int mask, } /* save obs data */ for (i=0;i<ind->n;i++) { - if (p[i]<0||val[i]==0.0) continue; + if (p[i]<0||(val[i]==0.0&&lli[i]==0)) continue; switch (ind->type[i]) { case 0: obs->P[p[i]]=val[i]; obs->code[p[i]]=ind->code[i]; @@ -917,7 +917,7 @@ static void set_index(double ver, int sys, const char *opt, } for (i=0;i<n;i++) { if (!ind->code[i]||!ind->pri[i]||ind->pos[i]>=0) continue; - trace(4,"reject obs type: sys=%2d, obs=%s\n",sys,tobs[i]); + trace(3,"reject obs type: sys=%2d, obs=%s\n",sys,tobs[i]); } ind->n=n; @@ -1876,7 +1876,7 @@ extern int outrnxobsh(FILE *fp, const rnxopt_t *opt, const nav_t *nav) else { /* ver.3 */ if (opt->navsys==SYS_GPS) sys="G: GPS"; else if (opt->navsys==SYS_GLO) sys="R: GLONASS"; - else if (opt->navsys==SYS_GAL) sys="E: Galielo"; + else if (opt->navsys==SYS_GAL) sys="E: Galileo"; else if (opt->navsys==SYS_QZS) sys="J: QZSS"; /* ver.3.02 */ else if (opt->navsys==SYS_CMP) sys="C: BeiDou"; /* ver.3.02 */ else if (opt->navsys==SYS_IRN) sys="I: IRNSS"; /* ver.3.03 */ diff --git a/src/rtcm3e.c b/src/rtcm3e.c index f058a60dc0f12d26c2a011074e23c6b2591dbaa4..f0afd0332cefa297cb40490518df7fa0ef5206d7 100644 --- a/src/rtcm3e.c +++ b/src/rtcm3e.c @@ -211,8 +211,8 @@ static void gen_obs_gps(rtcm_t *rtcm, const obsd_t *data, int *code1, int *pr1, double P0,L0,P1,L1; int lt1,lt2; - lam1=CLIGHT/FREQ1; - lam2=CLIGHT/FREQ2; + lam1=CLIGHT/FREQL1; + lam2=CLIGHT/FREQL2; *pr1=*amb=0; if (ppr1) *ppr1=0xFFF80000; /* invalid values */ if (pr21) *pr21=0xFFFFE000; @@ -221,9 +221,9 @@ static void gen_obs_gps(rtcm_t *rtcm, const obsd_t *data, int *code1, int *pr1, /* adjust P and L for consistency with time tag adjustment */ P0=L0=P1=L1=0; if (data->P[0]!=0.0) P0=data->P[0]-tadj*CLIGHT; - if (data->L[0]!=0.0) L0=data->L[0]-tadj*FREQ1; + if (data->L[0]!=0.0) L0=data->L[0]-tadj*FREQL1; if (data->P[1]!=0.0) P1=data->P[1]-tadj*CLIGHT; - if (data->L[1]!=0.0) L1=data->L[1]-tadj*FREQ2; + if (data->L[1]!=0.0) L1=data->L[1]-tadj*FREQL2; /* L1 pseudorange */ if (P0!=0.0&&data->code[0]) { diff --git a/src/rtkcmn.c b/src/rtkcmn.c index 54f0ca040b6c957a92a9052e4048eca760f88d47..91075a3e9f769a14fd8dd48defc5e2ddf4243a54 100644 --- a/src/rtkcmn.c +++ b/src/rtkcmn.c @@ -182,8 +182,8 @@ const double chisqr[100]={ /* chi-sqr(n) (alpha=0.001) */ 138 ,139 ,140 ,142 ,143 ,144 ,145 ,147 ,148 ,149 }; const double lam_carr[MAXFREQ]={ /* carrier wave length (m) */ - CLIGHT/FREQ1,CLIGHT/FREQ2,CLIGHT/FREQ5,CLIGHT/FREQ6,CLIGHT/FREQ7, - CLIGHT/FREQ8,CLIGHT/FREQ9 + CLIGHT/FREQL1,CLIGHT/FREQL2,CLIGHT/FREQE5b,CLIGHT/FREQL5,CLIGHT/FREQE6, + CLIGHT/FREQE5ab,CLIGHT/FREQs }; const prcopt_t prcopt_default={ /* defaults processing options */ PMODE_SINGLE,0,2,SYS_GPS, /* mode,soltype,nf,navsys */ @@ -248,24 +248,24 @@ static char *obscodes[]={ /* observation code strings */ "5B","5C","9A","9B","9C", "9X","" ,"" ,"" ,"" /* 50-59 */ }; static unsigned char obsfreqs[]={ - /* 1:L1/E1, 2:L2/B1, 3:L5/E5a/L3, 4:L6/LEX/B3, 5:E5b/B2, 6:E5(a+b), 7:S */ + /* 1:L1/E1, 2:L2/B1, 3:E5b/B2, 4:L5/E5a/L3, 5:L6/LEX/B3, 6:E5(a+b), 7: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, 5, 5, 5, /* 20-29 */ - 4, 4, 4, 4, 4, 4, 4, 6, 6, 6, /* 30-39 */ - 2, 2, 4, 4, 3, 3, 3, 1, 1, 3, /* 40-49 */ - 3, 3, 7, 7, 7, 7, 0, 0, 0, 0 /* 50-59 */ + 2, 2, 2, 2, 4, 4, 4, 3, 3, 3, /* 20-29 */ + 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, /* 30-39 */ + 2, 2, 5, 5, 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 L2/B1 L5/E5a/L3 L6/LEX/B3 E5b/B2 E5(a+b) S */ - {"CPYWMNSL","PYWCMNDSLX","IQX" ,"" ,"" ,"" ,"" }, /* GPS */ - {"PC" ,"PC" ,"IQX" ,"" ,"" ,"" ,"" }, /* GLO */ - {"CABXZ" ,"" ,"IQX" ,"ABCXZ" ,"IQX" ,"IQX" ,"" }, /* GAL */ - {"CSLXZ" ,"SLX" ,"IQX" ,"SLX" ,"" ,"" ,"" }, /* QZS */ - {"C" ,"" ,"IQX" ,"" ,"" ,"" ,"" }, /* SBS */ - {"IQX" ,"IQX" ,"IQX" ,"IQX" ,"IQX" ,"" ,"" }, /* BDS */ - {"" ,"" ,"ABCX" ,"" ,"" ,"" ,"ABCX"} /* IRN */ + + /* L1/E1 L2/B1 E5b/B2 L5/E5a/L3 L6/LEX/B3 E5(a+b) S */ + {"CPYWMNSL","CLPYWMNDSX","IQX" ,"IQX" ,"" ,"" ,"" }, /* GPS */ + {"PC" ,"PC" ,"IQX" ,"IQX" ,"" ,"" ,"" }, /* GLO */ + {"CABXZ" ,"" ,"IQX" ,"IQX" ,"ABCXZ" ,"IQX" ,"" }, /* GAL */ + {"CSLXZ" ,"SLX" ,"IQX" ,"IQX" ,"SLX" ,"" ,"" }, /* QZS */ + {"C" ,"" ,"IQX" ,"IQX" ,"" ,"" ,"" }, /* SBS */ + {"IQX" ,"IQX" ,"IQX" ,"IQX" ,"IQX" ,"" ,"" }, /* BDS */ + {"" ,"" ,"ABCX" ,"ABCX" ,"" ,"" ,"ABCX"} /* IRN */ }; static fatalfunc_t *fatalfunc=NULL; /* fatal callback function */ @@ -3377,13 +3377,13 @@ extern double satwavelen(int sat, int frq, const nav_t *nav) else if (frq==2) return CLIGHT/FREQ3_CMP; /* B3 */ } else { - if (frq==0) return CLIGHT/FREQ1; /* L1/E1 */ - else if (frq==1) return CLIGHT/FREQ2; /* L2 */ - else if (frq==2) return CLIGHT/FREQ5; /* L5/E5a */ - else if (frq==3) return CLIGHT/FREQ6; /* L6/LEX */ - else if (frq==4) return CLIGHT/FREQ7; /* E5b */ - else if (frq==5) return CLIGHT/FREQ8; /* E5a+b */ - else if (frq==6) return CLIGHT/FREQ9; /* S */ + if (frq==0) return CLIGHT/FREQL1; /* L1/E1 */ + else if (frq==1) return CLIGHT/FREQL2; /* L2 */ + else if (frq==2) return CLIGHT/FREQE5b; /* E5b */ + else if (frq==3) return CLIGHT/FREQL5; /* L5/E5a */ + else if (frq==4) return CLIGHT/FREQE6; /* L6/LEX */ + else if (frq==5) return CLIGHT/FREQE5ab; /* E5a+b */ + else if (frq==6) return CLIGHT/FREQs; /* S */ } return 0.0; } diff --git a/src/rtklib.h b/src/rtklib.h index c7f52ce96302e4f948a022239c3911b854f3ea92..30c592826480921b6ca677bf4974216cb9c2848b 100644 --- a/src/rtklib.h +++ b/src/rtklib.h @@ -56,9 +56,9 @@ extern "C" { /* constants -----------------------------------------------------------------*/ -#define VER_RTKLIB "2.4.3 demo5" /* library version */ +#define VER_RTKLIB "demo5" /* library version */ -#define PATCH_LEVEL "b29d" /* patch level */ +#define PATCH_LEVEL "b29e" /* patch level */ #define COPYRIGHT_RTKLIB \ "Copyright (C) 2007-2018 T.Takasu\nAll rights reserved." @@ -80,13 +80,13 @@ extern "C" { #define MAXFREQ 7 /* max NFREQ */ -#define FREQ1 1.57542E9 /* L1/E1 frequency (Hz) */ -#define FREQ2 1.22760E9 /* L2 frequency (Hz) */ -#define FREQ5 1.17645E9 /* L5/E5a frequency (Hz) */ -#define FREQ6 1.27875E9 /* E6/LEX frequency (Hz) */ -#define FREQ7 1.20714E9 /* E5b frequency (Hz) */ -#define FREQ8 1.191795E9 /* E5a+b frequency (Hz) */ -#define FREQ9 2.492028E9 /* S frequency (Hz) */ +#define FREQL1 1.57542E9 /* L1/E1 frequency 1 (Hz) */ +#define FREQL2 1.22760E9 /* L2 frequency 2 (Hz) */ +#define FREQE5b 1.20714E9 /* E5b frequency 3 (Hz) */ +#define FREQL5 1.17645E9 /* L5/E5a frequency 4 (Hz) */ +#define FREQE6 1.27875E9 /* E6/LEX frequency 5 (Hz) */ +#define FREQE5ab 1.191795E9 /* E5a+b frequency 6 (Hz) */ +#define FREQs 2.492028E9 /* S frequency 7 (Hz) */ #define FREQ1_GLO 1.60200E9 /* GLONASS G1 base frequency (Hz) */ #define DFRQ1_GLO 0.56250E6 /* GLONASS G1 bias frequency (Hz/n) */ #define FREQ2_GLO 1.24600E9 /* GLONASS G2 base frequency (Hz) */ @@ -273,11 +273,11 @@ extern "C" { #define FREQTYPE_L1 0x01 /* frequency type: L1/E1 */ #define FREQTYPE_L2 0x02 /* frequency type: L2/B1 */ -#define FREQTYPE_L5 0x04 /* frequency type: L5/E5a/L3 */ -#define FREQTYPE_L6 0x08 /* frequency type: E6/LEX/B3 */ -#define FREQTYPE_L7 0x10 /* frequency type: E5b/B2 */ -#define FREQTYPE_L8 0x20 /* frequency type: E5(a+b) */ -#define FREQTYPE_L9 0x40 /* frequency type: S */ +#define FREQTYPE_E5b 0x04 /* frequency type: E5b/B2 */ +#define FREQTYPE_L5 0x08 /* frequency type: L5/E5a/L3 */ +#define FREQTYPE_E6 0x10 /* frequency type: E6/LEX/B3 */ +#define FREQTYPE_E5ab 0x20 /* frequency type: E5(a+b) */ +#define FREQTYPE_S 0x40 /* frequency type: S */ #define FREQTYPE_ALL 0xFF /* frequency type: all */ #define CODE_NONE 0 /* obs code: none or unknown */ @@ -1049,7 +1049,7 @@ typedef struct { /* SNR mask type */ typedef struct { /* processing options type */ int mode; /* positioning mode (PMODE_???) */ int soltype; /* solution type (0:forward,1:backward,2:combined) */ - int nf; /* number of frequencies (1:L1,2:L1+L2,3:L1+L2+L5) */ + int nf; /* number of frequencies (1:L1,2:L1+L2,3:L1+L2+E5b,4:L1+L2+E5b+L5) */ int navsys; /* navigation system */ double elmin; /* elevation mask angle (rad) */ snrmask_t snrmask; /* SNR mask */ @@ -1265,6 +1265,7 @@ typedef struct { /* receiver raw data control type */ unsigned char subfrm[MAXSAT][380]; /* subframe buffer */ lexmsg_t lexmsg; /* LEX message */ double lockt[MAXSAT][NFREQ+NEXOBS]; /* lock time (s) */ + unsigned char lockflag[MAXSAT][NFREQ+NEXOBS]; /* used for carrying forward cycle slip */ double icpp[MAXSAT],off[MAXSAT],icpc; /* carrier params for ss2 */ double prCA[MAXSAT],dpCA[MAXSAT]; /* L1/CA pseudrange/doppler for javad */ unsigned char halfc[MAXSAT][NFREQ+NEXOBS]; /* half-cycle add flag */ diff --git a/src/rtkpos.c b/src/rtkpos.c index f9132e85460d37daade61fb398fe2dda01b6fdc4..89eceb2c561bac90f936b816793edc8a83acda42 100644 --- a/src/rtkpos.c +++ b/src/rtkpos.c @@ -639,7 +639,7 @@ static void detslp_ll(rtk_t *rtk, const obsd_t *obs, int i, int rcv) for (f=0;f<rtk->opt.nf;f++) { - if (obs[i].L[f]==0.0|| + if ((obs[i].L[f]==0.0&&obs[i].LLI[f]==0)|| fabs(timediff(obs[i].time,rtk->ssat[sat-1].pt[rcv-1][f]))<DTTOL) { continue; } diff --git a/src/solution.c b/src/solution.c index 88937ca2803d5fbcdc94e90a8043b1fcc5bb89b7..cb62d1b07a4b7810200f2b0192c4fe3a7146e939 100644 --- a/src/solution.c +++ b/src/solution.c @@ -1444,8 +1444,7 @@ extern int outprcopts(unsigned char *buff, const prcopt_t *opt) const int sys[]={SYS_GPS,SYS_GLO,SYS_GAL,SYS_QZS,SYS_CMP,SYS_IRN,SYS_SBS,0}; const char *s1[]={"single","dgps","kinematic","static","static-start","moving-base","fixed", "ppp-kinematic","ppp-static","ppp-fixed",""}; - const char *s2[]={"L1","L1+L2","L1+L2+L5","L1+L2+L5+L6","L1+L2+L5+L6+L7", - "L1+L2+L5+L6+L7+L8",""}; + const char *s2[]={"L1","L1+L2","L1+L2+E5b","L1+L2+E5b+L5"}; const char *s3[]={"forward","backward","combined"}; const char *s4[]={"off","broadcast","sbas","iono-free","estimation", "ionex tec","qzs","lex","vtec_sf","vtec_ef","gtec",""};