void get_mbg_utc( unsigned char **buffpp, UTC *utcp ) { utcp->csum = get_lsb_short(buffpp); utcp->valid = get_lsb_short(buffpp); get_mbg_tgps(buffpp, &utcp->t0t); if (fetch_ieee754(buffpp, IEEE_DOUBLE, &utcp->A0, mbg_double) != IEEE_OK) { L_CLR(&utcp->A0); } if (fetch_ieee754(buffpp, IEEE_DOUBLE, &utcp->A1, mbg_double) != IEEE_OK) { L_CLR(&utcp->A1); } utcp->WNlsf = get_lsb_short(buffpp); utcp->DNt = get_lsb_short(buffpp); utcp->delta_tls = *(*buffpp)++; utcp->delta_tlsf = *(*buffpp)++; }
void get_mbg_eph( unsigned char ** buffpp, EPH *ephp ) { ephp->csum = get_lsb_short(buffpp); ephp->valid = get_lsb_short(buffpp); ephp->health = get_lsb_short(buffpp); ephp->IODC = get_lsb_short(buffpp); ephp->IODE2 = get_lsb_short(buffpp); ephp->IODE3 = get_lsb_short(buffpp); get_mbg_tgps(buffpp, &ephp->tt); get_mbg_tgps(buffpp, &ephp->t0c); get_mbg_tgps(buffpp, &ephp->t0e); FETCH_DOUBLE(buffpp, &ephp->sqrt_A); FETCH_DOUBLE(buffpp, &ephp->e); FETCH_DOUBLE(buffpp, &ephp->M0); FETCH_DOUBLE(buffpp, &ephp->omega); FETCH_DOUBLE(buffpp, &ephp->OMEGA0); FETCH_DOUBLE(buffpp, &ephp->OMEGADOT); FETCH_DOUBLE(buffpp, &ephp->deltan); FETCH_DOUBLE(buffpp, &ephp->i0); FETCH_DOUBLE(buffpp, &ephp->idot); FETCH_DOUBLE(buffpp, &ephp->crc); FETCH_DOUBLE(buffpp, &ephp->crs); FETCH_DOUBLE(buffpp, &ephp->cuc); FETCH_DOUBLE(buffpp, &ephp->cus); FETCH_DOUBLE(buffpp, &ephp->cic); FETCH_DOUBLE(buffpp, &ephp->cis); FETCH_DOUBLE(buffpp, &ephp->af0); FETCH_DOUBLE(buffpp, &ephp->af1); FETCH_DOUBLE(buffpp, &ephp->af2); FETCH_DOUBLE(buffpp, &ephp->tgd); ephp->URA = get_lsb_short(buffpp); ephp->L2code = *(*buffpp)++; ephp->L2flag = *(*buffpp)++; }
void get_mbg_ttm( unsigned char **buffpp, TTM *ttmp ) { ttmp->channel = get_lsb_short(buffpp); get_mbg_tgps(buffpp, &ttmp->t); get_mbg_tm(buffpp, &ttmp->tm); }
void get_mbg_cfgh( unsigned char **buffpp, CFGH *cfghp ) { int i; cfghp->csum = get_lsb_short(buffpp); cfghp->valid = get_lsb_short(buffpp); get_mbg_tgps(buffpp, &cfghp->tot_51); get_mbg_tgps(buffpp, &cfghp->tot_63); get_mbg_tgps(buffpp, &cfghp->t0a); for (i = MIN_SVNO; i <= MAX_SVNO; i++) { get_mbg_cfg(buffpp, &cfghp->cfg[i]); } for (i = MIN_SVNO; i <= MAX_SVNO; i++) { get_mbg_health(buffpp, &cfghp->health[i]); } }
void get_mbg_cfgh( unsigned char **buffpp, CFGH *cfghp ) { int i; cfghp->csum = (CSUM) get_lsb_short(buffpp); cfghp->valid = get_lsb_int16(buffpp); get_mbg_tgps(buffpp, &cfghp->tot_51); get_mbg_tgps(buffpp, &cfghp->tot_63); get_mbg_tgps(buffpp, &cfghp->t0a); for (i = 0; i < N_SVNO_GPS; i++) { get_mbg_cfg(buffpp, &cfghp->cfg[i]); } for (i = 0; i < N_SVNO_GPS; i++) { get_mbg_health(buffpp, &cfghp->health[i]); } }
void get_mbg_alm( unsigned char **buffpp, ALM *almp ) { almp->csum = get_lsb_short(buffpp); almp->valid = get_lsb_short(buffpp); almp->health = get_lsb_short(buffpp); get_mbg_tgps(buffpp, &almp->t0a); FETCH_DOUBLE(buffpp, &almp->sqrt_A); FETCH_DOUBLE(buffpp, &almp->e); FETCH_DOUBLE(buffpp, &almp->M0); FETCH_DOUBLE(buffpp, &almp->omega); FETCH_DOUBLE(buffpp, &almp->OMEGA0); FETCH_DOUBLE(buffpp, &almp->OMEGADOT); FETCH_DOUBLE(buffpp, &almp->deltai); FETCH_DOUBLE(buffpp, &almp->af0); FETCH_DOUBLE(buffpp, &almp->af1); }