diff --git a/src/ephemeris.c b/src/ephemeris.c index 404d6d133a68cded0e042d62e0abf7d3a0fdc51c..d7e722a09d72be22637d57f78802155f6b2f5f32 100644 --- a/src/ephemeris.c +++ b/src/ephemeris.c @@ -759,7 +759,10 @@ extern void satposs(gtime_t teph, const obsd_t *obs, int n, const nav_t *nav, trace(3,"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); + print_sbassat(&nav->sbssat); + } for (i=0;i<n&&i<2*MAXOBS;i++) { for (j=0;j<6;j++) rs [j+i*6]=0.0; diff --git a/src/rtklib.h b/src/rtklib.h index d7bf3a162b8b8bf0cff291e6958ec3078380b4c8..e28fdac31028e939f79e108ae3b012d48964a63b 100644 --- a/src/rtklib.h +++ b/src/rtklib.h @@ -1821,6 +1821,7 @@ EXPORT int sbsioncorr(gtime_t time, const nav_t *nav, const double *pos, const double *azel, double *delay, double *var); EXPORT double sbstropcorr(gtime_t time, const double *pos, const double *azel, double *var); +EXPORT void print_sbassat(const sbssat_t *sbssat); /* options functions ---------------------------------------------------------*/ EXPORT opt_t *searchopt(const char *name, const opt_t *opts); diff --git a/src/sbas.c b/src/sbas.c index 2223a3b9770499e9ebaeeffdb620bce3d219941c..812d8ec0f69b3ee6a702af8771b3e50f87a3fad8 100644 --- a/src/sbas.c +++ b/src/sbas.c @@ -123,6 +123,45 @@ static double degfcorr(int ai) }; return 0<ai&&ai<=15?degf[ai]:0.0058; } +/* print sbsfcorr_t (JV) -------------------------------------------------------*/ +static void print_sbsfcorr(const sbsfcorr_t *sbsfcorr) +{ + printf("\t\tiodf: %d, udre: %d, [%f, %f, %f, %d]\n", + sbsfcorr->iodf, + sbsfcorr->udre, + sbsfcorr->prc, + sbsfcorr->rrc, + sbsfcorr->dt, + sbsfcorr->ai); +} +/* print sbslcorr_t (JV) -------------------------------------------------------*/ +static void print_sbslcorr(const sbslcorr_t *sbslcorr) +{ + printf("\t\tiode: %d, [[%f, %f, %f], [%f, %f, %f], %f, %f]\n", + sbslcorr->iode, + sbslcorr->dpos[0],sbslcorr->dpos[1],sbslcorr->dpos[2], + sbslcorr->dvel[0],sbslcorr->dvel[1],sbslcorr->dvel[2], + sbslcorr->daf0,sbslcorr->daf1); +} +/* print sbssatp_t (JV) -------------------------------------------------------*/ +static void print_sbssatp(const sbssatp_t *sbssatp) +{ + printf("\tsat: %d\n", sbssatp->sat); /* satellite number */ + printf("\tfcorr:\n"); + print_sbsfcorr(&sbssatp->fcorr);/* fast correction */ + printf("\tlcorr:\n"); + print_sbslcorr(&sbssatp->lcorr);/* long term correction */ +} +/* print sbssat_t (JV) -------------------------------------------------------*/ +extern void print_sbassat(const sbssat_t *sbssat) +{ + printf("iodp: %d\n", sbssat->iodp); /* IODP (issue of date mask) */ + printf("tlat: %d\n", sbssat->tlat); /* system latency (s) */ + printf("nsat: %d\n", sbssat->nsat); /* number of satellites */ + printf("sat:\n"); + for (int i = 0; i < sbssat->nsat; i++) + print_sbssatp(&sbssat->sat[i]); +} /* decode type 1: prn masks --------------------------------------------------*/ static int decode_sbstype1(const sbsmsg_t *msg, sbssat_t *sbssat) {