From 9b12594ed0ce769d923a3b4f4d42c3b25caa87d3 Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Tue, 13 Dec 2022 15:25:52 +0100 Subject: [PATCH] tsip: configure and enable 1PPS Rebase of gpsd-tsip-pps.patch we have been carrying: From www/time-service-intro.adoc: > GPS enables receivers to generate a pulse-per-second > signal ("1PPS" or just "PPS") accurate to the top of the current > UTC second within 50 ns. --- drivers/driver_tsip.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/driver_tsip.c b/drivers/driver_tsip.c index 57b97513c..673bbef7e 100644 --- a/drivers/driver_tsip.c +++ b/drivers/driver_tsip.c @@ -4288,6 +4288,26 @@ void configuration_packets_generic(struct gps_device_t *session) /* Primary Receiver Configuration Parameters Request (0xbb-00) * returns Primary Receiver Configuration Block (0xbb-00) */ (void)tsip_write1(session, "\xbb\x00", 2); + + GPSD_LOG(LOG_PROG, &session->context->errout, + "Configuring + Enabling 1PPS\n"); + /* enable 1pps */ + putbyte(buf, 0, 0x8e); + putbyte(buf, 1, 0x4a); + putbyte(buf, 2, 0x01); + (void)tsip_write1(session, buf, 3); + + /* request PPS only if at least one sat is visible */ + putbyte(buf, 0, 0x8e); + putbyte(buf, 1, 0x4e); + putbyte(buf, 2, 0x03); + (void)tsip_write1(session, buf, 3); + + /* request PPS and TSIP to use UTC time, not GPS */ + putbyte(buf, 0, 0x8e); + putbyte(buf, 1, 0xa2); + putbyte(buf, 2, 0x03); + (void)tsip_write1(session, buf, 3); } /* configure Acutime Gold to a known state */ -- 2.34.1