⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 108

📁 Unix/Linux 网络时间协议版本3 Network Time Protocol Version 3 (NTP) distribution for Unix systems
💻
📖 第 1 页 / 共 2 页
字号:
Replied: Tue, 18 Mar 1997 19:21:30 -0500Replied: "Marc Brett <Marc.Brett@waii.com> Marc.Brett@rgs0.london.waii.com, Frank.Vance@rgs0.london.waii.com,Replied: Mills@huey.udel.edu"Received: from snow-white.ee.udel.edu by whimsy.udel.edu id aa06626;          18 Mar 97 13:09 GMTReceived: by diamond.waii.com; id HAA06460; Tue, 18 Mar 1997 07:08:10 -0600Received: from mail.wg.waii.com(137.144.128.17) by diamond.waii.com via smap (3.2)	id xma006324; Tue, 18 Mar 97 07:00:53 -0600Received: from merlin.london.waii.com (merlin.london.waii.com [136.250.33.1]) by mail1.wg.waii.com (8.7.5/8.7.3) with SMTP id HAA50294; Tue, 18 Mar 1997 07:00:40 -0600Received: from rgs0.london.waii.com by merlin.london.waii.com with SMTP id AA13615  (5.65c/IDA-1.4.4); Tue, 18 Mar 1997 13:00:47 GMTReceived: by rgs0.london.waii.com (940816.SGI.8.6.9/920502.SGI)	 id NAA17250; Tue, 18 Mar 1997 13:00:45 GMTFrom: Marc Brett <Marc.Brett@waii.com>Message-Id: <9703181300.ZM17248@rgs0.london.waii.com>Date: Tue, 18 Mar 1997 13:00:43 +0000X-Mailer: Z-Mail (3.2.0 26oct94 MediaMail)To: stenn@whimsy.udel.eduSubject: Updates to MX 4200 driverCc: Marc.Brett@rgs0.london.waii.com, Frank.Vance@rgs0.london.waii.com,     Mills@huey.udel.eduMime-Version: 1.0Content-Type: multipart/mixed;	boundary="PART-BOUNDARY=.19703181300.ZM17248.london.waii.com"----PART-BOUNDARY=.19703181300.ZM17248.london.waii.comContent-Type: text/plain; charset=us-asciiHarlan,Here are some updates to the MX 4200 driver, based on the xntp3-5.89.8 code.The main new features are:	o  Allowed operation on either fixed or mobile platforms (eg. ships)	o  Added leap second debug information to the syslog	o  Added receiver mode information to the syslog	o  Reduced the total number of messages coming from the receiverBest Regards,Marc Brett-- Marc Brett                     Western AtlasMarc.Brett@waii.com            +44 181 977 6279--PART-BOUNDARY=.19703181300.ZM17248.london.waii.comX-Zm-Content-Name: driver9.html.diffContent-Description: TextContent-Type: text/plain ; name="driver9.html.diff" ; charset=us-ascii*** driver9.html.orig	Tue Mar 18 11:03:01 1997--- html/driver9.html	Tue Mar 18 11:03:25 1997****************** 27,45 ****  <p>This driver supports all compatible receivers such as the 6-channel  MX 4200, MX 4200D, and the 12-channel MX 9212, MX 9012R, MX 9112.  ! <p>This driver assumes that the GPS antenna is in a fixed location.  The! receiver is initially placed in a "Static, 3D Nav" mode, where latitude,! longitude, elevation and time are calculated for a fixed station.  A! DOP-weighted running average position is calculated from this data.! After 24 hours, the receiver is placed into a "Known Position" mode,! initialized with the calculated position, and then solves only for time.! ! <p>The requirement for a fixed installation precludes operation of! this driver aboard moving ships, aircraft, or land vehicles.  Also,! the position averaging algorithm does not take into account boundary! conditions, so operation very near the international date line or the! poles is not recommended.    <p><h4>Monitor Data</h4>    <p>The driver writes each timecode as received to the--- 27,52 ----  <p>This driver supports all compatible receivers such as the 6-channel  MX 4200, MX 4200D, and the 12-channel MX 9212, MX 9012R, MX 9112.  ! <p><h4>Operating Modes</h4>  + <p>This driver supports two modes of operation, static and mobile,+ controlled by clock flag 2.+ + <p>In static mode (the default) the driver assumes that the GPS antenna+ is in a fixed location.  The receiver is initially placed in a "Static,+ 3D Nav" mode, where latitude, longitude, elevation and time are+ calculated for a fixed station.  A DOP-weighted running average position+ is calculated from this data.  After 24 hours, the receiver is placed+ into a "Known Position" mode, initialized with the calculated position,+ and then solves only for time.  The position averaging algorithm does+ not take into account boundary conditions, so this mode of operation+ very near the international date line or the poles is not recommended.+ + <p>In mobile mode, the driver assumes the GPS antenna is mounted on+ a moving platform such as a car, ship, or aircraft.  The receiver is+ placed in "Dynamic, 3D Nav" mode and solves for position, altitude and+ time while moving.  No position averaging is performed.+   <p><h4>Monitor Data</h4>    <p>The driver writes each timecode as received to the****************** 69,78 ****  <dd>Not used by this driver.    <p><dt><code>flag2 0 | 1</code>! <dd>Not used by this driver.    <p><dt><code>flag3 0 | 1</code>! <dd>Enable <code>ppsclock</code> line discipline/streams module if set.    <p><dt><code>flag4 0 | 1</code>  <dd>Not used by this driver.--- 76,85 ----  <dd>Not used by this driver.    <p><dt><code>flag2 0 | 1</code>! <dd>Assume GPS receiver is on a mobile platform if set.    <p><dt><code>flag3 0 | 1</code>! <dd>Not used by this driver.    <p><dt><code>flag4 0 | 1</code>  <dd>Not used by this driver.--PART-BOUNDARY=.19703181300.ZM17248.london.waii.comX-Zm-Content-Name: refclock_mx4200.c.diffContent-Description: TextContent-Type: text/plain ; name="refclock_mx4200.c.diff" ; charset=us-ascii*** refclock_mx4200.c.orig	Wed Feb 19 04:37:48 1997--- xntpd/refclock_mx4200.c	Tue Mar 18 12:04:39 1997****************** 98,109 ****  #define	DESCRIPTION	"Magnavox MX4200 GPS Receiver" /* who we are */  #define	DEFFUDGETIME	0	/* default fudge time (ms) */    /*   * Position Averaging.   * Reference: Dr. Thomas A. Clark's Totally Accurate Clock (TAC) files at   * ftp://aleph.gsfc.nasa.gov/GPS/totally.accurate.clock/   */- #define MAX_VEL_SQUARED	(1.0)	/* Maximum acceptable velocity (squared) (m/s)*/  #define INTERVAL	1	/* Interval between position measurements (s) */  #define AVGING_TIME	24	/* Number of hours to average */  #define USUAL_EDOP	0.75	/* used for normalizing EDOP */--- 98,110 ----  #define	DESCRIPTION	"Magnavox MX4200 GPS Receiver" /* who we are */  #define	DEFFUDGETIME	0	/* default fudge time (ms) */  + #define	SLEEPTIME	32	/* seconds to wait for reconfig to complete */+   /*   * Position Averaging.   * Reference: Dr. Thomas A. Clark's Totally Accurate Clock (TAC) files at   * ftp://aleph.gsfc.nasa.gov/GPS/totally.accurate.clock/   */  #define INTERVAL	1	/* Interval between position measurements (s) */  #define AVGING_TIME	24	/* Number of hours to average */  #define USUAL_EDOP	0.75	/* used for normalizing EDOP */****************** 153,161 ****  	double edop;			/* EDOP (east DOP) */  	double ndop;			/* NDOP (north DOP) */  	double vdop;			/* VDOP (vertical DOP) */! 	u_int  moving;			/* are we moving? */  	u_int  known;			/* position known yet? */  	u_long clamp_time;		/* when to stop postion averaging */  	int    coderecv;		/* total received samples */  	int    nkeep;			/* number of samples to preserve */  	int    rshift;			/* number of rshifts for division */--- 154,165 ----  	double edop;			/* EDOP (east DOP) */  	double ndop;			/* NDOP (north DOP) */  	double vdop;			/* VDOP (vertical DOP) */! 	int    last_leap;		/* leap second warning */! 	u_int  moving;			/* mobile platform? */! 	u_long sloppyclockflag;		/* fudge flags */  	u_int  known;			/* position known yet? */  	u_long clamp_time;		/* when to stop postion averaging */+ 	u_long log_time;		/* when to print receiver status */  	int    coderecv;		/* total received samples */  	int    nkeep;			/* number of samples to preserve */  	int    rshift;			/* number of rshifts for division */****************** 218,224 ****  	register struct mx4200unit *up;  	struct refclockproc *pp;  	int fd;- 	int i;  	char gpsdev[20];    	/*--- 222,227 ----****************** 261,296 ****  	pp->clockdesc = DESCRIPTION;  	memcpy((char *)&pp->refid, REFID, 4);  - 	up->pollcnt  = 2;- 	up->polled   = 0;- 	up->moving   = 0;	/* not moving */- 	up->known    = 0;	/* not moving */- 	up->avg_lat  = 0.0;- 	up->avg_lon  = 0.0;- 	up->avg_alt  = 0.0;- 	up->filt_lat = 0.0;- 	up->filt_lon = 0.0;- 	up->filt_alt = 0.0;- 	up->edop     = USUAL_EDOP;- 	up->ndop     = USUAL_NDOP;- 	up->vdop     = USUAL_VDOP;- 	up->clamp_time = current_time + (AVGING_TIME * 60 * 60);- 	up->coderecv = 0;- 	up->nkeep    = NKEEP;- 	if (up->nkeep > NSAMPLES) up->nkeep = NSAMPLES;- 	if (up->nkeep >=   1) up->rshift =  0;- 	if (up->nkeep >=   2) up->rshift =  1;- 	if (up->nkeep >=   4) up->rshift =  2;- 	if (up->nkeep >=   8) up->rshift =  3;- 	if (up->nkeep >=  16) up->rshift =  4;- 	if (up->nkeep >=  32) up->rshift =  5;- 	if (up->nkeep >=  64) up->rshift =  6;- 	up->nkeep =1;- 	i = up->rshift;- 	while (i > 0) {- 		up->nkeep *= 2;- 		i--;- 	}    	/* Ensure the receiver is properly configured */  	mx4200_config(peer);--- 264,269 ----****************** 323,328 ****--- 296,304 ----  mx4200_config(peer)  	struct peer *peer;  {+ 	char tr_mode;+ 	char add_mode;+ 	int i;  	register struct mx4200unit *up;  	struct refclockproc *pp;  ****************** 330,335 ****--- 306,357 ----  	up = (struct mx4200unit *)pp->unitptr;    	/*+ 	 * Initialize the unit variables+ 	 *+ 	 * STRANGE BEHAVIOUR WARNING: The fudge flags are not available+ 	 * at the time mx4200_start is called.  These are set later,+ 	 * and so the code must be prepared to handle changing flags.+ 	 */+ 	up->sloppyclockflag = pp->sloppyclockflag;+ 	if (pp->sloppyclockflag & CLK_FLAG2) {+ 		up->moving   = 1;	/* Receiver on mobile platform */+ 		msyslog(LOG_DEBUG, "mx4200_config: mobile platform");+ 	} else {+ 		up->moving   = 0;	/* Static Installation */+ 	}+ 	up->pollcnt     = 2;+ 	up->polled      = 0;+ 	up->known       = 0;+ 	up->avg_lat     = 0.0;+ 	up->avg_lon     = 0.0;+ 	up->avg_alt     = 0.0;+ 	up->filt_lat    = 0.0;+ 	up->filt_lon    = 0.0;+ 	up->filt_alt    = 0.0;+ 	up->edop        = USUAL_EDOP;+ 	up->ndop        = USUAL_NDOP;+ 	up->vdop        = USUAL_VDOP;+ 	up->last_leap   = 0;	/* LEAP_NOWARNING */+ 	up->clamp_time  = current_time + (AVGING_TIME * 60 * 60);+ 	up->log_time    = current_time + SLEEPTIME;+ 	up->coderecv    = 0;+ 	up->nkeep       = NKEEP;+ 	if (up->nkeep > NSAMPLES) up->nkeep = NSAMPLES;+ 	if (up->nkeep >=   1) up->rshift = 0;+ 	if (up->nkeep >=   2) up->rshift = 1;+ 	if (up->nkeep >=   4) up->rshift = 2;+ 	if (up->nkeep >=   8) up->rshift = 3;+ 	if (up->nkeep >=  16) up->rshift = 4;+ 	if (up->nkeep >=  32) up->rshift = 5;+ 	if (up->nkeep >=  64) up->rshift = 6;+ 	up->nkeep =1;+ 	i = up->rshift;+ 	while (i > 0) {+ 		up->nkeep *= 2;+ 		i--;+ 	}+ + 	/*  	 * "007" Control Port Configuration  	 * Zero the output list (do it twice to flush possible junk)  	 */****************** 392,400 ****  	 * (Set field 1 'S' == static  if we are not moving).  	 * (Set field 1 'K' == known position if we can initialize lat/lon/alt).  	 */  	mx4200_send(peer, "%s,%03d,%c,%c,%c,%d,%d,%d,", pmvxg,  	    PMVXG_S_TRECOVCONF,! 	    'S',	/* static: solve for pos, alt, time, while stationary */  	    'U',	/* synchronize to UTC */  	    'A',	/* always output a time pulse */  	    500,	/* max time error in ns */--- 414,438 ----  	 * (Set field 1 'S' == static  if we are not moving).  	 * (Set field 1 'K' == known position if we can initialize lat/lon/alt).  	 */+ + 	if (pp->sloppyclockflag & CLK_FLAG2)+ 		up->moving   = 1;	/* Receiver on mobile platform */+ 	else+ 		up->moving   = 0;	/* Static Installation */+ + 	up->pollcnt  = 2;+ 	if (up->moving) {+ 		/* dynamic: solve for pos, alt, time, while moving */+ 		tr_mode = 'D';+ 		add_mode = 0;+ 	} else {+ 		/* static: solve for pos, alt, time, while stationary */+ 		tr_mode = 'S';+ 		add_mode = 1;+ 	}  	mx4200_send(peer, "%s,%03d,%c,%c,%c,%d,%d,%d,", pmvxg,  	    PMVXG_S_TRECOVCONF,! 	    tr_mode,	/* time recovery mode (see above ) */  	    'U',	/* synchronize to UTC */  	    'A',	/* always output a time pulse */  	    500,	/* max time error in ns */****************** 403,421 ****  			/* Multi-satellite mode */    	/*! 	 * "007" Control Port Configuration! 	 * Output "004" mode data  	 */! 	mx4200_send(peer, "%s,%03d,%03d,%d,%d,,%d,,,", pmvxg,! 	    PMVXG_S_PORTCONF,! 	    PMVXG_D_MODEDATA, /* control port output block Label */! 	    0,		/* clear current output control list (0=no) */! 	    1,		/* add/delete sentences from list (1=add) */! 			/* must be null */! 	    INTERVAL*10);/* sentence output rate (sec) */! 	    		/* precision for position output */! 			/* nmea version for cga & gll output */! 			/* pass-through control */    	/*  	 * "007" Control Port Configuration--- 441,454 ----  			/* Multi-satellite mode */    	/*! 	 * Output position information (to calculate fixed installation! 	 * location) only if we are not moving  	 */! 	if (up->moving) {! 		add_mode = 0;	/* delete from list */! 	} else {! 		add_mode = 1;	/* add to list */! 	}    	/*  	 * "007" Control Port Configuration****************** 425,431 ****  	    PMVXG_S_PORTCONF,  	    PMVXG_D_DOPS, /* control port output block Label */  	    0,		/* clear current output control list (0=no) */! 	    1,		/* add/delete sentences from list (1=add) */  			/* must be null */  	    INTERVAL);	/* sentence output rate (sec) */  	    		/* precision for position output */--- 458,464 ----  	    PMVXG_S_PORTCONF,  	    PMVXG_D_DOPS, /* control port output block Label */  	    0,		/* clear current output control list (0=no) */! 	    add_mode,	/* add/delete sentences from list (1=add) */  			/* must be null */  	    INTERVAL);	/* sentence output rate (sec) */  	    		/* precision for position output */****************** 432,451 ****  			/* nmea version for cga & gll output */  			/* pass-through control */  - 	/*- 	 * "007" Control Port Configuration- 	 * Output "523" time recovery parameters currently in use- 	 */- 	mx4200_send(peer, "%s,%03d,%03d,%d,%d,,%d,,,", pmvxg,- 	    PMVXG_S_PORTCONF,- 	    PMVXG_D_TRECOVUSEAGE, /* control port output block Label */- 	    0,		/* clear current output control list (0=no) */- 	    1,		/* add/delete sentences from list (1=add) */- 			/* must be null */- 	    INTERVAL*10); /* sentence output rate (sec) */- 	    		/* precision for position output */- 			/* nmea version for cga & gll output */- 			/* pass-through control */    	/*  	 * "007" Control Port Configuration--- 465,470 ----****************** 455,468 ****  	    PMVXG_S_PORTCONF,  	    PMVXG_D_PHV, /* control port output block Label */  	    0,		/* clear current output control list (0=no) */! 	    1,		/* add/delete sentences from list (1=add) */  			/* must be null */  	    INTERVAL);	/* sentence output rate (sec) */  	    		/* precision for position output */  			/* nmea version for cga & gll output */  			/* pass-through control */- -   }    /*--- 474,485 ----  	    PMVXG_S_PORTCONF,  	    PMVXG_D_PHV, /* control port output block Label */  	    0,		/* clear current output control list (0=no) */! 	    add_mode,	/* add/delete sentences from list (1=add) */  			/* must be null */  	    INTERVAL);	/* sentence output rate (sec) */  	    		/* precision for position output */  			/* nmea version for cga & gll output */  			/* pass-through control */  }    /******************* 481,486 ****--- 498,511 ----  	pp = peer->procptr;  	up = (struct mx4200unit *)pp->unitptr;  + 	/* Should never happen! */+ 	if (up->moving) return;+ + 	/*+ 	 * Set up to output status information in the near future+ 	 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -