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/appcmn_qt/freqdlg.ui b/app/qtapp/appcmn_qt/freqdlg.ui index e178b79da..f96a905f0 100644 --- a/app/qtapp/appcmn_qt/freqdlg.ui +++ b/app/qtapp/appcmn_qt/freqdlg.ui @@ -6,7 +6,7 @@ 0 0 - 601 + 700 309 @@ -112,6 +112,11 @@ L5 + + + L6 + + L1 @@ -136,6 +141,14 @@ AlignCenter + + + L6 + + + AlignCenter + + - @@ -152,6 +165,14 @@ AlignCenter + + + - + + + AlignCenter + + G1/a @@ -192,6 +213,14 @@ AlignCenter + + + - + + + AlignCenter + + E1 @@ -232,6 +261,14 @@ AlignCenter + + + - + + + AlignCenter + + L1 @@ -272,6 +309,14 @@ AlignCenter + + + - + + + AlignCenter + + L5 @@ -312,6 +357,14 @@ AlignCenter + + + - + + + AlignCenter + + L1 @@ -352,6 +405,14 @@ AlignCenter + + + - + + + AlignCenter + + B1 @@ -385,6 +446,14 @@ + + B1C / B1A + + + AlignCenter + + + B2ab 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/src/rtkcmn.c b/src/rtkcmn.c index 5ff96f154..a0ceaec80 100644 --- a/src/rtkcmn.c +++ b/src/rtkcmn.c @@ -268,13 +268,13 @@ static char *obscodes[MAXCODE + 1]={ /* observation code strings */ }; static char codepris[7][MAXFREQ][16]={ /* code priority for each freq-index */ /* L1/E1/B1 L2/E5b/B2b L5/E5a/B2a E6/LEX/B3 E5(a+b) */ - {"CPYWMNSLX","CPYWMNDLSX","IQX" ,"" ,"" ,""}, /* GPS */ - {"CPABX" ,"CPABX" ,"IQX" ,"" ,"" ,""}, /* GLO */ - {"CABXZ" ,"XIQ" ,"XIQ" ,"ABCXZ" ,"IQX" ,""}, /* GAL */ - {"CLSXZBE" ,"LSX" ,"IQXDPZ" ,"LSXEZ" ,"" ,""}, /* QZS */ - {"C" ,"IQX" ,"" ,"" ,"" ,""}, /* SBS */ - {"IQXDPSLZAN","IQXDPZ" ,"DPX" ,"IQXDPZA" ,"DPX" ,""}, /* BDS */ - {"ABCX" ,"ABCX" ,"DPX" ,"" ,"" ,""} /* IRN */ + {"CPYWMNSLX","CPYWMNDLSX","IQX" ,"" ,"" ,""}, /* GPS */ + {"CPABX" ,"CPABX" ,"IQX" ,"" ,"" ,""}, /* GLO */ + {"CABXZ" ,"XIQ" ,"XIQ" ,"ABCXZ" ,"IQX" ,""}, /* GAL */ + {"CLSXZBE" ,"LSX" ,"IQXDPZ" ,"LSXEZ" ,"" ,""}, /* QZS */ + {"C" ,"IQX" ,"" ,"" ,"" ,""}, /* SBS */ + {"IQX" ,"IQXDPZ" ,"DPX" ,"IQXDPZA","DPXSLZAN","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 bf466712e..7c153b6fc 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) */