Lines Matching +full:revision +full:- +full:id

2 …* /src/NTP/REPOSITORY/ntp4-dev/libparse/clk_trimtsip.c,v 4.19 2009/11/01 10:47:49 kardel RELEASE_2…
9 * Copyright (c) 1995-2009 by Frank Kardel <kardel <AT> ntp.org>
10 …* Copyright (c) 1989-1994 by Frank Kardel, Friedrich-Alexander Universitaet Erlangen-Nuernberg, Ge…
72 * <DLE><id> ... <data> ... <DLE><ETX>
76 * the values of data bytes can be anything. The serial interface is RS-422
88 * ID Description
94 * All others are accepted but ignored for time conversion - they are passed up to higher layers.
107 u_short t_gpsutc; /* GPS - UTC offset */
143 struct trimble *t = (struct trimble *)parseio->parse_pdata; in inp_tsip()
146 return PARSE_INP_SKIP; /* local data not allocated - sigh! */ in inp_tsip()
148 if (!t->t_in_pkt && ch != DLE) { in inp_tsip()
153 if ((parseio->parse_index >= (parseio->parse_dsize - 2)) || in inp_tsip()
154 (parseio->parse_dtime.parse_msglen >= (sizeof(parseio->parse_dtime.parse_msg) - 2))) in inp_tsip()
155 { /* OVERFLOW - DROP! */ in inp_tsip()
156 t->t_in_pkt = t->t_dle = 0; in inp_tsip()
157 parseio->parse_index = 0; in inp_tsip()
158 parseio->parse_dtime.parse_msglen = 0; in inp_tsip()
164 if (!t->t_in_pkt) { in inp_tsip()
165 t->t_dle = 0; in inp_tsip()
166 t->t_in_pkt = 1; in inp_tsip()
167 parseio->parse_index = 0; in inp_tsip()
168 parseio->parse_data[parseio->parse_index++] = ch; in inp_tsip()
169 parseio->parse_dtime.parse_msglen = 0; in inp_tsip()
170 parseio->parse_dtime.parse_msg[parseio->parse_dtime.parse_msglen++] = ch; in inp_tsip()
171 parseio->parse_dtime.parse_stime = *tstamp; /* pick up time stamp at packet start */ in inp_tsip()
172 } else if (t->t_dle) { in inp_tsip()
173 /* Double DLE -> insert a DLE */ in inp_tsip()
174 t->t_dle = 0; in inp_tsip()
175 parseio->parse_data[parseio->parse_index++] = DLE; in inp_tsip()
176 parseio->parse_dtime.parse_msg[parseio->parse_dtime.parse_msglen++] = DLE; in inp_tsip()
178 t->t_dle = 1; in inp_tsip()
182 if (t->t_dle) { in inp_tsip()
183 /* DLE,ETX -> end of packet */ in inp_tsip()
184 parseio->parse_data[parseio->parse_index++] = DLE; in inp_tsip()
185 parseio->parse_data[parseio->parse_index] = ch; in inp_tsip()
186 parseio->parse_ldsize = (u_short) (parseio->parse_index + 1); in inp_tsip()
187 memcpy(parseio->parse_ldata, parseio->parse_data, parseio->parse_ldsize); in inp_tsip()
188 parseio->parse_dtime.parse_msg[parseio->parse_dtime.parse_msglen++] = DLE; in inp_tsip()
189 parseio->parse_dtime.parse_msg[parseio->parse_dtime.parse_msglen++] = ch; in inp_tsip()
190 t->t_in_pkt = t->t_dle = 0; in inp_tsip()
196 t->t_dle = 0; in inp_tsip()
197 parseio->parse_data[parseio->parse_index++] = ch; in inp_tsip()
198 parseio->parse_dtime.parse_msg[parseio->parse_dtime.parse_msglen++] = ch; in inp_tsip()
230 clock_time->flags = 0; in cvt_trimtsip()
233 return CVT_NONE; /* local data not allocated - sigh! */ in cvt_trimtsip()
238 (buffer[size-1] != ETX) || in cvt_trimtsip()
239 (buffer[size-2] != DLE)) in cvt_trimtsip()
263 (t->t_utcknown == 0)) in cvt_trimtsip()
265 clock_time->flags = PARSEB_POWERUP; in cvt_trimtsip()
284 clock_time->utctime = gpstime.l_ui - JAN_1970; in cvt_trimtsip()
286 TSFTOTVU(gpstime.l_uf, clock_time->usecond); in cvt_trimtsip()
288 if (t->t_leap == ADDSECOND) in cvt_trimtsip()
289 clock_time->flags |= PARSEB_LEAPADD; in cvt_trimtsip()
291 if (t->t_leap == DELSECOND) in cvt_trimtsip()
292 clock_time->flags |= PARSEB_LEAPDEL; in cvt_trimtsip()
294 switch (t->t_operable) in cvt_trimtsip()
297 clock_time->flags &= ~(PARSEB_POWERUP|PARSEB_NOSYNC); in cvt_trimtsip()
301 clock_time->flags |= PARSEB_NOSYNC; in cvt_trimtsip()
305 clock_time->flags |= PARSEB_NOSYNC|PARSEB_POWERUP; in cvt_trimtsip()
309 if (t->t_mode == 0) in cvt_trimtsip()
310 clock_time->flags |= PARSEB_POSITION; in cvt_trimtsip()
312 clock_time->flags |= PARSEB_S_LEAP|PARSEB_S_POSITION; in cvt_trimtsip()
326 t->t_operable = STATUS_SYNC; in cvt_trimtsip()
332 t->t_operable = STATUS_UNSAFE; in cvt_trimtsip()
336 t->t_operable = STATUS_BAD; in cvt_trimtsip()
339 t->t_mode = status; in cvt_trimtsip()
348 /* UTC correction data - derive a leap warning */ in cvt_trimtsip()
349 …int tls = t->t_gpsutc = (u_short) getshort((unsigned char *)&mb(12)); /* current leap correc… in cvt_trimtsip()
350 …int tlsf = t->t_gpsutcleap = (u_short) getshort((unsigned char *)&mb(24)); /* new leap correction… in cvt_trimtsip()
352 t->t_weekleap = basedate_expand_gpsweek( in cvt_trimtsip()
355 …t->t_dayleap = (u_short) getshort((unsigned char *)&mb(22)); /* day in week of leap correction … in cvt_trimtsip()
356 t->t_week = basedate_expand_gpsweek( in cvt_trimtsip()
363 t->t_utcknown = t0t.l_ui != 0; in cvt_trimtsip()
365 if ((t->t_utcknown) && /* got UTC information */ in cvt_trimtsip()
367 ((t->t_weekleap - t->t_week) < 5)) /* and close in the future */ in cvt_trimtsip()
371 t->t_leap = ADDSECOND; in cvt_trimtsip()
373 t->t_leap = DELSECOND; in cvt_trimtsip()
377 t->t_leap = 0; in cvt_trimtsip()
398 * Revision 4.19 2009/11/01 10:47:49 kardel
399 * de-P()
401 * Revision 4.18 2009/11/01 08:46:46 kardel
404 * Revision 4.17 2005/04/16 17:32:10 kardel
407 * Revision 4.16 2004/11/14 15:29:41 kardel
410 * Revision 4.13 1999/11/28 09:13:51 kardel
413 * Revision 4.12 1999/02/28 13:00:08 kardel
416 * Revision 4.11 1999/02/28 11:47:54 kardel
421 * Revision 4.10 1999/02/27 15:57:15 kardel
424 * Revision 4.9 1999/02/21 12:17:42 kardel
427 * Revision 4.8 1998/11/15 20:27:58 kardel
430 * Revision 4.7 1998/08/16 18:49:20 kardel
434 * Revision 4.6 1998/08/09 22:26:05 kardel
437 * Revision 4.5 1998/08/02 10:37:05 kardel
440 * Revision 4.4 1998/06/28 16:50:40 kardel
446 * Revision 4.3 1998/06/13 12:07:31 kardel
449 * Revision 4.2 1998/06/12 15:22:30 kardel
452 * Revision 4.1 1998/05/24 09:39:54 kardel
455 * Revision 4.0 1998/04/10 19:45:32 kardel