diff --git a/src/algorithms/libs/rtklib/CMakeLists.txt b/src/algorithms/libs/rtklib/CMakeLists.txt index f6dcb2827..3640f45e4 100644 --- a/src/algorithms/libs/rtklib/CMakeLists.txt +++ b/src/algorithms/libs/rtklib/CMakeLists.txt @@ -33,6 +33,9 @@ set(RTKLIB_LIB_SOURCES rtklib_stream.cc rtklib_rtksvr.cc rtklib_solution.cc + rtklib_rtcm.cc + rtklib_rtcm2.cc + rtklib_rtcm3.cc ) include_directories( diff --git a/src/algorithms/libs/rtklib/rtklib_rtcm2.cc b/src/algorithms/libs/rtklib/rtklib_rtcm2.cc index 3e036e3c3..ea987e50d 100644 --- a/src/algorithms/libs/rtklib/rtklib_rtcm2.cc +++ b/src/algorithms/libs/rtklib/rtklib_rtcm2.cc @@ -61,35 +61,35 @@ /* adjust hourly rollover of rtcm 2 time -------------------------------------*/ void adjhour(rtcm_t *rtcm, double zcnt) { - double tow,hour,sec; + double tow, hour, sec; int week; /* if no time, get cpu time */ if (rtcm->time.time == 0) rtcm->time = utc2gpst(timeget()); - tow = time2gpst(rtcm->time,&week); + tow = time2gpst(rtcm->time, &week); hour = floor(tow/3600.0); sec = tow-hour*3600.0; if (zcntsec+1800.0) zcnt-=3600.0; - rtcm->time = gpst2time(week,hour*3600+zcnt); + rtcm->time = gpst2time(week, hour*3600+zcnt); } /* get observation data index ------------------------------------------------*/ int obsindex(obs_t *obs, gtime_t time, int sat) { - int i,j; + int i, j; - for (i = 0;in;i++) + for (i = 0; in; i++) { if (obs->data[i].sat == sat) return i; /* field already exists */ } - if (i>=MAXOBS) return -1; /* overflow */ + if (i >= MAXOBS) return -1; /* overflow */ /* add new field */ obs->data[i].time = time; obs->data[i].sat = sat; - for (j = 0;jdata[i].L[j] = obs->data[i].P[j] = 0.0; obs->data[i].D[j] = 0.0; @@ -103,28 +103,28 @@ int obsindex(obs_t *obs, gtime_t time, int sat) /* decode type 1/9: differential gps correction/partial correction set -------*/ int decode_type1(rtcm_t *rtcm) { - int i = 48,fact,udre,prn,sat,iod; - double prc,rrc; + int i = 48, fact, udre, prn, sat, iod; + double prc, rrc; - trace(4,"decode_type1: len=%d\n",rtcm->len); + trace(4, "decode_type1: len=%d\n", rtcm->len); - while (i+40<=rtcm->len*8) + while (i+40 <= rtcm->len*8) { - fact = getbitu(rtcm->buff,i, 1); i += 1; - udre = getbitu(rtcm->buff,i, 2); i += 2; - prn = getbitu(rtcm->buff,i, 5); i += 5; - prc = getbits(rtcm->buff,i,16); i += 16; - rrc = getbits(rtcm->buff,i, 8); i += 8; - iod = getbits(rtcm->buff,i, 8); i += 8; + fact = getbitu(rtcm->buff, i, 1); i += 1; + udre = getbitu(rtcm->buff, i, 2); i += 2; + prn = getbitu(rtcm->buff, i, 5); i += 5; + prc = getbits(rtcm->buff, i, 16); i += 16; + rrc = getbits(rtcm->buff, i, 8); i += 8; + iod = getbits(rtcm->buff, i, 8); i += 8; if (prn == 0) prn = 32; if (prc == 0x80000000||rrc == 0xFFFF8000) { - trace(2,"rtcm2 1 prc/rrc indicates satellite problem: prn=%d\n",prn); + trace(2, "rtcm2 1 prc/rrc indicates satellite problem: prn=%d\n", prn); continue; } if (rtcm->dgps) { - sat = satno(SYS_GPS,prn); + sat = satno(SYS_GPS, prn); rtcm->dgps[sat-1].t0 = rtcm->time; rtcm->dgps[sat-1].prc = prc*(fact?0.32:0.02); rtcm->dgps[sat-1].rrc = rrc*(fact?0.032:0.002); @@ -141,17 +141,17 @@ int decode_type3(rtcm_t *rtcm) { int i = 48; - trace(4,"decode_type3: len=%d\n",rtcm->len); + trace(4, "decode_type3: len=%d\n", rtcm->len); - if (i+96<=rtcm->len*8) + if (i+96 <= rtcm->len*8) { - rtcm->sta.pos[0] = getbits(rtcm->buff,i,32)*0.01; i += 32; - rtcm->sta.pos[1] = getbits(rtcm->buff,i,32)*0.01; i += 32; - rtcm->sta.pos[2] = getbits(rtcm->buff,i,32)*0.01; + rtcm->sta.pos[0] = getbits(rtcm->buff, i, 32)*0.01; i += 32; + rtcm->sta.pos[1] = getbits(rtcm->buff, i, 32)*0.01; i += 32; + rtcm->sta.pos[2] = getbits(rtcm->buff, i, 32)*0.01; } else { - trace(2,"rtcm2 3 length error: len=%d\n",rtcm->len); + trace(2, "rtcm2 3 length error: len=%d\n", rtcm->len); return -1; } return 5; @@ -162,24 +162,24 @@ int decode_type3(rtcm_t *rtcm) int decode_type14(rtcm_t *rtcm) { double zcnt; - int i = 48,week,hour,leaps; + int i = 48, week, hour, leaps; - trace(4,"decode_type14: len=%d\n",rtcm->len); + trace(4, "decode_type14: len=%d\n", rtcm->len); - zcnt = getbitu(rtcm->buff,24,13); - if (i+24<=rtcm->len*8) + zcnt = getbitu(rtcm->buff, 24, 13); + if (i+24 <= rtcm->len*8) { - week = getbitu(rtcm->buff,i,10); i += 10; - hour = getbitu(rtcm->buff,i, 8); i += 8; - leaps = getbitu(rtcm->buff,i, 6); + week = getbitu(rtcm->buff, i, 10); i += 10; + hour = getbitu(rtcm->buff, i, 8); i += 8; + leaps = getbitu(rtcm->buff, i, 6); } else { - trace(2,"rtcm2 14 length error: len=%d\n",rtcm->len); + trace(2, "rtcm2 14 length error: len=%d\n", rtcm->len); return -1; } week = adjgpsweek(week); - rtcm->time = gpst2time(week,hour*3600.0+zcnt*0.6); + rtcm->time = gpst2time(week, hour*3600.0+zcnt*0.6); rtcm->nav.leaps = leaps; return 6; } @@ -188,17 +188,17 @@ int decode_type14(rtcm_t *rtcm) /* decode type 16: gps special message ---------------------------------------*/ int decode_type16(rtcm_t *rtcm) { - int i = 48,n = 0; + int i = 48, n = 0; - trace(4,"decode_type16: len=%d\n",rtcm->len); + trace(4, "decode_type16: len=%d\n", rtcm->len); - while (i+8<=rtcm->len*8&&n<90) + while (i+8 <= rtcm->len*8 && n<90) { - rtcm->msg[n++] = getbitu(rtcm->buff,i,8); i += 8; + rtcm->msg[n++] = getbitu(rtcm->buff, i, 8); i += 8; } rtcm->msg[n] = '\0'; - trace(3,"rtcm2 16 message: %s\n",rtcm->msg); + trace(3, "rtcm2 16 message: %s\n", rtcm->msg); return 9; } @@ -207,54 +207,54 @@ int decode_type16(rtcm_t *rtcm) int decode_type17(rtcm_t *rtcm) { eph_t eph = {0}; - double toc,sqrtA; - int i = 48,week,prn,sat; + double toc, sqrtA; + int i = 48, week, prn, sat; - trace(4,"decode_type17: len=%d\n",rtcm->len); + trace(4, "decode_type17: len=%d\n", rtcm->len); - if (i+480<=rtcm->len*8) + if (i+480 <= rtcm->len*8) { - week = getbitu(rtcm->buff,i,10); i += 10; - eph.idot = getbits(rtcm->buff,i,14)*TWO_N43*SC2RAD; i += 14; - eph.iode = getbitu(rtcm->buff,i, 8); i += 8; - toc = getbitu(rtcm->buff,i,16)*16.0; i += 16; - eph.f1 = getbits(rtcm->buff,i,16)*TWO_N43; i += 16; - eph.f2 = getbits(rtcm->buff,i, 8)*TWO_N55; i += 8; - eph.crs = getbits(rtcm->buff,i,16)*TWO_N5; i += 16; - eph.deln = getbits(rtcm->buff,i,16)*TWO_N43*SC2RAD; i += 16; - eph.cuc = getbits(rtcm->buff,i,16)*TWO_N29; i += 16; - eph.e = getbitu(rtcm->buff,i,32)*TWO_N33; i += 32; - eph.cus = getbits(rtcm->buff,i,16); i += 16; - sqrtA = getbitu(rtcm->buff,i,32)*TWO_N19; i += 32; - eph.toes = getbitu(rtcm->buff,i,16); i += 16; - eph.OMG0 = getbits(rtcm->buff,i,32)*TWO_N31*SC2RAD; i += 32; - eph.cic = getbits(rtcm->buff,i,16)*TWO_N29; i += 16; - eph.i0 = getbits(rtcm->buff,i,32)*TWO_N31*SC2RAD; i += 32; - eph.cis = getbits(rtcm->buff,i,16)*TWO_N29; i += 16; - eph.omg = getbits(rtcm->buff,i,32)*TWO_N31*SC2RAD; i += 32; - eph.crc = getbits(rtcm->buff,i,16)*TWO_N5; i += 16; - eph.OMGd = getbits(rtcm->buff,i,24)*TWO_N43*SC2RAD; i += 24; - eph.M0 = getbits(rtcm->buff,i,32)*TWO_N31*SC2RAD; i += 32; - eph.iodc = getbitu(rtcm->buff,i,10); i += 10; - eph.f0 = getbits(rtcm->buff,i,22)*TWO_N31; i += 22; - prn = getbitu(rtcm->buff,i, 5); i += 5+3; - eph.tgd[0] = getbits(rtcm->buff,i, 8)*TWO_N31; i += 8; - eph.code = getbitu(rtcm->buff,i, 2); i += 2; - eph.sva = getbitu(rtcm->buff,i, 4); i += 4; - eph.svh = getbitu(rtcm->buff,i, 6); i += 6; - eph.flag = getbitu(rtcm->buff,i, 1); + week = getbitu(rtcm->buff, i, 10); i += 10; + eph.idot = getbits(rtcm->buff, i, 14)*TWO_N43*SC2RAD; i += 14; + eph.iode = getbitu(rtcm->buff, i, 8); i += 8; + toc = getbitu(rtcm->buff, i, 16)*16.0; i += 16; + eph.f1 = getbits(rtcm->buff, i, 16)*TWO_N43; i += 16; + eph.f2 = getbits(rtcm->buff, i, 8)*TWO_N55; i += 8; + eph.crs = getbits(rtcm->buff, i, 16)*TWO_N5; i += 16; + eph.deln = getbits(rtcm->buff, i, 16)*TWO_N43*SC2RAD; i += 16; + eph.cuc = getbits(rtcm->buff, i, 16)*TWO_N29; i += 16; + eph.e = getbitu(rtcm->buff, i, 32)*TWO_N33; i += 32; + eph.cus = getbits(rtcm->buff, i, 16); i += 16; + sqrtA = getbitu(rtcm->buff, i, 32)*TWO_N19; i += 32; + eph.toes = getbitu(rtcm->buff, i, 16); i += 16; + eph.OMG0 = getbits(rtcm->buff, i, 32)*TWO_N31*SC2RAD; i += 32; + eph.cic = getbits(rtcm->buff, i, 16)*TWO_N29; i += 16; + eph.i0 = getbits(rtcm->buff, i, 32)*TWO_N31*SC2RAD; i += 32; + eph.cis = getbits(rtcm->buff, i, 16)*TWO_N29; i += 16; + eph.omg = getbits(rtcm->buff, i, 32)*TWO_N31*SC2RAD; i += 32; + eph.crc = getbits(rtcm->buff, i, 16)*TWO_N5; i += 16; + eph.OMGd = getbits(rtcm->buff, i, 24)*TWO_N43*SC2RAD; i += 24; + eph.M0 = getbits(rtcm->buff, i, 32)*TWO_N31*SC2RAD; i += 32; + eph.iodc = getbitu(rtcm->buff, i, 10); i += 10; + eph.f0 = getbits(rtcm->buff, i, 22)*TWO_N31; i += 22; + prn = getbitu(rtcm->buff, i, 5); i += 5+3; + eph.tgd[0] = getbits(rtcm->buff, i, 8)*TWO_N31; i += 8; + eph.code = getbitu(rtcm->buff, i, 2); i += 2; + eph.sva = getbitu(rtcm->buff, i, 4); i += 4; + eph.svh = getbitu(rtcm->buff, i, 6); i += 6; + eph.flag = getbitu(rtcm->buff, i, 1); } else { - trace(2,"rtcm2 17 length error: len=%d\n",rtcm->len); + trace(2, "rtcm2 17 length error: len=%d\n", rtcm->len); return -1; } if (prn == 0) prn = 32; - sat = satno(SYS_GPS,prn); + sat = satno(SYS_GPS, prn); eph.sat = sat; eph.week = adjgpsweek(week); - eph.toe = gpst2time(eph.week,eph.toes); - eph.toc = gpst2time(eph.week,toc); + eph.toe = gpst2time(eph.week, eph.toes); + eph.toc = gpst2time(eph.week, toc); eph.ttr = rtcm->time; eph.A = sqrtA*sqrtA; rtcm->nav.eph[sat-1] = eph; @@ -267,54 +267,54 @@ int decode_type17(rtcm_t *rtcm) int decode_type18(rtcm_t *rtcm) { gtime_t time; - double usec,cp,tt; - int i = 48,index,freq,sync = 1,code,sys,prn,sat,loss; + double usec, cp, tt; + int i = 48, index, freq, sync = 1, code, sys, prn, sat, loss; - trace(4,"decode_type18: len=%d\n",rtcm->len); + trace(4, "decode_type18: len=%d\n", rtcm->len); - if (i+24<=rtcm->len*8) + if (i+24 <= rtcm->len*8) { - freq = getbitu(rtcm->buff,i, 2); i += 2+2; - usec = getbitu(rtcm->buff,i,20); i += 20; + freq = getbitu(rtcm->buff, i, 2); i += 2+2; + usec = getbitu(rtcm->buff, i, 20); i += 20; } else { - trace(2,"rtcm2 18 length error: len=%d\n",rtcm->len); + trace(2, "rtcm2 18 length error: len=%d\n", rtcm->len); return -1; } if (freq&0x1) { - trace(2,"rtcm2 18 not supported frequency: freq=%d\n",freq); + trace(2, "rtcm2 18 not supported frequency: freq=%d\n", freq); return -1; } - freq>>=1; + freq>>= 1; - while (i+48<=rtcm->len*8&&rtcm->obs.nlen*8 && rtcm->obs.nbuff,i, 1); i += 1; - code = getbitu(rtcm->buff,i, 1); i += 1; - sys = getbitu(rtcm->buff,i, 1); i += 1; - prn = getbitu(rtcm->buff,i, 5); i += 5+3; - loss = getbitu(rtcm->buff,i, 5); i += 5; - cp = getbits(rtcm->buff,i,32); i += 32; + sync = getbitu(rtcm->buff, i, 1); i += 1; + code = getbitu(rtcm->buff, i, 1); i += 1; + sys = getbitu(rtcm->buff, i, 1); i += 1; + prn = getbitu(rtcm->buff, i, 5); i += 5+3; + loss = getbitu(rtcm->buff, i, 5); i += 5; + cp = getbits(rtcm->buff, i, 32); i += 32; if (prn == 0) prn = 32; - if (!(sat = satno(sys?SYS_GLO:SYS_GPS,prn))) + if (!(sat = satno(sys?SYS_GLO:SYS_GPS, prn))) { - trace(2,"rtcm2 18 satellite number error: sys=%d prn=%d\n",sys,prn); + trace(2, "rtcm2 18 satellite number error: sys=%d prn=%d\n", sys, prn); continue; } - time = timeadd(rtcm->time,usec*1E-6); + time = timeadd(rtcm->time, usec*1E-6); if (sys) time = utc2gpst(time); /* convert glonass time to gpst */ - tt = timediff(rtcm->obs.data[0].time,time); + tt = timediff(rtcm->obs.data[0].time, time); if (rtcm->obsflag||fabs(tt)>1E-9) { rtcm->obs.n = rtcm->obsflag = 0; } - if ((index = obsindex(&rtcm->obs,time,sat)) >= 0) + if ((index = obsindex(&rtcm->obs, time, sat)) >= 0) { rtcm->obs.data[index].L[freq] = -cp/256.0; - rtcm->obs.data[index].LLI[freq] = rtcm->loss[sat-1][freq]!=loss; + rtcm->obs.data[index].LLI[freq] = rtcm->loss[sat-1][freq] != loss; rtcm->obs.data[index].code[freq] = !freq?(code?CODE_L1P:CODE_L1C):(code?CODE_L2P:CODE_L2C); rtcm->loss[sat-1][freq] = loss; @@ -329,50 +329,50 @@ int decode_type18(rtcm_t *rtcm) int decode_type19(rtcm_t *rtcm) { gtime_t time; - double usec,pr,tt; - int i = 48,index,freq,sync = 1,code,sys,prn,sat; + double usec, pr, tt; + int i = 48, index, freq, sync = 1, code, sys, prn, sat; - trace(4,"decode_type19: len=%d\n",rtcm->len); + trace(4, "decode_type19: len=%d\n", rtcm->len); - if (i+24<=rtcm->len*8) + if (i+24 <= rtcm->len*8) { - freq = getbitu(rtcm->buff,i, 2); i += 2+2; - usec = getbitu(rtcm->buff,i,20); i += 20; + freq = getbitu(rtcm->buff, i, 2); i += 2+2; + usec = getbitu(rtcm->buff, i, 20); i += 20; } else { - trace(2,"rtcm2 19 length error: len=%d\n",rtcm->len); + trace(2, "rtcm2 19 length error: len=%d\n", rtcm->len); return -1; } if (freq&0x1) { - trace(2,"rtcm2 19 not supported frequency: freq=%d\n",freq); + trace(2, "rtcm2 19 not supported frequency: freq=%d\n", freq); return -1; } freq>>=1; - while (i+48<=rtcm->len*8&&rtcm->obs.nlen*8 && rtcm->obs.nbuff,i, 1); i += 1; - code = getbitu(rtcm->buff,i, 1); i += 1; - sys = getbitu(rtcm->buff,i, 1); i += 1; - prn = getbitu(rtcm->buff,i, 5); i += 5+8; - pr = getbitu(rtcm->buff,i,32); i += 32; + sync = getbitu(rtcm->buff, i, 1); i += 1; + code = getbitu(rtcm->buff, i, 1); i += 1; + sys = getbitu(rtcm->buff, i, 1); i += 1; + prn = getbitu(rtcm->buff, i, 5); i += 5+8; + pr = getbitu(rtcm->buff, i, 32); i += 32; if (prn == 0) prn = 32; - if (!(sat = satno(sys?SYS_GLO:SYS_GPS,prn))) + if (!(sat = satno(sys?SYS_GLO:SYS_GPS, prn))) { - trace(2,"rtcm2 19 satellite number error: sys=%d prn=%d\n",sys,prn); + trace(2, "rtcm2 19 satellite number error: sys=%d prn=%d\n", sys, prn); continue; } - time = timeadd(rtcm->time,usec*1E-6); + time = timeadd(rtcm->time, usec*1E-6); if (sys) time = utc2gpst(time); /* convert glonass time to gpst */ - tt = timediff(rtcm->obs.data[0].time,time); + tt = timediff(rtcm->obs.data[0].time, time); if (rtcm->obsflag||fabs(tt)>1E-9) { rtcm->obs.n = rtcm->obsflag = 0; } - if ((index = obsindex(&rtcm->obs,time,sat))>=0) + if ((index = obsindex(&rtcm->obs, time, sat)) >= 0) { rtcm->obs.data[index].P[freq] = pr*0.02; rtcm->obs.data[index].code[freq] = @@ -387,36 +387,36 @@ int decode_type19(rtcm_t *rtcm) /* decode type 22: extended reference station parameter ----------------------*/ int decode_type22(rtcm_t *rtcm) { - double del[2][3] = {{0}},hgt = 0.0; - int i = 48,j,noh; + double del[2][3] = {{0}}, hgt = 0.0; + int i = 48, j, noh; - trace(4,"decode_type22: len=%d\n",rtcm->len); + trace(4, "decode_type22: len=%d\n", rtcm->len); - if (i+24<=rtcm->len*8) + if (i+24 <= rtcm->len*8) { - del[0][0] = getbits(rtcm->buff,i,8)/25600.0; i += 8; - del[0][1] = getbits(rtcm->buff,i,8)/25600.0; i += 8; - del[0][2] = getbits(rtcm->buff,i,8)/25600.0; i += 8; + del[0][0] = getbits(rtcm->buff, i, 8)/25600.0; i += 8; + del[0][1] = getbits(rtcm->buff, i, 8)/25600.0; i += 8; + del[0][2] = getbits(rtcm->buff, i, 8)/25600.0; i += 8; } else { - trace(2,"rtcm2 22 length error: len=%d\n",rtcm->len); + trace(2, "rtcm2 22 length error: len=%d\n", rtcm->len); return -1; } - if (i+24<=rtcm->len*8) + if (i+24 <= rtcm->len*8) { - i += 5; noh = getbits(rtcm->buff,i,1); i += 1; - hgt = noh?0.0:getbitu(rtcm->buff,i,18)/25600.0; + i += 5; noh = getbits(rtcm->buff, i, 1); i += 1; + hgt = noh?0.0:getbitu(rtcm->buff, i, 18)/25600.0; i += 18; } - if (i+24<=rtcm->len*8) + if (i+24 <= rtcm->len*8) { - del[1][0] = getbits(rtcm->buff,i,8)/1600.0; i += 8; - del[1][1] = getbits(rtcm->buff,i,8)/1600.0; i += 8; - del[1][2] = getbits(rtcm->buff,i,8)/1600.0; + del[1][0] = getbits(rtcm->buff, i, 8)/1600.0; i += 8; + del[1][1] = getbits(rtcm->buff, i, 8)/1600.0; i += 8; + del[1][2] = getbits(rtcm->buff, i, 8)/1600.0; } rtcm->sta.deltype = 1; /* xyz */ - for (j = 0;j<3;j++) rtcm->sta.del[j] = del[0][j]; + for (j = 0; j<3; j++) rtcm->sta.del[j] = del[0][j]; rtcm->sta.hgt = hgt; return 5; } @@ -482,42 +482,42 @@ int decode_type59(rtcm_t *rtcm) int decode_rtcm2(rtcm_t *rtcm) { double zcnt; - int staid,seqno,stah,ret = 0,type = getbitu(rtcm->buff,8,6); + int staid, seqno, stah, ret = 0, type = getbitu(rtcm->buff, 8, 6); - trace(3,"decode_rtcm2: type=%2d len=%3d\n",type,rtcm->len); + trace(3, "decode_rtcm2: type=%2d len=%3d\n", type, rtcm->len); - if ((zcnt = getbitu(rtcm->buff,24,13)*0.6)>=3600.0) + if ((zcnt = getbitu(rtcm->buff, 24, 13)*0.6) >= 3600.0) { - trace(2,"rtcm2 modified z-count error: zcnt=%.1f\n",zcnt); + trace(2, "rtcm2 modified z-count error: zcnt=%.1f\n", zcnt); return -1; } - adjhour(rtcm,zcnt); - staid = getbitu(rtcm->buff,14,10); - seqno = getbitu(rtcm->buff,37, 3); - stah = getbitu(rtcm->buff,45, 3); - if (seqno-rtcm->seqno!=1&&seqno-rtcm->seqno!=-7) + adjhour(rtcm, zcnt); + staid = getbitu(rtcm->buff, 14, 10); + seqno = getbitu(rtcm->buff, 37, 3); + stah = getbitu(rtcm->buff, 45, 3); + if (seqno-rtcm->seqno != 1 && seqno-rtcm->seqno != -7) { - trace(2,"rtcm2 message outage: seqno=%d->%d\n",rtcm->seqno,seqno); + trace(2, "rtcm2 message outage: seqno=%d->%d\n", rtcm->seqno, seqno); } rtcm->seqno = seqno; rtcm->stah = stah; if (rtcm->outtype) { - sprintf(rtcm->msgtype,"RTCM %2d (%4d) zcnt=%7.1f staid=%3d seqno=%d", - type,rtcm->len,zcnt,staid,seqno); + sprintf(rtcm->msgtype, "RTCM %2d (%4d) zcnt=%7.1f staid=%3d seqno=%d", + type, rtcm->len, zcnt, staid, seqno); } if (type == 3||type == 22||type == 23||type == 24) { - if (rtcm->staid!=0&&staid!=rtcm->staid) + if (rtcm->staid != 0 && staid != rtcm->staid) { - trace(2,"rtcm2 station id changed: %d->%d\n",rtcm->staid,staid); + trace(2, "rtcm2 station id changed: %d->%d\n", rtcm->staid, staid); } rtcm->staid = staid; } - if (rtcm->staid!=0&&staid!=rtcm->staid) + if (rtcm->staid != 0 && staid != rtcm->staid) { - trace(2,"rtcm2 station id invalid: %d %d\n",staid,rtcm->staid); + trace(2, "rtcm2 station id invalid: %d %d\n", staid, rtcm->staid); return -1; } switch (type) @@ -540,9 +540,9 @@ int decode_rtcm2(rtcm_t *rtcm) case 37: ret = decode_type37(rtcm); break; /* not supported */ case 59: ret = decode_type59(rtcm); break; /* not supported */ } - if (ret>=0) + if (ret >= 0) { - if (1<=type&&type<=99) rtcm->nmsg2[type]++; else rtcm->nmsg2[0]++; + if (1 <= type && type <= 99) rtcm->nmsg2[type]++; else rtcm->nmsg2[0]++; } return ret; } diff --git a/src/algorithms/libs/rtklib/rtklib_rtcm3.cc b/src/algorithms/libs/rtklib/rtklib_rtcm3.cc index 90548e890..e5b53a432 100644 --- a/src/algorithms/libs/rtklib/rtklib_rtcm3.cc +++ b/src/algorithms/libs/rtklib/rtklib_rtcm3.cc @@ -132,7 +132,7 @@ int lossoflock(rtcm_t *rtcm, int sat, int freq, int lock) /* s/n ratio -----------------------------------------------------------------*/ unsigned char snratio(double snr) { - return (unsigned char)(snr <= 0.0 || 255.5 <= snr?0.0:snr*4.0+0.5); + return (unsigned char)(snr <= 0.0 || 255.5 <= snr ? 0.0:snr*4.0+0.5); } @@ -141,7 +141,7 @@ int obsindex(obs_t *obs, gtime_t time, int sat) { int i, j; - for (i = 0;i < obs->n;i++) + for (i = 0; i < obs->n; i++) { if (obs->data[i].sat == sat) return i; /* field already exists */ } @@ -150,7 +150,7 @@ int obsindex(obs_t *obs, gtime_t time, int sat) /* add new field */ obs->data[i].time = time; obs->data[i].sat = sat; - for (j = 0;j < NFREQ+NEXOBS;j++) + for (j = 0; j < NFREQ+NEXOBS; j++) { obs->data[i].L[j] = obs->data[i].P[j] = 0.0; obs->data[i].D[j] = 0.0; @@ -235,7 +235,7 @@ int decode_type1001(rtcm_t *rtcm) int sync; if (decode_head1001(rtcm, &sync) < 0) return -1; rtcm->obsflag=!sync; - return sync?0:1; + return sync ? 0:1; } @@ -247,7 +247,7 @@ int decode_type1002(rtcm_t *rtcm) if ((nsat = decode_head1001(rtcm, &sync)) < 0) return -1; - for (j = 0;j < nsat && rtcm->obs.n < MAXOBS && i+74 <= rtcm->len*8;j++) + for (j = 0; j < nsat && rtcm->obs.n < MAXOBS && i+74 <= rtcm->len*8; j++) { prn = getbitu(rtcm->buff, i, 6); i += 6; code = getbitu(rtcm->buff, i, 1); i += 1; @@ -284,9 +284,9 @@ int decode_type1002(rtcm_t *rtcm) } rtcm->obs.data[index].LLI[0] = lossoflock(rtcm, sat, 0, lock1); rtcm->obs.data[index].SNR[0] = snratio(cnr1*0.25); - rtcm->obs.data[index].code[0] = code?CODE_L1P:CODE_L1C; + rtcm->obs.data[index].code[0] = code ? CODE_L1P:CODE_L1C; } - return sync?0:1; + return sync ? 0:1; } @@ -296,7 +296,7 @@ int decode_type1003(rtcm_t *rtcm) int sync; if (decode_head1001(rtcm, &sync) < 0) return -1; rtcm->obsflag = !sync; - return sync?0:1; + return sync ? 0:1; } @@ -310,7 +310,7 @@ int decode_type1004(rtcm_t *rtcm) if ((nsat = decode_head1001(rtcm, &sync)) < 0) return -1; - for (j = 0;j < nsat && rtcm->obs.n < MAXOBS && i+125 <= rtcm->len*8;j++) + for (j = 0; j < nsat && rtcm->obs.n < MAXOBS && i+125 <= rtcm->len*8; j++) { prn = getbitu(rtcm->buff, i, 6); i += 6; code1 = getbitu(rtcm->buff, i, 1); i += 1; @@ -352,7 +352,7 @@ int decode_type1004(rtcm_t *rtcm) } rtcm->obs.data[index].LLI[0] = lossoflock(rtcm, sat, 0, lock1); rtcm->obs.data[index].SNR[0] = snratio(cnr1*0.25); - rtcm->obs.data[index].code[0] = code1?CODE_L1P:CODE_L1C; + rtcm->obs.data[index].code[0] = code1 ? CODE_L1P:CODE_L1C; if (pr21 != (int)0xFFFFE000) { @@ -368,7 +368,7 @@ int decode_type1004(rtcm_t *rtcm) rtcm->obs.data[index].code[1] = L2codes[code2]; } rtcm->obsflag = !sync; - return sync?0:1; + return sync ? 0:1; } @@ -402,7 +402,7 @@ int decode_type1005(rtcm_t *rtcm) if (rtcm->outtype) { msg = rtcm->msgtype+strlen(rtcm->msgtype); - for (j = 0;j < 3;j++) re[j] = rr[j]*0.0001; + for (j = 0; j < 3; j++) re[j] = rr[j]*0.0001; ecef2pos(re, pos); sprintf(msg, " staid=%4d pos=%.8f %.8f %.3f", staid, pos[0]*R2D, pos[1]*R2D, pos[2]); @@ -411,7 +411,7 @@ int decode_type1005(rtcm_t *rtcm) if (!test_staid(rtcm, staid)) return -1; rtcm->sta.deltype = 0; /* xyz */ - for (j = 0;j < 3;j++) + for (j = 0; j < 3; j++) { rtcm->sta.pos[j] = rr[j]*0.0001; rtcm->sta.del[j] = 0.0; @@ -446,7 +446,7 @@ int decode_type1006(rtcm_t *rtcm) if (rtcm->outtype) { msg = rtcm->msgtype+strlen(rtcm->msgtype); - for (j = 0;j < 3;j++) re[j] = rr[j]*0.0001; + for (j = 0; j < 3; j++) re[j] = rr[j]*0.0001; ecef2pos(re, pos); sprintf(msg, " staid=%4d pos=%.8f %.8f %.3f anth=%.3f", staid, pos[0]*R2D, pos[1]*R2D, pos[2], anth); @@ -455,7 +455,7 @@ int decode_type1006(rtcm_t *rtcm) if (!test_staid(rtcm, staid)) return -1; rtcm->sta.deltype = 1; /* xyz */ - for (j = 0;j < 3;j++) + for (j = 0; j < 3; j++) { rtcm->sta.pos[j] = rr[j]*0.0001; rtcm->sta.del[j] = 0.0; @@ -478,7 +478,7 @@ int decode_type1007(rtcm_t *rtcm) if (i+28+8*n <= rtcm->len*8) { staid = getbitu(rtcm->buff, i, 12); i += 12+8; - for (j = 0;j < n && j < 31;j++) + for (j = 0; j < n && j < 31; j++) { des[j] = (char)getbitu(rtcm->buff, i, 8); i += 8; } @@ -517,12 +517,12 @@ int decode_type1008(rtcm_t *rtcm) if (i+36+8*(n+m) <= rtcm->len*8) { staid = getbitu(rtcm->buff, i, 12); i += 12+8; - for (j = 0;j < n && j < 31;j++) + for (j = 0; j < n && j < 31; j++) { des[j] = (char)getbitu(rtcm->buff, i, 8); i += 8; } setup = getbitu(rtcm->buff, i, 8); i += 8+8; - for (j = 0;j < m && j < 31;j++) + for (j = 0; j < m && j < 31; j++) { sno[j] = (char)getbitu(rtcm->buff, i, 8); i += 8; } @@ -592,7 +592,7 @@ int decode_type1009(rtcm_t *rtcm) int sync; if (decode_head1009(rtcm, &sync) < 0) return -1; rtcm->obsflag = !sync; - return sync?0:1; + return sync ? 0:1; } @@ -604,7 +604,7 @@ int decode_type1010(rtcm_t *rtcm) if ((nsat = decode_head1009(rtcm, &sync)) < 0) return -1; - for (j = 0;j < nsat && rtcm->obs.n < MAXOBS && i+79 <= rtcm->len*8;j++) + for (j = 0; j < nsat && rtcm->obs.n < MAXOBS && i+79 <= rtcm->len*8; j++) { prn = getbitu(rtcm->buff, i, 6); i += 6; code = getbitu(rtcm->buff, i, 1); i += 1; @@ -635,9 +635,9 @@ int decode_type1010(rtcm_t *rtcm) } rtcm->obs.data[index].LLI[0] = lossoflock(rtcm, sat, 0, lock1); rtcm->obs.data[index].SNR[0] = snratio(cnr1*0.25); - rtcm->obs.data[index].code[0] = code?CODE_L1P:CODE_L1C; + rtcm->obs.data[index].code[0] = code ? CODE_L1P:CODE_L1C; } - return sync?0:1; + return sync ? 0:1; } @@ -647,7 +647,7 @@ int decode_type1011(rtcm_t *rtcm) int sync; if (decode_head1009(rtcm, &sync) < 0) return -1; rtcm->obsflag = !sync; - return sync?0:1; + return sync ? 0:1; } @@ -660,7 +660,7 @@ int decode_type1012(rtcm_t *rtcm) if ((nsat = decode_head1009(rtcm, &sync)) < 0) return -1; - for (j = 0;j < nsat && rtcm->obs.n < MAXOBS && i+130 <= rtcm->len*8;j++) + for (j = 0; j < nsat && rtcm->obs.n < MAXOBS && i+130 <= rtcm->len*8; j++) { prn = getbitu(rtcm->buff, i, 6); i += 6; code1 = getbitu(rtcm->buff, i, 1); i += 1; @@ -696,7 +696,7 @@ int decode_type1012(rtcm_t *rtcm) } rtcm->obs.data[index].LLI[0] = lossoflock(rtcm, sat, 0, lock1); rtcm->obs.data[index].SNR[0] = snratio(cnr1*0.25); - rtcm->obs.data[index].code[0] = code1?CODE_L1P:CODE_L1C; + rtcm->obs.data[index].code[0] = code1 ? CODE_L1P:CODE_L1C; if (pr21 != (int)0xFFFFE000) { @@ -710,10 +710,10 @@ int decode_type1012(rtcm_t *rtcm) } rtcm->obs.data[index].LLI[1] = lossoflock(rtcm, sat, 1, lock2); rtcm->obs.data[index].SNR[1] = snratio(cnr2*0.25); - rtcm->obs.data[index].code[1] = code2?CODE_L2P:CODE_L2C; + rtcm->obs.data[index].code[1] = code2 ? CODE_L2P:CODE_L2C; } rtcm->obsflag = !sync; - return sync?0:1; + return sync ? 0:1; } @@ -763,7 +763,7 @@ int decode_type1019(rtcm_t *rtcm) eph.tgd[0] = getbits(rtcm->buff, i, 8)*TWO_N31; i += 8; eph.svh = getbitu(rtcm->buff, i, 6); i += 6; eph.flag = getbitu(rtcm->buff, i, 1); i += 1; - eph.fit = getbitu(rtcm->buff, i, 1)?0.0:4.0; /* 0:4hr, 1:>4hr */ + eph.fit = getbitu(rtcm->buff, i, 1) ? 0.0:4.0; /* 0:4hr, 1:>4hr */ } else { @@ -956,7 +956,7 @@ int decode_type1029(rtcm_t *rtcm) trace(2, "rtcm3 1029 length error: len=%d nchar=%d\n", rtcm->len, nchar); return -1; } - for (j = 0;j < nchar && j < 126;j++) + for (j = 0; j < nchar && j < 126; j++) { rtcm->msg[j] = getbitu(rtcm->buff, i, 8); i += 8; } @@ -1011,27 +1011,27 @@ int decode_type1033(rtcm_t *rtcm) if (i+60+8*(n+m+n1+n2+n3) <= rtcm->len*8) { staid = getbitu(rtcm->buff, i, 12); i += 12+8; - for (j = 0;j < n && j < 31;j++) + for (j = 0; j < n && j < 31; j++) { des[j] = (char)getbitu(rtcm->buff, i, 8); i += 8; } setup = getbitu(rtcm->buff, i, 8); i += 8+8; - for (j = 0;j < m && j < 31;j++) + for (j = 0; j < m && j < 31; j++) { sno[j] = (char)getbitu(rtcm->buff, i, 8); i += 8; } i += 8; - for (j = 0;j < n1 && j < 31;j++) + for (j = 0; j < n1 && j < 31; j++) { rec[j] = (char)getbitu(rtcm->buff, i, 8); i += 8; } i += 8; - for (j = 0;j < n2 && j < 31;j++) + for (j = 0; j < n2 && j < 31; j++) { ver[j] = (char)getbitu(rtcm->buff, i, 8); i += 8; } i += 8; - for (j = 0;j < n3 && j < 31;j++) + for (j = 0; j < n3 && j < 31; j++) { rsn[j] = (char)getbitu(rtcm->buff, i, 8); i += 8; } @@ -1139,7 +1139,7 @@ int decode_type1044(rtcm_t *rtcm) eph.svh = getbitu(rtcm->buff, i, 6); i += 6; eph.tgd[0] = getbits(rtcm->buff, i, 8)*TWO_N31; i += 8; eph.iodc = getbitu(rtcm->buff, i, 10); i += 10; - eph.fit = getbitu(rtcm->buff, i, 1)?0.0:2.0; /* 0:2hr, 1:>2hr */ + eph.fit = getbitu(rtcm->buff, i, 1) ? 0.0:2.0; /* 0:2hr, 1:>2hr */ } else { @@ -1365,7 +1365,7 @@ int decode_type1047(rtcm_t *rtcm) eph.tgd[0] = getbits(rtcm->buff, i, 8)*TWO_N31; i += 8; eph.svh = getbitu(rtcm->buff, i, 6); i += 6; eph.flag = getbitu(rtcm->buff, i, 1); i += 1; - eph.fit = getbitu(rtcm->buff, i, 1)?0.0:4.0; /* 0:4hr, 1:>4hr */ + eph.fit = getbitu(rtcm->buff, i, 1) ? 0.0:4.0; /* 0:4hr, 1:>4hr */ } else { @@ -1488,9 +1488,9 @@ int decode_ssr1_head(rtcm_t *rtcm, int sys, int *sync, int *iod, int i = 24+12, nsat, udi, provid = 0, solid = 0, ns = 6; #ifndef SSR_QZSS_DRAFT_V05 - ns = sys == SYS_QZS?4:6; + ns = sys == SYS_QZS ? 4:6; #endif - if (i+(sys == SYS_GLO?53:50+ns)>rtcm->len*8) return -1; + if (i+(sys == SYS_GLO ? 53:50+ns)>rtcm->len*8) return -1; if (sys == SYS_GLO) { @@ -1534,9 +1534,9 @@ int decode_ssr2_head(rtcm_t *rtcm, int sys, int *sync, int *iod, int i = 24+12, nsat, udi, provid = 0, solid = 0, ns = 6; #ifndef SSR_QZSS_DRAFT_V05 - ns = sys == SYS_QZS?4:6; + ns = sys == SYS_QZS ? 4:6; #endif - if (i+(sys == SYS_GLO?52:49+ns)>rtcm->len*8) return -1; + if (i+(sys == SYS_GLO ? 52:49+ns)>rtcm->len*8) return -1; if (sys == SYS_GLO) { @@ -1579,9 +1579,9 @@ int decode_ssr7_head(rtcm_t *rtcm, int sys, int *sync, int *iod, int i = 24+12, nsat, udi, provid = 0, solid = 0, ns = 6; #ifndef SSR_QZSS_DRAFT_V05 - ns = sys == SYS_QZS?4:6; + ns = sys == SYS_QZS ? 4:6; #endif - if (i+(sys == SYS_GLO?54:51+ns)>rtcm->len*8) return -1; + if (i+(sys == SYS_GLO ? 54:51+ns)>rtcm->len*8) return -1; if (sys == SYS_GLO) { @@ -1640,9 +1640,9 @@ int decode_ssr1(rtcm_t *rtcm, int sys) case SYS_QZS: np = 4; ni = 8; nj = 0; offp = 192; break; case SYS_BDS: np = 6; ni = 10; nj = 24; offp = 1; break; case SYS_SBS: np = 6; ni = 9; nj = 24; offp = 120; break; - default: return sync?0:10; + default: return sync ? 0:10; } - for (j = 0;j < nsat && i+121+np+ni+nj <= rtcm->len*8;j++) + for (j = 0; j < nsat && i+121+np+ni+nj <= rtcm->len*8; j++) { prn = getbitu(rtcm->buff, i, np)+offp; i += np; iode = getbitu(rtcm->buff, i, ni); i += ni; @@ -1673,7 +1673,7 @@ int decode_ssr1(rtcm_t *rtcm, int sys) } rtcm->ssr[sat-1].update = 1; } - return sync?0:10; + return sync ? 0:10; } @@ -1698,9 +1698,9 @@ int decode_ssr2(rtcm_t *rtcm, int sys) case SYS_QZS: np = 4; offp = 192; break; case SYS_BDS: np = 6; offp = 1; break; case SYS_SBS: np = 6; offp = 120; break; - default: return sync?0:10; + default: return sync ? 0:10; } - for (j = 0;j < nsat && i+70+np <= rtcm->len*8;j++) + for (j = 0; j < nsat && i+70+np <= rtcm->len*8; j++) { prn = getbitu(rtcm->buff, i, np)+offp; i += np; dclk[0] = getbits(rtcm->buff, i, 22)*1E-4; i += 22; @@ -1722,7 +1722,7 @@ int decode_ssr2(rtcm_t *rtcm, int sys) } rtcm->ssr[sat-1].update = 1; } - return sync?0:10; + return sync ? 0:10; } @@ -1748,9 +1748,9 @@ int decode_ssr3(rtcm_t *rtcm, int sys) case SYS_QZS: np = 4; offp = 192; codes = codes_qzs; ncode = 13; break; case SYS_BDS: np = 6; offp = 1; codes = codes_bds; ncode = 9; break; case SYS_SBS: np = 6; offp = 120; codes = codes_sbs; ncode = 4; break; - default: return sync?0:10; + default: return sync ? 0:10; } - for (j = 0;j < nsat && i+5+np <= rtcm->len*8;j++) + for (j = 0; j < nsat && i+5+np <= rtcm->len*8; j++) { prn = getbitu(rtcm->buff, i, np)+offp; i += np; nbias = getbitu(rtcm->buff, i, 5); i += 5; @@ -1784,7 +1784,7 @@ int decode_ssr3(rtcm_t *rtcm, int sys) } rtcm->ssr[sat-1].update = 1; } - return sync?0:10; + return sync ? 0:10; } @@ -1809,9 +1809,9 @@ int decode_ssr4(rtcm_t *rtcm, int sys) case SYS_QZS: np = 4; ni = 8; nj = 0; offp = 192; break; case SYS_BDS: np = 6; ni = 10; nj = 24; offp = 1; break; case SYS_SBS: np = 6; ni = 9; nj = 24; offp = 120; break; - default: return sync?0:10; + default: return sync ? 0:10; } - for (j = 0;j < nsat && i+191+np+ni+nj <= rtcm->len*8;j++) + for (j = 0; j < nsat && i+191+np+ni+nj <= rtcm->len*8; j++) { prn = getbitu(rtcm->buff, i, np)+offp; i += np; iode = getbitu(rtcm->buff, i, ni); i += ni; @@ -1847,7 +1847,7 @@ int decode_ssr4(rtcm_t *rtcm, int sys) } rtcm->ssr[sat-1].update = 1; } - return sync?0:10; + return sync ? 0:10; } @@ -1872,9 +1872,9 @@ int decode_ssr5(rtcm_t *rtcm, int sys) case SYS_QZS: np = 4; offp = 192; break; case SYS_BDS: np = 6; offp = 1; break; case SYS_SBS: np = 6; offp = 120; break; - default: return sync?0:10; + default: return sync ? 0:10; } - for (j = 0;j < nsat && i+6+np <= rtcm->len*8;j++) + for (j = 0; j < nsat && i+6+np <= rtcm->len*8; j++) { prn = getbitu(rtcm->buff, i, np)+offp; i += np; ura = getbitu(rtcm->buff, i, 6); i += 6; @@ -1890,7 +1890,7 @@ int decode_ssr5(rtcm_t *rtcm, int sys) rtcm->ssr[sat-1].ura = ura; rtcm->ssr[sat-1].update = 1; } - return sync?0:10; + return sync ? 0:10; } @@ -1915,9 +1915,9 @@ int decode_ssr6(rtcm_t *rtcm, int sys) case SYS_QZS: np = 4; offp = 192; break; case SYS_BDS: np = 6; offp = 1; break; case SYS_SBS: np = 6; offp = 120; break; - default: return sync?0:10; + default: return sync ? 0:10; } - for (j = 0;j < nsat && i+22+np <= rtcm->len*8;j++) + for (j = 0; j < nsat && i+22+np <= rtcm->len*8; j++) { prn = getbitu(rtcm->buff, i, np)+offp; i += np; hrclk = getbits(rtcm->buff, i, 22)*1E-4; i += 22; @@ -1933,7 +1933,7 @@ int decode_ssr6(rtcm_t *rtcm, int sys) rtcm->ssr[sat-1].hrclk = hrclk; rtcm->ssr[sat-1].update = 1; } - return sync?0:10; + return sync ? 0:10; } @@ -1959,9 +1959,9 @@ int decode_ssr7(rtcm_t *rtcm, int sys) case SYS_GAL: np = 6; offp = 0; codes = codes_gal; ncode = 19; break; case SYS_QZS: np = 4; offp = 192; codes = codes_qzs; ncode = 13; break; case SYS_BDS: np = 6; offp = 1; codes = codes_bds; ncode = 9; break; - default: return sync?0:10; + default: return sync ? 0:10; } - for (j = 0;j < nsat && i+5+17+np <= rtcm->len*8;j++) + for (j = 0; j < nsat && i+5+17+np <= rtcm->len*8; j++) { prn = getbitu(rtcm->buff, i, np)+offp; i += np; nbias = getbitu(rtcm->buff, i, 5); i += 5; @@ -2015,7 +2015,7 @@ void sigindex(int sys, const unsigned char *code, const int *freq, int n, int i, nex, pri, pri_h[8] = {0}, index[8] = {0}, ex[32] = {0}; /* test code priority */ - for (i = 0;i < n;i++) + for (i = 0; i < n; i++) { if (!code[i]) continue; @@ -2037,7 +2037,7 @@ void sigindex(int sys, const unsigned char *code, const int *freq, int n, else ex[i] = 1; } /* signal index in obs data */ - for (i = nex = 0;i < n;i++) + for (i = nex = 0; i < n; i++) { if (ex[i] == 0) ind[i] = freq[i]-1; else if (nex < NEXOBS) ind[i] = NFREQ+nex++; @@ -2077,7 +2077,7 @@ void save_msm_obs(rtcm_t *rtcm, int sys, msm_h_t *h, const double *r, case SYS_BDS: msm_type = q = rtcm->msmtype[5]; break; } /* id to signal */ - for (i = 0;i < h->nsig;i++) + for (i = 0; i < h->nsig; i++) { switch (sys) { @@ -2100,11 +2100,11 @@ void save_msm_obs(rtcm_t *rtcm, int sys, msm_h_t *h, const double *r, } if (code[i] != CODE_NONE) { - if (q) q += sprintf(q, "L%s%s", sig[i], i < h->nsig-1?", ":""); + if (q) q += sprintf(q, "L%s%s", sig[i], i < h->nsig-1 ? ", ":""); } else { - if (q) q += sprintf(q, "(%d)%s", h->sigs[i], i < h->nsig-1?", ":""); + if (q) q += sprintf(q, "(%d)%s", h->sigs[i], i < h->nsig-1 ? ", ":""); trace(2, "rtcm3 %d: unknown signal id=%2d\n", type, h->sigs[i]); } @@ -2114,7 +2114,7 @@ void save_msm_obs(rtcm_t *rtcm, int sys, msm_h_t *h, const double *r, /* get signal index */ sigindex(sys, code, freq, h->nsig, rtcm->opt, ind); - for (i = j = 0;i < h->nsat;i++) + for (i = j = 0; i < h->nsat; i++) { prn = h->sats[i]; if (sys == SYS_QZS) prn += MINPRNQZS-1; @@ -2146,8 +2146,8 @@ void save_msm_obs(rtcm_t *rtcm, int sys, msm_h_t *h, const double *r, if (sys == SYS_GLO && ex && ex[i] <= 13) { fn = ex[i]-7; - wl = SPEED_OF_LIGHT/((freq[k] == 2?FREQ2_GLO:FREQ1_GLO)+ - (freq[k] == 2?DFRQ2_GLO:DFRQ1_GLO)*fn); + wl = SPEED_OF_LIGHT/((freq[k] == 2 ? FREQ2_GLO : FREQ1_GLO)+ + (freq[k] == 2 ? DFRQ2_GLO:DFRQ1_GLO)*fn); } /* pseudorange (m) */ if (r[i] != 0.0 && pr[j]>-1E12) @@ -2165,7 +2165,7 @@ void save_msm_obs(rtcm_t *rtcm, int sys, msm_h_t *h, const double *r, rtcm->obs.data[index].D[ind[k]] = (float)(-(rr[i]+rrf[j])/wl); } rtcm->obs.data[index].LLI[ind[k]] = - lossoflock(rtcm, sat, ind[k], lock[j])+(half[j]?3:0); + lossoflock(rtcm, sat, ind[k], lock[j])+(half[j] ? 3 : 0); rtcm->obs.data[index].SNR [ind[k]] = (unsigned char)(cnr[j]*4.0); rtcm->obs.data[index].code[ind[k]] = code[k]; } @@ -2216,12 +2216,12 @@ int decode_msm_head(rtcm_t *rtcm, int sys, int *sync, int *iod, h->clk_ext = getbitu(rtcm->buff, i, 2); i += 2; h->smooth = getbitu(rtcm->buff, i, 1); i += 1; h->tint_s = getbitu(rtcm->buff, i, 3); i += 3; - for (j = 1;j <= 64;j++) + for (j = 1; j <= 64; j++) { mask = getbitu(rtcm->buff, i, 1); i += 1; if (mask) h->sats[h->nsat++] = j; } - for (j = 1;j <= 32;j++) + for (j = 1; j <= 32; j++) { mask = getbitu(rtcm->buff, i, 1); i += 1; if (mask) h->sigs[h->nsig++] = j; @@ -2247,7 +2247,7 @@ int decode_msm_head(rtcm_t *rtcm, int sys, int *sync, int *iod, rtcm->len, h->nsat, h->nsig); return -1; } - for (j = 0;j < h->nsat*h->nsig;j++) + for (j = 0; j < h->nsat*h->nsig; j++) { h->cellmask[j] = getbitu(rtcm->buff, i, 1); i += 1; if (h->cellmask[j]) ncell++; @@ -2274,7 +2274,7 @@ int decode_msm0(rtcm_t *rtcm, int sys) int i, sync, iod; if (decode_msm_head(rtcm, sys, &sync, &iod, &h, &i) < 0) return -1; rtcm->obsflag = !sync; - return sync?0:1; + return sync ? 0:1; } @@ -2296,40 +2296,40 @@ int decode_msm4(rtcm_t *rtcm, int sys) ncell, rtcm->len); return -1; } - for (j = 0;j < h.nsat;j++) r[j] = 0.0; - for (j = 0;j < ncell;j++) pr[j] = cp[j] = -1E16; + for (j = 0; j < h.nsat; j++) r[j] = 0.0; + for (j = 0; j < ncell; j++) pr[j] = cp[j] = -1E16; /* decode satellite data */ - for (j = 0;j < h.nsat;j++) + for (j = 0; j < h.nsat; j++) { /* range */ rng = getbitu(rtcm->buff, i, 8); i += 8; if (rng != 255) r[j] = rng*RANGE_MS; } - for (j = 0;j < h.nsat;j++) + for (j = 0; j < h.nsat; j++) { rng_m = getbitu(rtcm->buff, i, 10); i += 10; - if (r[j] != 0.0) r[j] += rng_m*P2_10*RANGE_MS; + if (r[j] != 0.0) r[j] += rng_m*TWO_N10*RANGE_MS; } /* decode signal data */ - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* pseudorange */ prv = getbits(rtcm->buff, i, 15); i += 15; if (prv != -16384) pr[j] = prv*TWO_N24*RANGE_MS; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* phaserange */ cpv = getbits(rtcm->buff, i, 22); i += 22; if (cpv != -2097152) cp[j] = cpv*TWO_N29*RANGE_MS; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* lock time */ lock[j] = getbitu(rtcm->buff, i, 4); i += 4; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* half-cycle ambiguity */ half[j] = getbitu(rtcm->buff, i, 1); i += 1; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* cnr */ cnr[j] = getbitu(rtcm->buff, i, 6)*1.0; i += 6; } @@ -2337,7 +2337,7 @@ int decode_msm4(rtcm_t *rtcm, int sys) save_msm_obs(rtcm, sys, &h, r, pr, cp, NULL, NULL, cnr, lock, NULL, half); rtcm->obsflag = !sync; - return sync?0:1; + return sync ? 0:1; } @@ -2360,56 +2360,56 @@ int decode_msm5(rtcm_t *rtcm, int sys) ncell, rtcm->len); return -1; } - for (j = 0;j < h.nsat;j++) + for (j = 0; j < h.nsat; j++) { r[j] = rr[j] = 0.0; ex[j] = 15; } - for (j = 0;j < ncell;j++) pr[j] = cp[j] = rrf[j] = -1E16; + for (j = 0; j < ncell; j++) pr[j] = cp[j] = rrf[j] = -1E16; /* decode satellite data */ - for (j = 0;j < h.nsat;j++) + for (j = 0; j < h.nsat; j++) { /* range */ rng = getbitu(rtcm->buff, i, 8); i += 8; if (rng != 255) r[j] = rng*RANGE_MS; } - for (j = 0;j < h.nsat;j++) + for (j = 0; j < h.nsat; j++) { /* extended info */ ex[j] = getbitu(rtcm->buff, i, 4); i += 4; } - for (j = 0;j < h.nsat;j++) + for (j = 0; j < h.nsat; j++) { rng_m = getbitu(rtcm->buff, i, 10); i += 10; - if (r[j] != 0.0) r[j] += rng_m*P2_10*RANGE_MS; + if (r[j] != 0.0) r[j] += rng_m*TWO_N10*RANGE_MS; } - for (j = 0;j < h.nsat;j++) + for (j = 0; j < h.nsat; j++) { /* phaserangerate */ rate = getbits(rtcm->buff, i, 14); i += 14; if (rate != -8192) rr[j] = rate*1.0; } /* decode signal data */ - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* pseudorange */ prv = getbits(rtcm->buff, i, 15); i += 15; if (prv != -16384) pr[j] = prv*TWO_N24*RANGE_MS; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* phaserange */ cpv = getbits(rtcm->buff, i, 22); i += 22; if (cpv != -2097152) cp[j] = cpv*TWO_N29*RANGE_MS; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* lock time */ lock[j] = getbitu(rtcm->buff, i, 4); i += 4; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* half-cycle ambiguity */ half[j] = getbitu(rtcm->buff, i, 1); i += 1; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* cnr */ cnr[j] = getbitu(rtcm->buff, i, 6)*1.0; i += 6; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* phaserangerate */ rrv = getbits(rtcm->buff, i, 15); i += 15; if (rrv != -16384) rrf[j] = rrv*0.0001; @@ -2418,7 +2418,7 @@ int decode_msm5(rtcm_t *rtcm, int sys) save_msm_obs(rtcm, sys, &h, r, pr, cp, rr, rrf, cnr, lock, ex, half); rtcm->obsflag = !sync; - return sync?0:1; + return sync ? 0:1; } @@ -2440,40 +2440,40 @@ int decode_msm6(rtcm_t *rtcm, int sys) ncell, rtcm->len); return -1; } - for (j = 0;j < h.nsat;j++) r[j] = 0.0; - for (j = 0;j < ncell;j++) pr[j] = cp[j] = -1E16; + for (j = 0; j < h.nsat; j++) r[j] = 0.0; + for (j = 0; j < ncell; j++) pr[j] = cp[j] = -1E16; /* decode satellite data */ - for (j = 0;j < h.nsat;j++) + for (j = 0; j < h.nsat; j++) { /* range */ rng = getbitu(rtcm->buff, i, 8); i += 8; if (rng != 255) r[j] = rng*RANGE_MS; } - for (j = 0;j < h.nsat;j++) + for (j = 0; j < h.nsat; j++) { rng_m = getbitu(rtcm->buff, i, 10); i += 10; - if (r[j] != 0.0) r[j] += rng_m*P2_10*RANGE_MS; + if (r[j] != 0.0) r[j] += rng_m*TWO_N10*RANGE_MS; } /* decode signal data */ - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* pseudorange */ prv = getbits(rtcm->buff, i, 20); i += 20; if (prv != -524288) pr[j] = prv*TWO_N29*RANGE_MS; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* phaserange */ cpv = getbits(rtcm->buff, i, 24); i += 24; if (cpv != -8388608) cp[j] = cpv*TWO_N31*RANGE_MS; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* lock time */ lock[j] = getbitu(rtcm->buff, i, 10); i += 10; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* half-cycle ambiguity */ half[j] = getbitu(rtcm->buff, i, 1); i += 1; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* cnr */ cnr[j] = getbitu(rtcm->buff, i, 10)*0.0625; i += 10; } @@ -2481,7 +2481,7 @@ int decode_msm6(rtcm_t *rtcm, int sys) save_msm_obs(rtcm, sys, &h, r, pr, cp, NULL, NULL, cnr, lock, NULL, half); rtcm->obsflag = !sync; - return sync?0:1; + return sync ? 0:1; } @@ -2504,56 +2504,56 @@ int decode_msm7(rtcm_t *rtcm, int sys) ncell, rtcm->len); return -1; } - for (j = 0;j < h.nsat;j++) + for (j = 0; j < h.nsat; j++) { r[j] = rr[j] = 0.0; ex[j] = 15; } - for (j = 0;j < ncell;j++) pr[j] = cp[j] = rrf[j] = -1E16; + for (j = 0; j < ncell; j++) pr[j] = cp[j] = rrf[j] = -1E16; /* decode satellite data */ - for (j = 0;j < h.nsat;j++) + for (j = 0; j < h.nsat; j++) { /* range */ rng = getbitu(rtcm->buff, i, 8); i += 8; if (rng != 255) r[j] = rng*RANGE_MS; } - for (j = 0;j < h.nsat;j++) + for (j = 0; j < h.nsat; j++) { /* extended info */ ex[j] = getbitu(rtcm->buff, i, 4); i += 4; } - for (j = 0;j < h.nsat;j++) + for (j = 0; j < h.nsat; j++) { rng_m = getbitu(rtcm->buff, i, 10); i += 10; - if (r[j] != 0.0) r[j] += rng_m*P2_10*RANGE_MS; + if (r[j] != 0.0) r[j] += rng_m*TWO_N10*RANGE_MS; } - for (j = 0;j < h.nsat;j++) + for (j = 0; j < h.nsat; j++) { /* phaserangerate */ rate = getbits(rtcm->buff, i, 14); i += 14; if (rate != -8192) rr[j] = rate*1.0; } /* decode signal data */ - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* pseudorange */ prv = getbits(rtcm->buff, i, 20); i += 20; if (prv != -524288) pr[j] = prv*TWO_N29*RANGE_MS; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* phaserange */ cpv = getbits(rtcm->buff, i, 24); i += 24; if (cpv != -8388608) cp[j] = cpv*TWO_N31*RANGE_MS; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* lock time */ lock[j] = getbitu(rtcm->buff, i, 10); i += 10; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* half-cycle amiguity */ half[j] = getbitu(rtcm->buff, i, 1); i += 1; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* cnr */ cnr[j] = getbitu(rtcm->buff, i, 10)*0.0625; i += 10; } - for (j = 0;j < ncell;j++) + for (j = 0; j < ncell; j++) { /* phaserangerate */ rrv = getbits(rtcm->buff, i, 15); i += 15; if (rrv != -16384) rrf[j] = rrv*0.0001; @@ -2562,7 +2562,7 @@ int decode_msm7(rtcm_t *rtcm, int sys) save_msm_obs(rtcm, sys, &h, r, pr, cp, rr, rrf, cnr, lock, ex, half); rtcm->obsflag = !sync; - return sync?0:1; + return sync ? 0:1; } diff --git a/src/algorithms/libs/rtklib/rtklib_rtcm3.h b/src/algorithms/libs/rtklib/rtklib_rtcm3.h index ff179a9de..58ae71fb0 100644 --- a/src/algorithms/libs/rtklib/rtklib_rtcm3.h +++ b/src/algorithms/libs/rtklib/rtklib_rtcm3.h @@ -59,14 +59,14 @@ /* constants -----------------------------------------------------------------*/ const double PRUNIT_GPS = 299792.458; /* rtcm ver.3 unit of gps pseudorange (m) */ -const double PRUNIT_GLO = 599584.916; /* rtcm ver.3 unit of glonass pseudorange (m) */ -const double RANGE_MS = SPEED_OF_LIGHT * 0.001; /* range in 1 ms */ +const double PRUNIT_GLO = 599584.916; /* rtcm ver.3 unit of glonass pseudorange (m) */ +const double RANGE_MS = SPEED_OF_LIGHT * 0.001; /* range in 1 ms */ -#define P2_10 0.0009765625 /* 2^-10 */ -#define P2_34 5.820766091346740E-11 /* 2^-34 */ -#define P2_46 1.421085471520200E-14 /* 2^-46 */ -#define P2_59 1.734723475976810E-18 /* 2^-59 */ -#define P2_66 1.355252715606880E-20 /* 2^-66 */ +//#define P2_10 0.0009765625 /* 2^-10 */ +//#define P2_34 5.820766091346740E-11 /* 2^-34 */ +//#define P2_46 1.421085471520200E-14 /* 2^-46 */ +//#define P2_59 1.734723475976810E-18 /* 2^-59 */ +//#define P2_66 1.355252715606880E-20 /* 2^-66 */ /* type definition -----------------------------------------------------------*/ @@ -84,176 +84,239 @@ typedef struct { /* multi-signal-message header type */ } msm_h_t; /* msm signal id table -------------------------------------------------------*/ -const char *msm_sig_gps[32]={ +const char *msm_sig_gps[32] = { /* GPS: ref [13] table 3.5-87, ref [14][15] table 3.5-91 */ - "" ,"1C","1P","1W","1Y","1M","" ,"2C","2P","2W","2Y","2M", /* 1-12 */ - "" ,"" ,"2S","2L","2X","" ,"" ,"" ,"" ,"5I","5Q","5X", /* 13-24 */ - "" ,"" ,"" ,"" ,"" ,"1S","1L","1X" /* 25-32 */ + "" , "1C", "1P", "1W", "1Y", "1M", "" , "2C", "2P", "2W", "2Y", "2M", /* 1-12 */ + "" , "" , "2S", "2L", "2X", "" , "" , "" , "" , "5I", "5Q", "5X", /* 13-24 */ + "" , "" , "" , "" , "" , "1S", "1L", "1X" /* 25-32 */ }; -const char *msm_sig_glo[32]={ - /* GLONASS: ref [13] table 3.5-93, ref [14][15] table 3.5-97 */ - "" ,"1C","1P","" ,"" ,"" ,"" ,"2C","2P","" ,"3I","3Q", - "3X","" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" , - "" ,"" ,"" ,"" ,"" ,"" ,"" ,"" +const char *msm_sig_glo[32] = { + /* GLONASS: ref [13] table 3.5-93, ref [14][15] table 3.5-97 */ + "" , "1C", "1P", "" , "" , "" , "" , "2C", "2P", "" , "3I", "3Q", + "3X", "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , + "" , "" , "" , "" , "" , "" , "" , "" }; -const char *msm_sig_gal[32]={ +const char *msm_sig_gal[32] = { /* Galileo: ref [15] table 3.5-100 */ - "" ,"1C","1A","1B","1X","1Z","" ,"6C","6A","6B","6X","6Z", - "" ,"7I","7Q","7X","" ,"8I","8Q","8X","" ,"5I","5Q","5X", - "" ,"" ,"" ,"" ,"" ,"" ,"" ,"" + "" , "1C", "1A", "1B", "1X", "1Z", "" , "6C", "6A", "6B", "6X", "6Z", + "" , "7I", "7Q", "7X", "" , "8I", "8Q", "8X", "" , "5I", "5Q", "5X", + "" , "" , "" , "" , "" , "" , "" , "" }; -const char *msm_sig_qzs[32]={ +const char *msm_sig_qzs[32] = { /* QZSS: ref [15] table 3.5-103 */ - "" ,"1C","" ,"" ,"" ,"" ,"" ,"" ,"6S","6L","6X","" , - "" ,"" ,"2S","2L","2X","" ,"" ,"" ,"" ,"5I","5Q","5X", - "" ,"" ,"" ,"" ,"" ,"1S","1L","1X" + "" , "1C", "" , "" , "" , "" , "" , "" , "6S", "6L", "6X", "" , + "" , "" , "2S", "2L", "2X", "" , "" , "" , "" , "5I", "5Q", "5X", + "" , "" , "" , "" , "" , "1S", "1L", "1X" }; -const char *msm_sig_sbs[32]={ +const char *msm_sig_sbs[32] = { /* SBAS: ref [13] table 3.5-T+005 */ - "" ,"1C","" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" , - "" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"5I","5Q","5X", - "" ,"" ,"" ,"" ,"" ,"" ,"" ,"" + "" , "1C", "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , + "" , "" , "" , "" , "" , "" , "" , "" , "" , "5I", "5Q", "5X", + "" , "" , "" , "" , "" , "" , "" , "" }; -const char *msm_sig_cmp[32]={ +const char *msm_sig_cmp[32] = { /* BeiDou: ref [15] table 3.5-106 */ - "" ,"1I","1Q","1X","" ,"" ,"" ,"6I","6Q","6X","" ,"" , - "" ,"7I","7Q","7X","" ,"" ,"" ,"" ,"" ,"" ,"" ,"" , - "" ,"" ,"" ,"" ,"" ,"" ,"" ,"" + "" , "1I", "1Q", "1X", "" , "" , "" , "6I", "6Q", "6X", "" , "" , + "" , "7I", "7Q", "7X", "" , "" , "" , "" , "" , "" , "" , "" , + "" , "" , "" , "" , "" , "" , "" , "" }; /* ssr update intervals ------------------------------------------------------*/ -const double ssrudint[16]={ - 1,2,5,10,15,30,60,120,240,300,600,900,1800,3600,7200,10800 +const double ssrudint[16] = { + 1, 2, 5, 10, 15, 30, 60, 120, 240, 300, 600, 900, 1800, 3600, 7200, 10800 }; /* ssr 3 and 7 signal and tracking mode ids ----------------------------------*/ -const int codes_gps[]={ - CODE_L1C,CODE_L1P,CODE_L1W,CODE_L1Y,CODE_L1M,CODE_L2C,CODE_L2D,CODE_L2S, - CODE_L2L,CODE_L2X,CODE_L2P,CODE_L2W,CODE_L2Y,CODE_L2M,CODE_L5I,CODE_L5Q, +const int codes_gps[] = { + CODE_L1C, CODE_L1P, CODE_L1W, CODE_L1Y, CODE_L1M, CODE_L2C, CODE_L2D, CODE_L2S, + CODE_L2L, CODE_L2X, CODE_L2P, CODE_L2W, CODE_L2Y, CODE_L2M, CODE_L5I, CODE_L5Q, CODE_L5X }; -const int codes_glo[]={ - CODE_L1C,CODE_L1P,CODE_L2C,CODE_L2P +const int codes_glo[] = { + CODE_L1C, CODE_L1P, CODE_L2C, CODE_L2P }; -const int codes_gal[]={ - CODE_L1A,CODE_L1B,CODE_L1C,CODE_L1X,CODE_L1Z,CODE_L5I,CODE_L5Q,CODE_L5X, - CODE_L7I,CODE_L7Q,CODE_L7X,CODE_L8I,CODE_L8Q,CODE_L8X,CODE_L6A,CODE_L6B, - CODE_L6C,CODE_L6X,CODE_L6Z +const int codes_gal[] = { + CODE_L1A, CODE_L1B, CODE_L1C, CODE_L1X, CODE_L1Z, CODE_L5I, CODE_L5Q, CODE_L5X, + CODE_L7I, CODE_L7Q, CODE_L7X, CODE_L8I, CODE_L8Q, CODE_L8X, CODE_L6A, CODE_L6B, + CODE_L6C, CODE_L6X, CODE_L6Z }; -const int codes_qzs[]={ - CODE_L1C,CODE_L1S,CODE_L1L,CODE_L2S,CODE_L2L,CODE_L2X,CODE_L5I,CODE_L5Q, - CODE_L5X,CODE_L6S,CODE_L6L,CODE_L6X,CODE_L1X +const int codes_qzs[] = { + CODE_L1C, CODE_L1S, CODE_L1L, CODE_L2S, CODE_L2L, CODE_L2X, CODE_L5I, CODE_L5Q, + CODE_L5X, CODE_L6S, CODE_L6L, CODE_L6X, CODE_L1X }; -const int codes_bds[]={ - CODE_L1I,CODE_L1Q,CODE_L1X,CODE_L7I,CODE_L7Q,CODE_L7X,CODE_L6I,CODE_L6Q, +const int codes_bds[] = { + CODE_L1I, CODE_L1Q, CODE_L1X, CODE_L7I, CODE_L7Q, CODE_L7X, CODE_L6I, CODE_L6Q, CODE_L6X }; -const int codes_sbs[]={ - CODE_L1C,CODE_L5I,CODE_L5Q,CODE_L5X +const int codes_sbs[] = { + CODE_L1C, CODE_L5I, CODE_L5Q, CODE_L5X }; -double getbitg(const unsigned char *buff, int pos, int len); +double getbitg(const unsigned char *buff, int pos, int len); + void adjweek(rtcm_t *rtcm, double tow); + int adjbdtweek(int week); + void adjday_glot(rtcm_t *rtcm, double tod); + double adjcp(rtcm_t *rtcm, int sat, int freq, double cp); + int lossoflock(rtcm_t *rtcm, int sat, int freq, int lock); + unsigned char snratio(double snr); + int obsindex(obs_t *obs, gtime_t time, int sat); + int test_staid(rtcm_t *rtcm, int staid); int decode_head1001(rtcm_t *rtcm, int *sync); + int decode_type1001(rtcm_t *rtcm); + int decode_type1002(rtcm_t *rtcm); + int decode_type1003(rtcm_t *rtcm); + int decode_type1004(rtcm_t *rtcm); + double getbits_38(const unsigned char *buff, int pos); + int decode_type1005(rtcm_t *rtcm); int decode_type1006(rtcm_t *rtcm); + int decode_type1007(rtcm_t *rtcm); + int decode_type1008(rtcm_t *rtcm); + int decode_head1009(rtcm_t *rtcm, int *sync); int decode_type1009(rtcm_t *rtcm); + int decode_type1010(rtcm_t *rtcm); + int decode_type1011(rtcm_t *rtcm); + int decode_type1012(rtcm_t *rtcm); + int decode_type1013(rtcm_t *rtcm); + int decode_type1019(rtcm_t *rtcm); + int decode_type1020(rtcm_t *rtcm); + int decode_type1021(rtcm_t *rtcm); + int decode_type1022(rtcm_t *rtcm); + int decode_type1023(rtcm_t *rtcm); + int decode_type1024(rtcm_t *rtcm); + int decode_type1025(rtcm_t *rtcm); + int decode_type1026(rtcm_t *rtcm); + int decode_type1027(rtcm_t *rtcm); + int decode_type1029(rtcm_t *rtcm); + int decode_type1030(rtcm_t *rtcm); + int decode_type1031(rtcm_t *rtcm); + int decode_type1032(rtcm_t *rtcm); + int decode_type1033(rtcm_t *rtcm); + int decode_type1034(rtcm_t *rtcm); + int decode_type1035(rtcm_t *rtcm); + int decode_type1037(rtcm_t *rtcm); + int decode_type1038(rtcm_t *rtcm); + int decode_type1039(rtcm_t *rtcm); + int decode_type1044(rtcm_t *rtcm); + int decode_type1045(rtcm_t *rtcm); + int decode_type1046(rtcm_t *rtcm); + int decode_type1047(rtcm_t *rtcm); + int decode_type1063(rtcm_t *rtcm); + int decode_ssr1_head(rtcm_t *rtcm, int sys, int *sync, int *iod, double *udint, int *refd, int *hsize); + int decode_ssr2_head(rtcm_t *rtcm, int sys, int *sync, int *iod, double *udint, int *hsize); + int decode_ssr7_head(rtcm_t *rtcm, int sys, int *sync, int *iod, double *udint, int *dispe, int *mw, int *hsize); + int decode_ssr1(rtcm_t *rtcm, int sys); + int decode_ssr2(rtcm_t *rtcm, int sys); + int decode_ssr3(rtcm_t *rtcm, int sys); + int decode_ssr4(rtcm_t *rtcm, int sys); + int decode_ssr5(rtcm_t *rtcm, int sys); + int decode_ssr6(rtcm_t *rtcm, int sys); + int decode_ssr7(rtcm_t *rtcm, int sys); + void sigindex(int sys, const unsigned char *code, const int *freq, int n, const char *opt, int *ind); + void save_msm_obs(rtcm_t *rtcm, int sys, msm_h_t *h, const double *r, const double *pr, const double *cp, const double *rr, const double *rrf, const double *cnr, const int *lock, const int *ex, const int *half); + int decode_msm_head(rtcm_t *rtcm, int sys, int *sync, int *iod, msm_h_t *h, int *hsize); int decode_msm0(rtcm_t *rtcm, int sys); + int decode_msm4(rtcm_t *rtcm, int sys); + int decode_msm5(rtcm_t *rtcm, int sys); + int decode_msm6(rtcm_t *rtcm, int sys); + int decode_msm7(rtcm_t *rtcm, int sys); + int decode_type1230(rtcm_t *rtcm); int decode_rtcm3(rtcm_t *rtcm);