FreeBSD/contrib/ntp/ntpd/refclock_ripencc.c
/**/
/* over-determined satellite selection for position fixes, PDOP, fix mode */
over-determined satellite selection for position fixes, PDOP, fix mode
over - determined satellite selection for position fixes PDOP fix mode
short
rpt_0x6D(
	 TSIPPKT *rpt,
	 unsigned char *manual_mode,
	 unsigned char *nsvs,
	 unsigned char *ndim,
	 unsigned char sv_prn[],
	 float *pdop,
	 float *hdop,
	 float *vdop,
	 float *tdop
	 )
{
	short islot;
	unsigned char *buf;
	buf = rpt->buf;
	*nsvs = (unsigned char)((buf[0] & 0xF0) >> 4);
	if ((*nsvs)>8) return TRUE;
	if (rpt->len != 17 + (*nsvs) ) return TRUE;
	*manual_mode = (unsigned char)(buf[0] & 0x08);
	*ndim  = (unsigned char)((buf[0] & 0x07));
	*pdop = bGetSingle (&buf[1]);
	*hdop = bGetSingle (&buf[5]);
	*vdop = bGetSingle (&buf[9]);
	*tdop = bGetSingle (&buf[13]);
	for (islot = 0; islot < (*nsvs); islot++)
		sv_prn[islot] = buf[islot + 17];
	return FALSE;
}
short rpt_0x6D ( TSIPPKT * rpt , unsigned char * manual_mode , unsigned char * nsvs , unsigned char * ndim , unsigned char sv_prn [ ] , float * pdop , float * hdop , float * vdop , float * tdop ) { short islot ; unsigned char * buf ; buf = rpt -> buf ; * nsvs = ( unsigned char ) ( ( buf [ 0 ] & 0xF0 ) >> 4 ) ; if ( ( * nsvs ) > 8 ) return TRUE ; if ( rpt -> len != 17 + ( * nsvs ) ) return TRUE ; * manual_mode = ( unsigned char ) ( buf [ 0 ] & 0x08 ) ; * ndim = ( unsigned char ) ( ( buf [ 0 ] & 0x07 ) ) ; * pdop = bGetSingle ( & buf [ 1 ] ) ; * hdop = bGetSingle ( & buf [ 5 ] ) ; * vdop = bGetSingle ( & buf [ 9 ] ) ; * tdop = bGetSingle ( & buf [ 13 ] ) ; for ( islot = 0 ; islot < ( * nsvs ) ; islot ++ ) sv_prn [ islot ] = buf [ islot + 17 ] ; return FALSE ; }
over-determined satellite selection for position fixes, PDOP, fix mode
over - determined satellite selection for position fixes PDOP fix mode