diff --git a/src/ephemeris.c b/src/ephemeris.c index 685dce0a11518d1cffc6991047c283a9731d09fd..404d6d133a68cded0e042d62e0abf7d3a0fdc51c 100644 --- a/src/ephemeris.c +++ b/src/ephemeris.c @@ -415,7 +415,11 @@ static eph_t *seleph(gtime_t time, int sat, int iode, const nav_t *nav) for (i=0;i<nav->n;i++) { if (nav->eph[i].sat!=sat) continue; - if (iode>=0&&nav->eph[i].iode!=iode) continue; + if (iode>=0&&nav->eph[i].iode!=iode){ + printf("seleph: existent eph of sat =%2d but different iode=%3d (searching %3d)\n", + sat,nav->eph[i].iode, iode); + continue; + } if (sys==SYS_GAL&&sel) { if (sel==1&&!(nav->eph[i].code&(1<<9))) continue; /* I/NAV */ if (sel==2&&!(nav->eph[i].code&(1<<8))) continue; /* F/NAV */ @@ -427,8 +431,8 @@ static eph_t *seleph(gtime_t time, int sat, int iode, const nav_t *nav) if (iode>=0||j<0) { trace(3,"no broadcast ephemeris: %s sat=%2d iode=%3d\n",time_str(time,0), sat,iode); - printf("seleph: no broadcast ephemeris: %s sat=%2d iode=%3d\n",time_str(time,0), - sat,iode); + if (iode >= 0) + printf("seleph: no broadcast ephemeris: %s sat=%2d iode=%3d\n",time_str(time,0),sat,iode); return NULL; } return nav->eph+j; @@ -569,7 +573,10 @@ static int satpos_sbas(gtime_t time, gtime_t teph, int sat, const nav_t *nav, if (ephpos(time,teph,sat,nav,-1,rs,dts,var,svh)) *svh=-2;// JV: error code for detecting available ephemeris without sbas correction else - printf("satpos_sbas: no broadcast eph for sat %2d\n",sat); + { + *svh=-1; + // printf("satpos_sbas: no broadcast eph for sat %2d\n",sat); + } return 0; } /* satellite postion and clock by broadcast ephemeris */ @@ -751,7 +758,8 @@ 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); 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/rcv/ublox.c b/src/rcv/ublox.c index b524fb9bff5686a4944e6727a3c5168f72c777fa..2b665858d4696fe501c87310d8728d72b65d27d3 100644 --- a/src/rcv/ublox.c +++ b/src/rcv/ublox.c @@ -262,7 +262,7 @@ static int decode_rxmraw(raw_t *raw) char *q; trace(4,"decode_rxmraw: len=%d\n",raw->len); - //printf("decode_rxmraw: len=%d\n",raw->len); + //printf("\tdecode_rxmraw: len=%d\n",raw->len); if (raw->outtype) { sprintf(raw->msgtype,"UBX RXM-RAW (%4d): nsat=%d",raw->len,U1(p+6)); @@ -340,7 +340,7 @@ static int decode_rxmrawx(raw_t *raw) int week,nmeas,ver,gnss,svid,sigid,frqid,lockt,cn0,cpstd,prstd,tstat; trace(4,"decode_rxmrawx: len=%d\n",raw->len); - //printf("decode_rxmrawx: len=%d\n",raw->len); + //printf("\tdecode_rxmrawx: len=%d\n",raw->len); if (raw->len<24) { trace(2,"ubx rxmrawx length error: len=%d\n",raw->len); @@ -523,7 +523,7 @@ static int decode_ephem(int sat, raw_t *raw) eph.sat=sat; raw->nav.eph[sat-1]=eph; raw->ephsat=sat; - printf("decode_ephem eph.iode = %d\n", eph.iode); + printf("\tdecode_ephem eph.iode = %d\n", eph.iode); return 2; } /* decode almanac and ion/utc ------------------------------------------------*/ @@ -570,7 +570,7 @@ static int decode_rxmsfrb(raw_t *raw) unsigned char *p=raw->buff+6; trace(4,"decode_rxmsfrb: len=%d\n",raw->len); - //printf("decode_rxmsfrb: len=%d\n",raw->len); + //printf("\tdecode_rxmsfrb: len=%d\n",raw->len); if (raw->outtype) { sprintf(raw->msgtype,"UBX RXM-SFRB (%4d): prn=%2d",raw->len,U1(p+1)); @@ -606,7 +606,7 @@ static int decode_navsol(raw_t *raw) unsigned char *p=raw->buff+6; trace(4,"decode_navsol: len=%d\n",raw->len); - //printf("decode_navsol: len=%d\n",raw->len); + //printf("\tdecode_navsol: len=%d\n",raw->len); if (raw->outtype) { sprintf(raw->msgtype,"UBX NAV-SOL (%4d):",raw->len); @@ -626,7 +626,7 @@ static int decode_navtime(raw_t *raw) unsigned char *p=raw->buff+6; trace(4,"decode_navtime: len=%d\n",raw->len); - //printf("decode_navtime: len=%d\n",raw->len); + //printf("\tdecode_navtime: len=%d\n",raw->len); if (raw->outtype) { sprintf(raw->msgtype,"UBX NAV-TIME (%4d):",raw->len); @@ -654,7 +654,7 @@ static int decode_trkmeas(raw_t *raw) const char P_adj_fw3[]={11,13,13,14,14,13,12,10, 8, 6, 5, 5, 5, 7, 0}; /* fw 3.01 */ trace(4,"decode_trkmeas: len=%d\n",raw->len); - //printf("decode_trkmeas: len=%d\n",raw->len); + //printf("\tdecode_trkmeas: len=%d\n",raw->len); if (raw->outtype) { sprintf(raw->msgtype,"UBX TRK-MEAS (%4d):",raw->len); @@ -787,7 +787,7 @@ static int decode_trkd5(raw_t *raw) unsigned char *p=raw->buff+6; trace(4,"decode_trkd5: len=%d\n",raw->len); - //printf("decode_trkd5: len=%d\n",raw->len); + //printf("\tdecode_trkd5: len=%d\n",raw->len); if (raw->outtype) { sprintf(raw->msgtype,"UBX TRK-D5 (%4d):",raw->len); @@ -904,24 +904,24 @@ static int decode_nav(raw_t *raw, int sat, int off) //printf("ubx rawsfrbx length error: sat=%d len=%d\n",sat,raw->len); return -1; } - //printf("decode_nav: p = %hhx\n", *p); - //printf("decode_nav: p+1 = %hhx\n", *(p+1)); - //printf("decode_nav: p+2 = %hhx\n", *(p+2)); - //printf("decode_nav: p+3 = %hhx\n", *(p+3)); - //printf("decode_nav: U4(p) = %lu\n",U4(p)); - //printf("decode_nav: U4(p)>>24 = %lu\n",U4(p)>>24); -// printf("decode_nav: U4(p+4) = %lu\n",U4(p+4)); -// printf("decode_nav: U4(p+4)>>24 = %lu\n",U4(p+4)>>24); -// printf("decode_nav: U4(p+8) = %lu\n",U4(p+8)); -// printf("decode_nav: U4(p+8)>>24 = %lu\n",U4(p+8)>>24); -// printf("decode_nav: U4(p+12) = %lu\n",U4(p+12)); -// printf("decode_nav: U4(p+12)>>24 = %lu\n",U4(p+12)>>24); -// printf("decode_nav: U4(p+16) = %lu\n",U4(p+16)); -// printf("decode_nav: U4(p+16)>>24 = %lu\n",U4(p+16)>>24); -// printf("decode_nav: U4(p+20) = %lu\n",U4(p+20)); -// printf("decode_nav: U4(p+20)>>24 = %lu\n",U4(p+20)>>24); -// printf("decode_nav: U4(p+24) = %lu\n",U4(p+24)); -// printf("decode_nav: U4(p+24)>>24 = %lu\n",U4(p+24)>>24); + //printf("\tdecode_nav: p = %hhx\n", *p); + //printf("\tdecode_nav: p+1 = %hhx\n", *(p+1)); + //printf("\tdecode_nav: p+2 = %hhx\n", *(p+2)); + //printf("\tdecode_nav: p+3 = %hhx\n", *(p+3)); + //printf("\tdecode_nav: U4(p) = %lu\n",U4(p)); + //printf("\tdecode_nav: U4(p)>>24 = %lu\n",U4(p)>>24); +// printf("\tdecode_nav: U4(p+4) = %lu\n",U4(p+4)); +// printf("\tdecode_nav: U4(p+4)>>24 = %lu\n",U4(p+4)>>24); +// printf("\tdecode_nav: U4(p+8) = %lu\n",U4(p+8)); +// printf("\tdecode_nav: U4(p+8)>>24 = %lu\n",U4(p+8)>>24); +// printf("\tdecode_nav: U4(p+12) = %lu\n",U4(p+12)); +// printf("\tdecode_nav: U4(p+12)>>24 = %lu\n",U4(p+12)>>24); +// printf("\tdecode_nav: U4(p+16) = %lu\n",U4(p+16)); +// printf("\tdecode_nav: U4(p+16)>>24 = %lu\n",U4(p+16)>>24); +// printf("\tdecode_nav: U4(p+20) = %lu\n",U4(p+20)); +// printf("\tdecode_nav: U4(p+20)>>24 = %lu\n",U4(p+20)>>24); +// printf("\tdecode_nav: U4(p+24) = %lu\n",U4(p+24)); +// printf("\tdecode_nav: U4(p+24)>>24 = %lu\n",U4(p+24)>>24); if ((U4(p)>>24)==PREAMB_CNAV) { trace(3,"ubx rawsfrbx cnav not supported sat=%d prn=%d\n",sat, (U4(p)>>18)&0x3F); @@ -931,7 +931,7 @@ static int decode_nav(raw_t *raw, int sat, int off) for (i=0;i<10;i++,p+=4) words[i]=U4(p)>>6; /* 24 bits without parity */ id=(words[1]>>2)&7; - //printf("decode_nav: sat=%2d id=%d len=%d\n",sat,id,raw->len); + //printf("\tdecode_nav: sat=%2d id=%d len=%d\n",sat,id,raw->len); if (id<1||5<id) { trace(2,"ubx rawsfrbx subfrm id error: sat=%2d id=%d len=%d\n",sat,id, raw->len); @@ -949,7 +949,7 @@ static int decode_nav(raw_t *raw, int sat, int off) /* decode galileo navigation data --------------------------------------------*/ static int decode_enav(raw_t *raw, int sat, int off) { - //printf("decode_enav\n"); + //printf("\tdecode_enav\n"); eph_t eph={0}; unsigned char *p=raw->buff+6+off,buff[32],crc_buff[26]={0}; int i,j,k,part1,page1,part2,page2,type; @@ -1022,13 +1022,13 @@ static int decode_enav(raw_t *raw, int sat, int off) eph.sat=sat; raw->nav.eph[sat-1]=eph; raw->ephsat=sat; - printf("decode_enav eph.iode = %d\n", eph.iode); + printf("\tdecode_enav eph.iode = %d\n", eph.iode); return 2; } /* decode beidou navigation data ---------------------------------------------*/ static int decode_cnav(raw_t *raw, int sat, int off) { - //printf("decode_cnav\n"); + //printf("\tdecode_cnav\n"); eph_t eph={0}; unsigned int words[10]; int i,id,pgn,prn; @@ -1089,7 +1089,7 @@ static int decode_cnav(raw_t *raw, int sat, int off) /* decode glonass navigation data --------------------------------------------*/ static int decode_gnav(raw_t *raw, int sat, int off, int frq) { - //printf("decode_gnav\n"); + //printf("\tdecode_gnav\n"); geph_t geph={0}; int i,j,k,m,prn; unsigned char *p=raw->buff+6+off,buff[64],*fid; @@ -1136,13 +1136,13 @@ static int decode_gnav(raw_t *raw, int sat, int off, int frq) } raw->nav.geph[prn-1]=geph; raw->ephsat=sat; - printf("decode_gnav geph.iode = %d\n", geph.iode); + printf("\tdecode_gnav geph.iode = %d\n", geph.iode); return 2; } /* decode sbas navigation data -----------------------------------------------*/ static int decode_snav(raw_t *raw, int sat, int off) { - //printf("decode_snav\n"); + //printf("\tdecode_snav\n"); int i,j,k,prn,tow,week; unsigned char *p=raw->buff+6+off,buff[64]; @@ -1170,7 +1170,7 @@ static int decode_rxmsfrbx(raw_t *raw) unsigned char *p=raw->buff+6; trace(4,"decode_rxmsfrbx: len=%d\n",raw->len); - //printf("decode_rxmsfrbx: len=%d\n",raw->len); + //printf("\tdecode_rxmsfrbx: len=%d\n",raw->len); if (raw->outtype) { sprintf(raw->msgtype,"UBX RXM-SFRBX (%4d): sys=%d prn=%3d",raw->len, @@ -1184,7 +1184,7 @@ static int decode_rxmsfrbx(raw_t *raw) prn=U1(p+1)+(sys==SYS_QZS?192:0); if (!(sat=satno(sys,prn))) { if (sys==SYS_GLO&&prn==255) { - //printf("decode_rxmsfrbx: GLO and prn 255\n",sys,prn); + //printf("\tdecode_rxmsfrbx: GLO and prn 255\n",sys,prn); return 0; /* suppress error for unknown glo satellite */ } trace(2,"ubx rxmsfrbx sat number error: sys=%d prn=%d\n",sys,prn); @@ -1208,7 +1208,7 @@ static int decode_trksfrbx(raw_t *raw) unsigned char *p=raw->buff+6; trace(4,"decode_trksfrbx: len=%d\n",raw->len); - //printf("decode_trksfrbx: len=%d\n",raw->len); + //printf("\tdecode_trksfrbx: len=%d\n",raw->len); if (raw->outtype) { sprintf(raw->msgtype,"UBX TRK-SFRBX (%4d): sys=%d prn=%3d",raw->len, @@ -1245,7 +1245,7 @@ static int decode_timtm2(raw_t *raw) double tr[6],tf[6]; trace(4, "decode_timtm2: len=%d\n", raw->len); - //printf("decode_timtm2: len=%d\n", raw->len); + //printf("\tdecode_timtm2: len=%d\n", raw->len); if (raw->outtype) { sprintf(raw->msgtype, "UBX TIM-TM2 (%4d)", raw->len); diff --git a/src/sbas.c b/src/sbas.c index 5c150101eb862d79c4cdfd302646189e743dd494..2223a3b9770499e9ebaeeffdb620bce3d219941c 100644 --- a/src/sbas.c +++ b/src/sbas.c @@ -129,6 +129,7 @@ static int decode_sbstype1(const sbsmsg_t *msg, sbssat_t *sbssat) int i,n,sat; trace(4,"decode_sbstype1:\n"); + //printf("\tdecode_sbstype1: \n"); for (i=1,n=0;i<=210&&n<MAXSAT;i++) { if (getbitu(msg->msg,13+i,1)) { @@ -141,13 +142,14 @@ static int decode_sbstype1(const sbsmsg_t *msg, sbssat_t *sbssat) else if (i<=202) sat=satno(SYS_QZS,i); /* 193-202: qzss ref [2] */ else sat=0; /* 203- : reserved */ sbssat->sat[n++].sat=sat; + //printf("\t\tsat: %d\n",sat); } } sbssat->iodp=getbitu(msg->msg,224,2); sbssat->nsat=n; trace(5,"decode_sbstype1: nprn=%d iodp=%d\n",n,sbssat->iodp); - printf("decode_sbstype1: nprn=%d iodp=%d\n",n,sbssat->iodp); + printf("\tdecode_sbstype1: %d sats, iodp=%d\n",n,sbssat->iodp); return 1; } /* decode type 2-5,0: fast corrections ---------------------------------------*/ @@ -163,6 +165,7 @@ static int decode_sbstype2(const sbsmsg_t *msg, sbssat_t *sbssat) type=getbitu(msg->msg, 8,6); iodf=getbitu(msg->msg,14,2); + printf("\tdecode_sbstype2: type=%d iodf=%d\n",type,iodf); for (i=0;i<13;i++) { if ((j=13*((type==0?2:type)-2)+i)>=sbssat->nsat) break; @@ -182,9 +185,9 @@ static int decode_sbstype2(const sbsmsg_t *msg, sbssat_t *sbssat) sbssat->sat[j].fcorr.dt=dt; } sbssat->sat[j].fcorr.iodf=iodf; + //printf("\t\tsat %d\n",sbssat->sat[j].sat); } trace(5,"decode_sbstype2: type=%d iodf=%d\n",type,iodf); - printf("decode_sbstype2: type=%d iodf=%d\n",type,iodf); return 1; } /* decode type 6: integrity info ---------------------------------------------*/ @@ -203,7 +206,7 @@ static int decode_sbstype6(const sbsmsg_t *msg, sbssat_t *sbssat) sbssat->sat[i].fcorr.udre=udre+1; } trace(5,"decode_sbstype6: iodf=%d %d %d %d\n",iodf[0],iodf[1],iodf[2],iodf[3]); - printf("decode_sbstype6: iodf=%d %d %d %d\n",iodf[0],iodf[1],iodf[2],iodf[3]); + printf("\tdecode_sbstype6: iodf=%d %d %d %d\n",iodf[0],iodf[1],iodf[2],iodf[3]); return 1; } /* decode type 7: fast correction degradation factor -------------------------*/ @@ -304,6 +307,7 @@ static int decode_longcorr0(const sbsmsg_t *msg, int p, sbssat_t *sbssat) if (n==0||n>MAXSAT) return 0; sbssat->sat[n-1].lcorr.iode=getbitu(msg->msg,p+6,8); + printf("\tdecode_longcorr0: sat=%d iode=%d\n",sbssat->sat[n-1].sat,sbssat->sat[n-1].lcorr.iode); for (i=0;i<3;i++) { sbssat->sat[n-1].lcorr.dpos[i]=getbits(msg->msg,p+14+9*i,9)*0.125; @@ -326,6 +330,7 @@ static int decode_longcorr1(const sbsmsg_t *msg, int p, sbssat_t *sbssat) if (n==0||n>MAXSAT) return 0; sbssat->sat[n-1].lcorr.iode=getbitu(msg->msg,p+6,8); + printf("\tdecode_longcorr1: sat=%d iode=%d\n",sbssat->sat[n-1].sat,sbssat->sat[n-1].lcorr.iode); for (i=0;i<3;i++) { sbssat->sat[n-1].lcorr.dpos[i]=getbits(msg->msg,p+14+i*11,11)*0.125; @@ -377,7 +382,7 @@ static int decode_sbstype24(const sbsmsg_t *msg, sbssat_t *sbssat) sbssat->sat[j].fcorr.prc =getbits(msg->msg,14+i*12,12)*0.125f; sbssat->sat[j].fcorr.udre=udre+1; sbssat->sat[j].fcorr.iodf=iodf; - printf("decode_sbstype24: sat=%2d fcorr.iodf=%2d\n",sbssat->sat[j].sat,iodf); + printf("\tdecode_sbstype24: sat=%2d fcorr.iodf=%2d\n",sbssat->sat[j].sat,iodf); } return decode_longcorrh(msg,120,sbssat); }