/* satellite clock with broadcast ephemeris ----------------------------------*/ static int ephclk(gtime_t time, gtime_t teph, int sat, const nav_t *nav, double *dts) { eph_t *eph; geph_t *geph; seph_t *seph; int sys; trace(4,"ephclk : time=%s sat=%2d\n",time_str(time,3),sat); sys=satsys(sat,NULL); if (sys==SYS_GPS||sys==SYS_GAL||sys==SYS_QZS||sys==SYS_CMP) { if (!(eph=seleph(teph,sat,-1,nav))) return 0; *dts=eph2clk(time,eph); } else if (sys==SYS_GLO) { if (!(geph=selgeph(teph,sat,-1,nav))) return 0; *dts=geph2clk(time,geph); } else if (sys==SYS_SBS) { if (!(seph=selseph(teph,sat,nav))) return 0; *dts=seph2clk(time,seph); } else return 0; return 1; }
/* satellite clock with broadcast ephemeris ----------------------------------*/ static int ephclk(gtime_t time, gtime_t teph, int sat, const nav_t *nav, double *dts,char **msg) { eph_t *eph; if (!(eph=seleph(teph,sat,-1,nav,msg))) return 0; //*msg += sprintf(*msg,"ephclk"); *dts=eph2clk(time,eph); return 1; }