Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
770e6f4
rtknavi_qt: correct freq change in SNR and sky plots
ourairquality Apr 20, 2026
590403b
preceph: fix code_bias_ix system indexing
ourairquality Apr 20, 2026
b8198ef
Fix incorrect install targets for some QT apps (launch, navi, plot, p…
Apr 22, 2026
fe5026c
rtknavi: fix the track plot expand and shrink for plots 3 and 4
ourairquality Apr 22, 2026
72dca37
Add BDS to the systems in the default process options
ourairquality Apr 25, 2026
ca3befa
rnx2rtkp: default nav sys to include Galileo and BDS
ourairquality Apr 25, 2026
dc6218a
Merge pull request #814 from ourairquality/code-bias-ix-sys
rtklibexplorer Apr 26, 2026
58c3066
Merge pull request #817 from ourairquality/rtknavi-track-expand-shrink
rtklibexplorer Apr 26, 2026
8969cc3
Merge pull request #820 from ourairquality/proc-opt-sys-bds
rtklibexplorer Apr 26, 2026
2595a36
Merge pull request #821 from ourairquality/rnx2rtkp-default-gal-bds
rtklibexplorer Apr 26, 2026
397d998
readsp3: handle arbitrary comment lines
ourairquality Apr 27, 2026
d3dc227
rinex header: fix clock file system parsing
ourairquality Apr 27, 2026
0bba414
Fix wrong constant in recent commits: SYS_BDS->SYS_CMP
rtklibexplorer Apr 27, 2026
640929b
Modify iono-free option to use iono-free combination of freq slots 1 …
rtklibexplorer Apr 28, 2026
bd43d0e
Merge pull request #813 from ourairquality/rtknavi-qt-plot-freq
JensReimann May 1, 2026
bf6432a
Merge pull request #815 from pabloleonbarriga/fix/qtapp-install-targets
JensReimann May 1, 2026
a67d8a8
code2bias: guard code being zero, and code_ix not found
ourairquality Apr 27, 2026
f8c403c
Merge pull request #822 from ourairquality/code2bias-guards
rtklibexplorer May 1, 2026
51cf4ea
Merge pull request #823 from ourairquality/readsp3-comments
rtklibexplorer May 1, 2026
30860a5
Merge pull request #824 from ourairquality/rinex-header-clk
rtklibexplorer May 1, 2026
f542de9
Make Beidou SSR clock and orbit correction message parsing functional
rtklibexplorer May 1, 2026
5b59da3
Some .BIA bias files leave SVN field blank, modify file parsing to ha…
rtklibexplorer May 1, 2026
9ada3b7
Apply code biases for PPP solutions as absolute instead of differenti…
rtklibexplorer May 1, 2026
28ad77c
- Initialize timestamps for SSR corrections in rtksvrinit
rtklibexplorer May 1, 2026
bfd6491
readrnxclk: interpolate the standard deviations
ourairquality May 8, 2026
5c9cd9d
satposs: fix to work with precise clocks from sp3 files
ourairquality May 7, 2026
bdb5af2
Merge pull request #832 from ourairquality/sp3-prec-clks
rtklibexplorer May 8, 2026
0a929ca
Merge pull request #833 from ourairquality/readrnxclk-std-interp
rtklibexplorer May 8, 2026
0e9a16a
Move $SAT output code to stat file for PPP solutions from rtkpos.c to…
rtklibexplorer May 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/consapp/rnx2rtkp/rnx2rtkp.c
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ int main(int argc, char **argv)
else if (n<MAXFILE) infile[n++]=argv[i];
}
if (!prcopt.navsys) {
prcopt.navsys=SYS_GPS|SYS_GLO;
prcopt.navsys=SYS_GPS|SYS_GLO|SYS_GAL|SYS_CMP;
}
if (n<=0) {
showmsg("error : no input file");
Expand Down
2 changes: 1 addition & 1 deletion app/qtapp/rtklaunch_qt/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ set_target_properties(rtklaunch_qt PROPERTIES
WIN32_EXECUTABLE ON
MACOSX_BUNDLE ON
)
install(TARGETS rtkget_qt RUNTIME DESTINATION bin BUNDLE DESTINATION bin)
install(TARGETS rtklaunch_qt RUNTIME DESTINATION bin BUNDLE DESTINATION bin)
if (UNIX)
install(FILES rtklaunch_qt.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
install(FILES ../icon/rtklaunch.png DESTINATION ${XDG_APPS_PIXMAPS_DIR})
Expand Down
2 changes: 1 addition & 1 deletion app/qtapp/rtknavi_qt/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ set_target_properties(rtknavi_qt PROPERTIES
WIN32_EXECUTABLE ON
MACOSX_BUNDLE ON
)
install(TARGETS rtkget_qt RUNTIME DESTINATION bin BUNDLE DESTINATION bin)
install(TARGETS rtknavi_qt RUNTIME DESTINATION bin BUNDLE DESTINATION bin)
if (UNIX)
install(FILES rtknavi_qt.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
install(FILES ../icon/rtknavi.png DESTINATION ${XDG_APPS_PIXMAPS_DIR})
Expand Down
31 changes: 16 additions & 15 deletions app/qtapp/rtknavi_qt/navimain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ MainWindow *mainForm;
#define KACYCLE 5000 // keep alive cycle (ms)
#define TIMEOUT 10000 // inactive timeout time (ms)
#define MAX_PORT_OFFSET 9 // max port number offset
#define MAXTRKSCALE 23 // track scale
#define MAXTRKSCALE 26 // track scale
#define MAXPANELMODE 7 // max panel mode

#define SQRT(x) ((x)<0.0||(x)!=(x)?0.0:sqrt(x))
Expand Down Expand Up @@ -126,7 +126,7 @@ MainWindow::MainWindow(QWidget *parent)
timeSystem = solutionType = 0;
for (int i = 0; i < 4; i++) {
plotType[i] = frequencyType[i] = baselineMode[i] = trackType[i] = 0;
trackScale[i] = 5;
trackScale[i] = 8;
};
solutionsCurrent = solutionsStart = solutionsEnd = numSatellites[0] = numSatellites[1] = 0;
nMapPoint = 0;
Expand Down Expand Up @@ -1720,12 +1720,12 @@ void MainWindow::drawSolutionPlot(QLabel *plot, int type, int freq)
drawText(c, w / 2 + x, 1, s2, Qt::darkGray, 1, 2);
}
} else if (type == 1) { // snr plot rover
drawSnr(c, w, h - topMargin, 0, topMargin, 0, type);
drawSnr(c, w, h - topMargin, 0, topMargin, 0, freq);
s1 = tr("Rover %L1 SNR (dBHz)").arg(fstr[freq]);
drawText(c, x, 1, s1, Qt::darkGray, 1, 2);
} else if (type == 2) { // skyplot rover
drawSatellites(c, w, h, 0, 0, 0, type);
s1 = tr("Rover %L1").arg(fstr[type]);
drawSatellites(c, w, h, 0, 0, 0, freq);
s1 = tr("Rover %L1").arg(fstr[freq]);
drawText(c, x, 1, s1, Qt::darkGray, 1, 2);
} else if (type == 3) { // skyplot+snr plot rover
s1 = tr("Rover %L1").arg(fstr[freq]);
Expand Down Expand Up @@ -1921,7 +1921,7 @@ void MainWindow::drawSatellites(QPainter &c, int w, int h, int x0, int y0,
radius = QFontMetrics(optDialog->panelFont).height();

c.setBrush(!validSatellites[index][k] ? Color::Silver :
(freq < NFREQ ? snrColor(snr[freq]) : color_sys[sysIdx]));
(freq < NFREQ + 1 ? snrColor(snr[freq]) : color_sys[sysIdx]));
c.setPen(Qt::darkGray);
color_text = Qt::white;
if (freq < NFREQ + 1 && snr[freq] <= 0) {
Expand Down Expand Up @@ -2041,17 +2041,18 @@ void MainWindow::drawTrack(QPainter &c, int id, QPaintDevice *plot)
QPoint p1, p2;
QString label;
static const double scale[] = {
0.00021, 0.00047, 0.001, 0.0021, 0.0047, 0.01, 0.021, 0.047, 0.1, 0.21, 0.47,
1.0, 2.1, 4.7, 10.0, 21.0, 47.0, 100.0, 210.0, 470.0, 1000.0, 2100.0,4700.0,
0.000021, 0.000047, 0.0001, 0.00021, 0.00047, 0.001, 0.0021, 0.0047,
0.01, 0.021, 0.047, 0.1, 0.21, 0.47,
1.0, 2.1, 4.7, 10.0, 21.0, 47.0, 100.0, 210.0, 470.0, 1000.0, 2100.0, 4700.0,
10000.0
};
double *x, *y, xt, yt, sx, sy, ref[3], pos[3], dr[3], enu[3];
int i, j, currentPointNo, numPoints = 0, type, scl;
int i, j, currentPointNo, numPoints = 0;

trace(3, "drawTrack\n");

type = id == 0 ? trackType[0] : trackType[1];
scl = id == 0 ? trackScale[0] : trackScale[1];
int type = trackType[id];
int scl = trackScale[id];

x = new double[optDialog->solutionBufferSize];
y = new double[optDialog->solutionBufferSize];
Expand Down Expand Up @@ -2535,10 +2536,10 @@ void MainWindow::loadOptions()
trackType[1] = settings.value("setting/trktype2", 0).toInt();
trackType[2] = settings.value("setting/trktype3", 0).toInt();
trackType[3] = settings.value("setting/trktype4", 0).toInt();
trackScale[0] = settings.value("setting/trkscale1", 5).toInt();
trackScale[1] = settings.value("setting/trkscale2", 5).toInt();
trackScale[2] = settings.value("setting/trkscale3", 5).toInt();
trackScale[3] = settings.value("setting/trkscale4", 5).toInt();
trackScale[0] = settings.value("setting/trkscale1", 8).toInt();
trackScale[1] = settings.value("setting/trkscale2", 8).toInt();
trackScale[2] = settings.value("setting/trkscale3", 8).toInt();
trackScale[3] = settings.value("setting/trkscale4", 8).toInt();
frequencyType[0] = settings.value("setting/freqtype1", 0).toInt();
frequencyType[1] = settings.value("setting/freqtype2", 0).toInt();
frequencyType[2] = settings.value("setting/freqtype3", 0).toInt();
Expand Down
2 changes: 1 addition & 1 deletion app/qtapp/rtkplot_qt/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ set_target_properties(rtkplot_qt PROPERTIES
WIN32_EXECUTABLE ON
MACOSX_BUNDLE ON
)
install(TARGETS rtkget_qt RUNTIME DESTINATION bin BUNDLE DESTINATION bin)
install(TARGETS rtkplot_qt RUNTIME DESTINATION bin BUNDLE DESTINATION bin)
if (UNIX)
install(FILES rtkplot_qt.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
install(FILES ../icon/rtkplot.png DESTINATION ${XDG_APPS_PIXMAPS_DIR})
Expand Down
2 changes: 1 addition & 1 deletion app/qtapp/rtkpost_qt/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ set_target_properties(rtkpost_qt PROPERTIES
WIN32_EXECUTABLE ON
MACOSX_BUNDLE ON
)
install(TARGETS rtkget_qt RUNTIME DESTINATION bin BUNDLE DESTINATION bin)
install(TARGETS rtkpost_qt RUNTIME DESTINATION bin BUNDLE DESTINATION bin)
if (UNIX)
install(FILES rtkpost_qt.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
install(FILES ../icon/rtkpost.png DESTINATION ${XDG_APPS_PIXMAPS_DIR})
Expand Down
2 changes: 1 addition & 1 deletion app/qtapp/srctblbrows_qt/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ set_target_properties(srctblbrows_qt PROPERTIES
WIN32_EXECUTABLE ON
MACOSX_BUNDLE ON
)
install(TARGETS rtkget_qt RUNTIME DESTINATION bin BUNDLE DESTINATION bin)
install(TARGETS srctblbrows_qt RUNTIME DESTINATION bin BUNDLE DESTINATION bin)
if (UNIX)
install(FILES srctblbrows_qt.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
install(FILES ../icon/srctblbrows.png DESTINATION ${XDG_APPS_PIXMAPS_DIR})
Expand Down
2 changes: 1 addition & 1 deletion app/qtapp/strsvr_qt/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ set_target_properties(strsvr_qt PROPERTIES
WIN32_EXECUTABLE ON
MACOSX_BUNDLE ON
)
install(TARGETS rtkget_qt RUNTIME DESTINATION bin BUNDLE DESTINATION bin)
install(TARGETS strsvr_qt RUNTIME DESTINATION bin BUNDLE DESTINATION bin)
if (UNIX)
install(FILES strsvr_qt.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
install(FILES ../icon/strsvr.png DESTINATION ${XDG_APPS_PIXMAPS_DIR})
Expand Down
47 changes: 38 additions & 9 deletions app/winapp/rtknavi/navimain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,8 @@ __fastcall TMainForm::TMainForm(TComponent* Owner)
CmdEna[i][0]=CmdEna[i][1]=CmdEna[i][2]=0;
}
TimeSys=SolType=PlotType1=PlotType2=FreqType1=FreqType2=0;
TrkType1=TrkType2=0;
TrkScale1=TrkScale2=5;
TrkType1=TrkType2=TrkType3=TrkType4=0;
TrkScale1=TrkScale2=TrkScale3=TrkScale4=8;
BLMode1=BLMode2=BLMode3=BLMode4=0;
PSol=PSolS=PSolE=Nsat[0]=Nsat[1]=0;
NMapPnt=0;
Expand Down Expand Up @@ -1011,6 +1011,34 @@ void __fastcall TMainForm::BtnShrink2Click(TObject *Sender)
TrkScale2++;
UpdatePlot();
}
// callback on button expand-2 ----------------------------------------------
void __fastcall TMainForm::BtnExpand3Click(TObject *Sender)
{
if (TrkScale3<=0) return;
TrkScale3--;
UpdatePlot();
}
// callback on button shrink-3 ----------------------------------------------
void __fastcall TMainForm::BtnShrink3Click(TObject *Sender)
{
if (TrkScale3>=MAXTRKSCALE) return;
TrkScale3++;
UpdatePlot();
}
// callback on button expand-4 ----------------------------------------------
void __fastcall TMainForm::BtnExpand4Click(TObject *Sender)
{
if (TrkScale4<=0) return;
TrkScale4--;
UpdatePlot();
}
// callback on button shrink-4 ----------------------------------------------
void __fastcall TMainForm::BtnShrink4Click(TObject *Sender)
{
if (TrkScale4>=MAXTRKSCALE) return;
TrkScale4++;
UpdatePlot();
}
// callback on button-rtk-monitor -------------------------------------------
void __fastcall TMainForm::BtnMonitorClick(TObject *Sender)
{
Expand Down Expand Up @@ -1292,6 +1320,7 @@ void __fastcall TMainForm::SvrStart(void)
strsetopt(stropt);
strcpy(rtksvr.cmd_reset,ResetCmd.c_str());
rtksvr.bl_reset=MaxBL;
//rtksvrinit(&rtksvr); // uncomment this to make RTKNAVI repeatable from run to run (useful for debug)

// start rtk server
if (!rtksvrstart(&rtksvr,SvrCycle,SvrBuffSize,strs,(const char **)paths,Format,
Expand Down Expand Up @@ -2037,12 +2066,12 @@ void __fastcall TMainForm::DrawTrk(TImage *plot)
10000.0
};
double *x,*y,xt,yt,sx,sy,ref[3],pos[3],dr[3],enu[3];
int i,j,k,n=0,type,scl;
int i,j,k,n=0;

trace(3,"DrawTrk\n");

type=plot->Name=="Plot1"?TrkType1 :TrkType2 ;
scl =plot->Name=="Plot1"?TrkScale1:TrkScale2;
int type=plot->Name=="Plot1"?TrkType1:plot->Name=="Plot2"?TrkType2:plot->Name=="Plot3"?TrkType3:TrkType4;
int scl =plot->Name=="Plot1"?TrkScale1:plot->Name=="Plot2"?TrkScale2:plot->Name=="Plot3"?TrkScale3:TrkScale4;

x=new double[SolBuffSize];
y=new double[SolBuffSize];
Expand Down Expand Up @@ -2611,10 +2640,10 @@ void __fastcall TMainForm::LoadOpt(void)
TrkType2 =ini->ReadInteger("setting","trktype2", 0);
TrkType3 =ini->ReadInteger("setting","trktype3", 0);
TrkType4 =ini->ReadInteger("setting","trktype4", 0);
TrkScale1 =ini->ReadInteger("setting","trkscale1", 5);
TrkScale2 =ini->ReadInteger("setting","trkscale2", 5);
TrkScale3 =ini->ReadInteger("setting","trkscale3", 5);
TrkScale4 =ini->ReadInteger("setting","trkscale4", 5);
TrkScale1 =ini->ReadInteger("setting","trkscale1", 8);
TrkScale2 =ini->ReadInteger("setting","trkscale2", 8);
TrkScale3 =ini->ReadInteger("setting","trkscale3", 8);
TrkScale4 =ini->ReadInteger("setting","trkscale4", 8);
FreqType1 =ini->ReadInteger("setting","freqtype1", 0);
FreqType2 =ini->ReadInteger("setting","freqtype2", 0);
FreqType3 =ini->ReadInteger("setting","freqtype3", 0);
Expand Down
8 changes: 4 additions & 4 deletions app/winapp/rtknavi/navimain.dfm
Original file line number Diff line number Diff line change
Expand Up @@ -707,7 +707,7 @@ object MainForm: TMainForm
B4000000000000000000B4B4B4FFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FF00}
OnClick = BtnExpand2Click
OnClick = BtnExpand3Click
end
object BtnShrink3: TSpeedButton
Left = 1
Expand Down Expand Up @@ -735,7 +735,7 @@ object MainForm: TMainForm
B4000000000000000000B4B4B4FFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FF00}
OnClick = BtnShrink2Click
OnClick = BtnShrink3Click
end
end
object Panel25: TPanel
Expand Down Expand Up @@ -833,7 +833,7 @@ object MainForm: TMainForm
B4000000000000000000B4B4B4FFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FF00}
OnClick = BtnExpand2Click
OnClick = BtnExpand4Click
end
object BtnShrink4: TSpeedButton
Left = 1
Expand Down Expand Up @@ -861,7 +861,7 @@ object MainForm: TMainForm
B4000000000000000000B4B4B4FFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FF00}
OnClick = BtnShrink2Click
OnClick = BtnShrink4Click
end
end
end
Expand Down
4 changes: 4 additions & 0 deletions app/winapp/rtknavi/navimain.h
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,10 @@ class TMainForm : public TForm
void __fastcall BtnShrink1Click(TObject *Sender);
void __fastcall BtnExpand2Click(TObject *Sender);
void __fastcall BtnShrink2Click(TObject *Sender);
void __fastcall BtnExpand3Click(TObject *Sender);
void __fastcall BtnShrink3Click(TObject *Sender);
void __fastcall BtnExpand4Click(TObject *Sender);
void __fastcall BtnShrink4Click(TObject *Sender);
void __fastcall BtnMarkClick(TObject *Sender);
void __fastcall Panel24Resize(TObject *Sender);
void __fastcall Panel25Resize(TObject *Sender);
Expand Down
9 changes: 7 additions & 2 deletions src/ephemeris.c
Original file line number Diff line number Diff line change
Expand Up @@ -808,8 +808,13 @@ extern void satposs(gtime_t teph, const obsd_t *obs, int n, const nav_t *nav,
time[i]=timeadd(obs[i].time,-pr/CLIGHT);

/* satellite clock offset from precise products or broadcast ephemeris */
if (ephopt==EPHOPT_PREC&&nav->nc>0) {
if(!pephclk(time[i],obs[i].sat,nav,&dt,NULL)) {

// Note: this uses as input the estimated satellite clock time without
// correction but the precise clock corrections are wrt GPST. The
// satellite clock drift over this small period is considered
// negligible to the clock offset lookup here.
if (ephopt == EPHOPT_PREC) {
if (!pephclk(time[i], obs[i].sat, nav, &dt, NULL)) {
trace(3,"no precise clock %s sat=%2d\n",time2str(time[i],tstr,3),obs[i].sat);
continue;
}
Expand Down
38 changes: 19 additions & 19 deletions src/ppp.c
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ static double STD(rtk_t *rtk, int i)
return SQRT(rtk->P[i+i*rtk->nx]);
}
/* write solution status for PPP ---------------------------------------------*/
extern int pppoutstat(rtk_t *rtk, char *buff)
extern int pppoutstat(rtk_t *rtk, char *buff, int level)
{
ssat_t *ssat;
double tow,pos[3],vel[3],acc[3],*x;
Expand Down Expand Up @@ -184,17 +184,23 @@ extern int pppoutstat(rtk_t *rtk, char *buff)
rtk->ssat[i].azel[1]*R2D,x[j],STD(rtk,j));
}
}
#ifdef OUTSTAT_AMB
/* ambiguity parameters */
int k;
for (i=0;i<MAXSAT;i++) for (j=0;j<NF(&rtk->opt);j++) {
k=IB(i+1,j,&rtk->opt);
if (rtk->x[k]==0.0) continue;
if (level <= 1) return (int)(p-buff);

/* Write residuals and status */
for (int i=0;i<MAXSAT;i++) {
ssat=rtk->ssat+i;
if (!ssat->vs) continue;
satno2id(i+1,id);
p+=sprintf(p,"$AMB,%d,%.3f,%d,%s,%d,%.4f,%.4f\n",week,tow,
rtk->sol.stat,id,j+1,x[k],STD(rtk,k));
for (int j=0;j<NF(&rtk->opt);j++) {
int k=IB(i+1,j,&rtk->opt);
p+=sprintf(p,"$SAT,%d,%.3f,%s,%d,%.1f,%.1f,%.4f,%.4f,%d,%.0f,%d,%d,%d,%u,%u,%u,%.2f,%.6f,%.5f\n",
week,tow,id,j+1,ssat->azel[0]*R2D,ssat->azel[1]*R2D,
ssat->resp[j],ssat->resc[j],ssat->vsat[j],ssat->snr_rover[j],
ssat->fix[j],ssat->slip[j]&(LLI_SLIP|LLI_HALFC),ssat->lock[j],ssat->outc[j],
ssat->slipc[j],ssat->rejc[j],k<rtk->nx?rtk->x[k]:0,
k<rtk->nx?rtk->P[k+k*rtk->nx]:0,ssat->icbias[j]);
}
}
#endif
return (int)(p-buff);
}
/* exclude meas of eclipsing satellite (block IIA) ---------------------------*/
Expand Down Expand Up @@ -426,18 +432,11 @@ static void corr_meas(const obsd_t *obs, const nav_t *nav, const double *azel,
P[i]=obs->P[i] -dants[i]-dantr[i];
double P_nobias = P[i];
if (opt->sateph==EPHOPT_SSRAPC||opt->sateph==EPHOPT_SSRCOM) {
/* select SSR code correction based on code */
if (sys==SYS_GPS)
ix=(i==0?CODE_L1W-1:CODE_L2W-1);
else if (sys==SYS_GLO)
ix=(i==0?CODE_L1P-1:CODE_L2P-1);
else if (sys==SYS_GAL)
ix=(i==0?CODE_L1X-1:CODE_L7X-1);
/* apply SSR correction */
P[i]+=(nav->ssr[obs->sat-1].cbias[obs->code[i]-1]-nav->ssr[obs->sat-1].cbias[ix]);
P[i]-=nav->ssr[obs->sat-1].cbias[obs->code[i]-1];
}
else { /* apply code bias corrections from file */
P[i]-=code2bias(nav,sys,obs->sat,obs->code[i],0); /* differential bias*/
P[i]-=code2bias(nav,sys,obs->sat,obs->code[i],1); /* absolute bias*/
}
trace(4,"sys=%d sat=%d frq=%d, P: %.3f->%.3f, dt=%.3f\n",sys,obs->sat,i,P_nobias,P[i],(P[i]-P_nobias)/(1E-9*CLIGHT));
}
Expand All @@ -450,6 +449,7 @@ static void corr_meas(const obsd_t *obs, const nav_t *nav, const double *azel,

if (L[0]!=0.0&&L[frq2]!=0.0) *Lc=C1*L[0]+C2*L[frq2];
if (P[0]!=0.0&&P[frq2]!=0.0) *Pc=C1*P[0]+C2*P[frq2];
trace(4,"corr_meas: sat=%d f2=%d, Lc=%.3f Pc=%.3f\n",obs->sat,frq2,*Lc,*Pc);
}
/* detect cycle slip by LLI --------------------------------------------------*/
static void detslp_ll(rtk_t *rtk, const obsd_t *obs, int n)
Expand Down
Loading