From 5314f72d5ce513bf28c301a20be287cda3957a25 Mon Sep 17 00:00:00 2001 From: oaq Date: Sat, 9 Nov 2024 15:26:44 +1100 Subject: [PATCH 1/4] code2freq: separate BDS B1 and B1C which have different freq B1 and B1C have different frequencies, B1 1561.098 MHz, B1C/B1A 1575.42 MHz. The frequency indices are assumed to represent different frequencies (with the exception of GLONASS where there are frequency deltas per satellite for some signals) and these signals are not going to mix in RTK solutions. B1 (2I) is most common and is kept at index 0. B1C (1P) is less common and is moved to index 4, bumping the rare 8P signal to index 5. --- src/rtkcmn.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) 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) { From c953398bbf0a15dcf9bbddf4de4f4057a131fe2c Mon Sep 17 00:00:00 2001 From: oaq Date: Mon, 11 Nov 2024 05:24:46 +1100 Subject: [PATCH 2/4] qtapp codeopt: correct C07/L1S and C08/L1L selection Off by one issue with L1S and L1L, was including L1E and missing L1S, and the respective mask bits were off. --- app/qtapp/rtkconv_qt/codeopt.cpp | 8 ++++---- app/qtapp/rtkconv_qt/codeopt.ui | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/qtapp/rtkconv_qt/codeopt.cpp b/app/qtapp/rtkconv_qt/codeopt.cpp index d1429394f..d4d6755da 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); @@ -515,8 +515,8 @@ void CodeOptDialog::updateEnable() ui->S26->setEnabled((navSystem & SYS_SBS) && (frequencyType & FREQTYPE_L3)); ui->C02->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L1)); + ui->C07->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->C18->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L1)); 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 From 9a654a522c96f4d6480233b4acda55d945c5d5b4 Mon Sep 17 00:00:00 2001 From: oaq Date: Mon, 11 Nov 2024 05:44:25 +1100 Subject: [PATCH 3/4] qtapp codeopt: add freq 6, move BDS signals to freq 5 and 6 Adds a freq 6 option, and moves BDS B2ab to freq 6 and moves BDS B1C and B1A to freq 5. --- app/consapp/convbin/convbin.c | 3 ++- app/qtapp/rtkconv_qt/codeopt.cpp | 20 ++++++++++---------- app/qtapp/rtkconv_qt/convopt.cpp | 4 ++++ app/qtapp/rtkconv_qt/convopt.ui | 8 ++++++++ src/rtklib.h | 13 +++++++------ 5 files changed, 31 insertions(+), 17 deletions(-) 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 d4d6755da..b71827350 100644 --- a/app/qtapp/rtkconv_qt/codeopt.cpp +++ b/app/qtapp/rtkconv_qt/codeopt.cpp @@ -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->C07->setEnabled((navSystem & SYS_CMP) && (frequencyType & FREQTYPE_L1)); - ui->C08->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/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/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) */ From 59cfa3c8202a30e22f6d46415a335c67a1684d6a Mon Sep 17 00:00:00 2001 From: oaq Date: Mon, 11 Nov 2024 05:50:28 +1100 Subject: [PATCH 4/4] win app codeopt: add freq 5 and 6, update BDS --- app/winapp/rtkconv/codeopt.cpp | 16 ++++++++-------- app/winapp/rtkconv/convopt.cpp | 8 ++++++++ app/winapp/rtkconv/convopt.dfm | 28 ++++++++++++++++++++++------ app/winapp/rtkconv/convopt.h | 2 ++ 4 files changed, 40 insertions(+), 14 deletions(-) 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;