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) */