diff --git a/app/consapp/convbin/convbin.c b/app/consapp/convbin/convbin.c
index 6312bc183..15632fcce 100644
--- a/app/consapp/convbin/convbin.c
+++ b/app/consapp/convbin/convbin.c
@@ -602,7 +602,8 @@ static int cmdopts(int argc, char **argv, rnxopt_t *opt, char **ifile,
if (nf>=3) opt->freqtype|=FREQTYPE_L3;
if (nf>=4) opt->freqtype|=FREQTYPE_L4;
if (nf>=5) opt->freqtype|=FREQTYPE_L5;
- if (nf>=6) opt->freqtype|=FREQTYPE_ALL;
+ if (nf>=6) opt->freqtype|=FREQTYPE_L6;
+ if (nf>=7) opt->freqtype|=FREQTYPE_ALL;
if (!opt->trtcm.time) {
get_filetime(*ifile,&opt->trtcm);
diff --git a/app/qtapp/rtkconv_qt/codeopt.cpp b/app/qtapp/rtkconv_qt/codeopt.cpp
index d1429394f..b71827350 100644
--- a/app/qtapp/rtkconv_qt/codeopt.cpp
+++ b/app/qtapp/rtkconv_qt/codeopt.cpp
@@ -107,8 +107,8 @@ void CodeOptDialog::setCodeMask(int i, const QString &mask)
ui->S26->setChecked(mask[25] == '1');
} else if (i == 5) { //BDS
ui->C02->setChecked(mask[1] == '1');
+ ui->C07->setChecked(mask[6] == '1');
ui->C08->setChecked(mask[7] == '1');
- ui->C09->setChecked(mask[8] == '1');
ui->C12->setChecked(mask[11] == '1');
ui->C13->setChecked(mask[12] == '1');
ui->C18->setChecked(mask[17] == '1');
@@ -240,8 +240,8 @@ QString CodeOptDialog::getCodeMask(int i)
if (ui->S26->isChecked()) mask[25] = '1';
} else if (i == 5) { // BDS
if (ui->C02->isChecked()) mask[1] = '1';
+ if (ui->C07->isChecked()) mask[6] = '1';
if (ui->C08->isChecked()) mask[7] = '1';
- if (ui->C09->isChecked()) mask[8] = '1';
if (ui->C12->isChecked()) mask[11] = '1';
if (ui->C13->isChecked()) mask[12] = '1';
if (ui->C18->isChecked()) mask[17] = '1';
@@ -372,8 +372,8 @@ void CodeOptDialog::setUnsetAll()
ui->S26->setChecked(set);
ui->C02->setChecked(set);
+ ui->C07->setChecked(set);
ui->C08->setChecked(set);
- ui->C09->setChecked(set);
ui->C12->setChecked(set);
ui->C13->setChecked(set);
ui->C18->setChecked(set);
@@ -514,30 +514,30 @@ void CodeOptDialog::updateEnable()
ui->S25->setEnabled((navSystem & SYS_SBS) && (frequencyType & FREQTYPE_L3));
ui->S26->setEnabled((navSystem & SYS_SBS) && (frequencyType & FREQTYPE_L3));
- ui->C02->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L1));
- ui->C08->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L1));
- ui->C09->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L1));
- ui->C12->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L1));
- ui->C13->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L1));
+ ui->C02->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L5));
+ ui->C07->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L5));
+ ui->C08->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L5));
+ ui->C12->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L5));
+ ui->C13->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L5));
ui->C18->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L1));
ui->C26->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L3));
ui->C27->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L2));
ui->C28->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L2));
ui->C29->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L2));
ui->C33->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L4));
- ui->C39->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L5));
+ ui->C39->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L6));
ui->C40->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L1));
ui->C41->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L1));
ui->C42->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L4));
ui->C43->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L4));
- ui->C56->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L1));
+ ui->C56->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L5));
ui->C57->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L3));
ui->C58->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L3));
ui->C61->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L2));
ui->C62->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L2));
ui->C63->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L2));
- ui->C64->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L5));
- ui->C65->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L5));
+ ui->C64->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L6));
+ ui->C65->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L6));
ui->C69->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L4));
ui->C70->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L4));
ui->C35->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L4));
@@ -555,7 +555,7 @@ void CodeOptDialog::updateEnable()
ui->I12->setEnabled((navSystem & SYS_IRN) && (frequencyType & FREQTYPE_L3));
if ((navSystem == (SYS_GPS | SYS_GAL | SYS_GLO | SYS_SBS | SYS_CMP | SYS_IRN | SYS_QZS)) &&
- (frequencyType == (FREQTYPE_L1 | FREQTYPE_L2 | FREQTYPE_L3 | FREQTYPE_L4 | FREQTYPE_L5)))
+ (frequencyType == (FREQTYPE_L1 | FREQTYPE_L2 | FREQTYPE_L3 | FREQTYPE_L4 | FREQTYPE_L5 | FREQTYPE_L6)))
ui->btnSetAll->setText(tr("Un&set All"));
}
//---------------------------------------------------------------------------
diff --git a/app/qtapp/rtkconv_qt/codeopt.ui b/app/qtapp/rtkconv_qt/codeopt.ui
index ad432ee88..6b22a1506 100644
--- a/app/qtapp/rtkconv_qt/codeopt.ui
+++ b/app/qtapp/rtkconv_qt/codeopt.ui
@@ -1617,7 +1617,7 @@
-
-
+
Pilot
@@ -1692,7 +1692,7 @@
-
-
+
Data
diff --git a/app/qtapp/rtkconv_qt/convopt.cpp b/app/qtapp/rtkconv_qt/convopt.cpp
index b096af4ef..42dbbb233 100644
--- a/app/qtapp/rtkconv_qt/convopt.cpp
+++ b/app/qtapp/rtkconv_qt/convopt.cpp
@@ -94,6 +94,7 @@ void ConvOptDialog::updateUi()
ui->cBFreq3->setChecked(frequencyType & FREQTYPE_L3);
ui->cBFreq4->setChecked(frequencyType & FREQTYPE_L4);
ui->cBFreq5->setChecked(frequencyType & FREQTYPE_L5);
+ ui->cBFreq6->setChecked(frequencyType & FREQTYPE_L6);
ui->lEExcludedSatellites->setText(excludedSatellites);
ui->cBTraceLevel->setCurrentIndex(traceLevel);
@@ -164,6 +165,7 @@ void ConvOptDialog::accept()
if (ui->cBFreq3->isChecked()) frequencyType |= FREQTYPE_L3;
if (ui->cBFreq4->isChecked()) frequencyType |= FREQTYPE_L4;
if (ui->cBFreq5->isChecked()) frequencyType |= FREQTYPE_L5;
+ if (ui->cBFreq6->isChecked()) frequencyType |= FREQTYPE_L6;
excludedSatellites = ui->lEExcludedSatellites->text();
traceLevel = ui->cBTraceLevel->currentIndex();
@@ -198,6 +200,7 @@ void ConvOptDialog::showMaskDialog()
if (ui->cBFreq3->isChecked()) frequencyType |= FREQTYPE_L3;
if (ui->cBFreq4->isChecked()) frequencyType |= FREQTYPE_L4;
if (ui->cBFreq5->isChecked()) frequencyType |= FREQTYPE_L5;
+ if (ui->cBFreq6->isChecked()) frequencyType |= FREQTYPE_L6;
codeOptDialog->setFrequencyType(frequencyType);
@@ -230,6 +233,7 @@ void ConvOptDialog::updateEnable()
ui->cBFreq3->setEnabled(ui->cBRinexVersion->currentIndex() >=1 );
ui->cBFreq4->setEnabled(ui->cBRinexVersion->currentIndex() >=1 );
ui->cBFreq5->setEnabled(ui->cBRinexVersion->currentIndex() >=1 );
+ ui->cBFreq6->setEnabled(ui->cBRinexVersion->currentIndex() >=1 );
ui->cBPhaseShift->setEnabled(ui->cBRinexVersion->currentIndex() >=4 );
}
//---------------------------------------------------------------------------
diff --git a/app/qtapp/rtkconv_qt/convopt.ui b/app/qtapp/rtkconv_qt/convopt.ui
index c4a9a7f36..250f49ec0 100644
--- a/app/qtapp/rtkconv_qt/convopt.ui
+++ b/app/qtapp/rtkconv_qt/convopt.ui
@@ -750,6 +750,13 @@
+ -
+
+
+ L6
+
+
+
-
@@ -943,6 +950,7 @@
cBFreq3
cBFreq4
cBFreq5
+ cBFreq6
btnMask
btnFcn
btnFrequencies
diff --git a/app/winapp/rtkconv/codeopt.cpp b/app/winapp/rtkconv/codeopt.cpp
index 64075ca33..bf70bebcb 100644
--- a/app/winapp/rtkconv/codeopt.cpp
+++ b/app/winapp/rtkconv/codeopt.cpp
@@ -446,20 +446,20 @@ void __fastcall TCodeOptDialog::UpdateEnable(void)
C42->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L4);
C43->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L4);
C33->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L4);
- C56->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L1); //
- C02->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L1); //
- C12->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L1); //
- C10->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L1); //
- C06->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L1); //
+ C56->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L5); //
+ C02->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L5); //
+ C12->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L5); //
+ C10->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L5); //
+ C06->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L5); //
C57->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L3); //
C58->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L3); //
C26->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L3); //
C61->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L2); //
C62->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L2); //
C63->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L2); //
- C64->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L5); //
- C65->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L5); //
- C39->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L5); //
+ C64->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L6); //
+ C65->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L6); //
+ C39->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L6); //
C30->Enabled=(NavSys&SYS_CMP)&&(FreqType&FREQTYPE_L4); //
I49->Enabled=(NavSys&SYS_IRN)&&(FreqType&FREQTYPE_L1);
I50->Enabled=(NavSys&SYS_IRN)&&(FreqType&FREQTYPE_L1);
diff --git a/app/winapp/rtkconv/convopt.cpp b/app/winapp/rtkconv/convopt.cpp
index 69ab266d8..97c9861d2 100644
--- a/app/winapp/rtkconv/convopt.cpp
+++ b/app/winapp/rtkconv/convopt.cpp
@@ -85,6 +85,8 @@ void __fastcall TConvOptDialog::FormShow(TObject *Sender)
Freq2->Checked=MainWindow->FreqType&FREQTYPE_L2;
Freq3->Checked=MainWindow->FreqType&FREQTYPE_L3;
Freq4->Checked=MainWindow->FreqType&FREQTYPE_L4;
+ Freq5->Checked=MainWindow->FreqType&FREQTYPE_L5;
+ Freq6->Checked=MainWindow->FreqType&FREQTYPE_L6;
ExSats->Text=MainWindow->ExSats;
TraceLevel->ItemIndex=MainWindow->TraceLevel;
ChkSepNav->Checked=MainWindow->SepNav;
@@ -145,6 +147,8 @@ void __fastcall TConvOptDialog::BtnOkClick(TObject *Sender)
if (Freq2->Checked) freqtype|=FREQTYPE_L2;
if (Freq3->Checked) freqtype|=FREQTYPE_L3;
if (Freq4->Checked) freqtype|=FREQTYPE_L4;
+ if (Freq5->Checked) freqtype|=FREQTYPE_L5;
+ if (Freq6->Checked) freqtype|=FREQTYPE_L6;
MainWindow->NavSys=navsys;
MainWindow->ObsType=obstype;
MainWindow->FreqType=freqtype;
@@ -189,6 +193,8 @@ void __fastcall TConvOptDialog::BtnMaskClick(TObject *Sender)
if (Freq2->Checked) CodeOptDialog->FreqType|=FREQTYPE_L2;
if (Freq3->Checked) CodeOptDialog->FreqType|=FREQTYPE_L3;
if (Freq4->Checked) CodeOptDialog->FreqType|=FREQTYPE_L4;
+ if (Freq5->Checked) CodeOptDialog->FreqType|=FREQTYPE_L5;
+ if (Freq6->Checked) CodeOptDialog->FreqType|=FREQTYPE_L6;
CodeOptDialog->ShowModal();
}
//---------------------------------------------------------------------------
@@ -204,6 +210,8 @@ void __fastcall TConvOptDialog::UpdateEnable(void)
Nav7->Enabled=RnxVer->ItemIndex>=6;
Freq3->Enabled=RnxVer->ItemIndex>=1;
Freq4->Enabled=RnxVer->ItemIndex>=1;
+ Freq5->Enabled=RnxVer->ItemIndex>=1;
+ Freq6->Enabled=RnxVer->ItemIndex>=1;
PhaseShift->Enabled=RnxVer->ItemIndex>=4;
}
//---------------------------------------------------------------------------
diff --git a/app/winapp/rtkconv/convopt.dfm b/app/winapp/rtkconv/convopt.dfm
index 28fdf3944..3205dea61 100644
--- a/app/winapp/rtkconv/convopt.dfm
+++ b/app/winapp/rtkconv/convopt.dfm
@@ -413,9 +413,9 @@ object ConvOptDialog: TConvOptDialog
object Freq1: TCheckBox
Left = 10
Top = 14
- Width = 30
+ Width = 51
Height = 17
- Caption = 'L1'
+ Caption = 'L1/E1/B1'
Checked = True
State = cbChecked
TabOrder = 0
@@ -425,7 +425,7 @@ object ConvOptDialog: TConvOptDialog
Top = 14
Width = 51
Height = 17
- Caption = 'L2/E5b'
+ Caption = 'L2/E5b/B2'
Checked = True
State = cbChecked
TabOrder = 1
@@ -435,15 +435,31 @@ object ConvOptDialog: TConvOptDialog
Top = 13
Width = 51
Height = 17
- Caption = 'L5/E5a'
+ Caption = 'L5/E5a/B2a'
TabOrder = 2
end
object Freq4: TCheckBox
Left = 163
Top = 13
- Width = 30
+ Width = 51
+ Height = 17
+ Caption = 'L6/E6/B3'
+ TabOrder = 3
+ end
+ object Freq5: TCheckBox
+ Left = 163
+ Top = 13
+ Width = 51
+ Height = 17
+ Caption = 'E5ab/B1C'
+ TabOrder = 3
+ end
+ object Freq6: TCheckBox
+ Left = 163
+ Top = 13
+ Width = 35
Height = 17
- Caption = 'L6'
+ Caption = 'B2ab'
TabOrder = 3
end
end
diff --git a/app/winapp/rtkconv/convopt.h b/app/winapp/rtkconv/convopt.h
index c8c82c481..349e33dbf 100644
--- a/app/winapp/rtkconv/convopt.h
+++ b/app/winapp/rtkconv/convopt.h
@@ -53,6 +53,8 @@ class TConvOptDialog : public TForm
TCheckBox *Freq2;
TCheckBox *Freq3;
TCheckBox *Freq4;
+ TCheckBox *Freq5;
+ TCheckBox *Freq6;
TCheckBox *Obs1;
TCheckBox *Nav5;
TComboBox *TraceLevel;
diff --git a/src/rtkcmn.c b/src/rtkcmn.c
index 5ff96f154..0e0e48e5b 100644
--- a/src/rtkcmn.c
+++ b/src/rtkcmn.c
@@ -273,7 +273,7 @@ static char codepris[7][MAXFREQ][16]={ /* code priority for each freq-index */
{"CABXZ" ,"XIQ" ,"XIQ" ,"ABCXZ" ,"IQX" ,""}, /* GAL */
{"CLSXZBE" ,"LSX" ,"IQXDPZ" ,"LSXEZ" ,"" ,""}, /* QZS */
{"C" ,"IQX" ,"" ,"" ,"" ,""}, /* SBS */
- {"IQXDPSLZAN","IQXDPZ" ,"DPX" ,"IQXDPZA" ,"DPX" ,""}, /* BDS */
+ {"IQX" ,"IQXDPZ" ,"DPX" ,"IQXDPZA" ,"DPSLZAN","DPX"}, /* BDS */
{"ABCX" ,"ABCX" ,"DPX" ,"" ,"" ,""} /* IRN */
};
static fatalfunc_t *fatalfunc=NULL; /* fatal callback function */
@@ -674,12 +674,12 @@ static int code2freq_BDS(uint8_t code, double *freq)
char *obs=code2obs(code);
switch (obs[0]) {
- case '1': *freq=FREQL1; return 0; /* B1C */
case '2': *freq=FREQ1_CMP; return 0; /* B1I */
- case '7': *freq=FREQ2_CMP; return 1; /* B2b */
+ case '7': *freq=FREQ2_CMP; return 1; /* B2,B2b */
case '5': *freq=FREQL5; return 2; /* B2a */
case '6': *freq=FREQ3_CMP; return 3; /* B3 */
- case '8': *freq=FREQE5ab; return 4; /* B2ab */
+ case '1': *freq=FREQL1; return 4; /* B1C,B1A */
+ case '8': *freq=FREQE5ab; return 5; /* B2ab */
}
return -1;
}
@@ -700,15 +700,15 @@ static int code2freq_IRN(uint8_t code, double *freq)
* args : int sys I satellite system (SYS_???)
* uint8_t code I obs code (CODE_???)
* return : frequency index (-1: error)
-* 0 1 2 3 4
-* --------------------------------------
-* GPS L1 L2 L5 - -
-* GLONASS G1 G2 G3 - - (G1=G1,G1a,G2=G2,G2a)
-* Galileo E1 E5b E5a E6 E5ab
-* QZSS L1 L2 L5 L6 -
-* SBAS L1 - L5 - -
-* BDS B1 B2b B2a B3 B2ab
-* NavIC L5 S L1 - -
+* 0 1 2 3 4 5
+* ---------------------------------------------
+* GPS L1 L2 L5 - - -
+* GLONASS G1 G2 G3 - - - (G1=G1,G1a,G2=G2,G2a)
+* Galileo E1 E5b E5a E6 E5ab -
+* QZSS L1 L2 L5 L6 - -
+* SBAS L1 - L5 - - -
+* BDS B1 B2b B2a B3 B1C B2ab
+* NavIC L5 S L1 - - -
*-----------------------------------------------------------------------------*/
extern int code2idx(int sys, uint8_t code)
{
diff --git a/src/rtklib.h b/src/rtklib.h
index 4c727a045..61b372ea6 100644
--- a/src/rtklib.h
+++ b/src/rtklib.h
@@ -289,12 +289,13 @@ extern "C" {
#define OBSTYPE_SNR 0x08 /* observation type: SNR */
#define OBSTYPE_ALL 0xFF /* observation type: all */
-#define FREQTYPE_L1 0x01 /* frequency type: L1/E1/B1 */
-#define FREQTYPE_L2 0x02 /* frequency type: L2/E5b/B2 */
-#define FREQTYPE_L3 0x04 /* frequency type: L5/E5a/L3 */
-#define FREQTYPE_L4 0x08 /* frequency type: L6/E6/B3 */
-#define FREQTYPE_L5 0x10 /* frequency type: E5ab */
-#define FREQTYPE_ALL 0xFF /* frequency type: all */
+#define FREQTYPE_L1 0x01 /* Frequency type: L1/G1/E1/B1 */
+#define FREQTYPE_L2 0x02 /* Frequency type: L2/G2/E5b/B2 */
+#define FREQTYPE_L3 0x04 /* Frequency type: L5/G3/E5a/B2a */
+#define FREQTYPE_L4 0x08 /* Frequency type: L6/E6/B3 */
+#define FREQTYPE_L5 0x10 /* Frequency type: E5ab/B1C/B1A */
+#define FREQTYPE_L6 0x20 /* Frequency type: B2ab */
+#define FREQTYPE_ALL 0xFF /* Frequency type: all */
#define CODE_NONE 0 /* obs code: none or unknown */
#define CODE_L1C 1 /* obs code: L1C/A,G1C/A,E1C (GPS,GLO,GAL,QZS,SBS) */