diff --git a/src/ephemeris.c b/src/ephemeris.c index 75cdec52da4cb7ea7cc73c08895f3aacd91759d2..58a12fce3b34bf3b95ff19c851e07af3d5002401 100644 --- a/src/ephemeris.c +++ b/src/ephemeris.c @@ -770,6 +770,7 @@ extern void satposs(gtime_t teph, const obsd_t *obs, int n, const nav_t *nav, int i,j; trace(3,"satposs : teph=%s n=%d ephopt=%d\n",time_str(teph,3),n,ephopt); + //printf("satposs : teph=%s n=%d ephopt=%d\n",time_str(teph,3),n,ephopt); /*if (ephopt==2) { printf("====satposs : teph=%s n=%d ephopt=%d\n",time_str(teph,3),n,ephopt); @@ -805,8 +806,9 @@ extern void satposs(gtime_t teph, const obsd_t *obs, int n, const nav_t *nav, // JV{ if (ephopt == EPHOPT_SBAS2 /*&& svh[i] == -1*/) // complement SBAS with BRDC eph { - //printf("satposs: in EPHOPT_SBAS2 wrong satpos. svh: %d. rs=%f, %f, %f. Reseting svh to 0 (ok).\n",svh[i],rs[i*6],rs[i*6+1],rs[i*6+2]); - svh[i] = 0; + //printf("satposs: using EPHOPT_SBAS2 wrong satpos sat:%d, svh: %d, rs=%f, %f, %f. Trying without SBAS.\n",obs[i].sat,svh[i],rs[i*6],rs[i*6+1],rs[i*6+2]); + if (!satpos(time[i],teph,obs[i].sat,EPHOPT_BRDC,nav,rs+i*6,dts+i*2,var+i,svh+i)) + continue; } else //}JV @@ -824,7 +826,7 @@ extern void satposs(gtime_t teph, const obsd_t *obs, int n, const nav_t *nav, trace(4,"%s sat=%2d rs=%13.3f %13.3f %13.3f dts=%12.3f var=%7.3f svh=%02X\n", time_str(time[i],6),obs[i].sat,rs[i*6],rs[1+i*6],rs[2+i*6], dts[i*2]*1E9,var[i],svh[i]); - //printf("%s sat=%2d rs=%13.3f %13.3f %13.3f dts=%12.3f var=%7.3f svh=%02X\n", + //printf("%s sat=%2d rs=%13.3f %13.3f %13.3f dts=%12.3f var=%7.3f svh=%2d\n", // time_str(time[i],6),obs[i].sat,rs[i*6],rs[1+i*6],rs[2+i*6], // dts[i*2]*1E9,var[i],svh[i]); } diff --git a/src/pntpos.c b/src/pntpos.c index 3181d4465c7358204b8d790868f9a789a6038b3b..e67beeff24737ca9029b34f4bea231c11ceb5db7 100644 --- a/src/pntpos.c +++ b/src/pntpos.c @@ -315,7 +315,6 @@ static int rescode(int iter, const obsd_t *obs, int n, const double *rs, } //printf(" OK\n"); - //printf(" OK!\n"); /* pseudorange residual */ v[nv]=P-(r+dtr-CLIGHT*dts[i*2]+dion+dtrp); @@ -441,7 +440,8 @@ static int estpos(const obsd_t *obs, int n, const double *rs, const double *dts, /* pseudorange residuals */ nv=rescode(i,obs,n,rs,dts,vare,svh,nav,x,opt,ssat,v,H,var,azel,vsat,resp, &ns); - + //printf("estpos: iteration %d, nv = %d\n", i, nv); + if (nv<NX) { //sprintf(msg,"lack of valid sats ns=%d",nv); sprintf(msg,"lack of valid sats ns=%d, nv=%2d",ns, nv);//JV