diff --git a/tests/test_data/Centaur-sample/SOH/XX.3734.SOH.centaur-3_3734..20180817_000000.miniseed.miniseed b/tests/test_data/Centaur-sample/SOH/XX.3734.SOH.centaur-3_3734..20180817_000000.miniseed.miniseed
new file mode 100755
index 0000000000000000000000000000000000000000..68d9589faa7b26d61e185572f02d4a53e9a1cbc6
Binary files /dev/null and b/tests/test_data/Centaur-sample/SOH/XX.3734.SOH.centaur-3_3734..20180817_000000.miniseed.miniseed differ
diff --git a/tests/test_data/Pegasus-sample/Pegasus_SVC4/logs/2020/XX/KC01/XX.KC01...D.2020.129 b/tests/test_data/Pegasus-sample/Pegasus_SVC4/logs/2020/XX/KC01/XX.KC01...D.2020.129
new file mode 100755
index 0000000000000000000000000000000000000000..4c581f4d3fabd55bf54a83fdb910000da1cd2c3a
--- /dev/null
+++ b/tests/test_data/Pegasus-sample/Pegasus_SVC4/logs/2020/XX/KC01/XX.KC01...D.2020.129
@@ -0,0 +1,800 @@
+2020-05-08 22:55:45.390 UTC: I(Initializations): Firmware version: 2.1.2
+2020-05-08 22:55:45.402 UTC: I(Initializations): MCU device ID: STM32H742, STM32H743/753 and STM32H750 (0x0450)
+2020-05-08 22:55:45.414 UTC: I(Initializations): MCU silicon revision ID: Y (0x1003)
+2020-05-08 22:55:45.421 UTC: I(Initializations|FPGA): V. 00_4D
+2020-05-08 22:55:45.433 UTC: I(Initializations|Reset Reason): SOFTWARE RESET
+2020-05-08 22:55:45.445 UTC: I(Initializations|InitializationsThread): READY
+2020-05-08 22:55:45.453 UTC: I(defaultTask|InitializationsThread): thread ready in 199ms
+2020-05-08 22:55:45.464 UTC: I(defaultTask): start 'SeismicDataWriterThread'
+2020-05-08 22:55:45.472 UTC: I(SeismicDataWrit|SeismicDataWriterThread): RUNNING, priority=High(2)
+2020-05-08 22:55:45.484 UTC: I(SeismicDataWrit|SeismicDataWriterThread): READY
+2020-05-08 22:55:45.496 UTC: I(defaultTask|SeismicDataWriterThread): thread ready in 31ms
+2020-05-08 22:55:45.503 UTC: I(defaultTask): start 'SaiReceiverThread'
+2020-05-08 22:55:45.515 UTC: I(SaiReceiverThre|SaiReceiverThread): RUNNING, priority=Realtime(3)
+2020-05-08 22:55:45.527 UTC: I(SaiReceiverThre): FPGA time set to RTC time: 1588978545 (Fri May  8 22:55:45 2020)
+2020-05-08 22:55:45.539 UTC: I(SaiReceiverThre): Acquisition starting ...
+2020-05-08 22:55:45.546 UTC: I(SaiReceiverThre): Setting channel 1 (enabled=1) sample rate to 100Hz
+2020-05-08 22:55:45.558 UTC: I(SaiReceiverThre): Setting channel 2 (enabled=1) sample rate to 100Hz
+2020-05-08 22:55:45.570 UTC: I(SaiReceiverThre): Setting channel 3 (enabled=1) sample rate to 100Hz
+2020-05-08 22:55:45.578 UTC: I(SaiReceiverThre): Setting channel 4 (enabled=0) sample rate to 0Hz
+2020-05-08 22:55:45.589 UTC: I(SaiReceiverThre): Set 40Vpp [1x] to channels 1, 2, and 3 input gain
+2020-05-08 22:55:45.601 UTC: I(SaiReceiverThre|SaiReceiverThread): READY
+2020-05-08 22:55:45.613 UTC: I(defaultTask|SaiReceiverThread): thread ready in 107ms
+2020-05-08 22:55:45.621 UTC: I(defaultTask): start 'SchedulerThread'
+2020-05-08 22:55:45.632 UTC: I(SchedulerThread|SchedulerThread): RUNNING, priority=Normal(0)
+2020-05-08 22:55:45.648 UTC: I(SchedulerThread): health input recording period = 20 s
+2020-05-08 22:55:45.656 UTC: I(SchedulerThread|SchedulerThread): READY
+2020-05-08 22:55:45.664 UTC: I(defaultTask|SchedulerThread): thread ready in 42ms
+2020-05-08 22:55:45.675 UTC: I(defaultTask): start 'BleProcessorThread'
+2020-05-08 22:55:45.683 UTC: I(BleProcessorThr|BleProcessorThread): RUNNING, priority=Normal(0)
+2020-05-08 22:55:45.695 UTC: I(BleProcessorThr): BleProcessor: hard reset and release on module
+2020-05-08 22:55:45.804 UTC: I(BleProcessorThr|BleProcessorThread): READY
+2020-05-08 22:55:45.812 UTC: I(defaultTask|BleProcessorThread): thread ready in 138ms
+2020-05-08 22:55:45.824 UTC: I(defaultTask): start 'CommandProcessorThread'
+2020-05-08 22:55:45.832 UTC: I(CommandProcesso|CommandProcessorThread): RUNNING, priority=Normal(0)
+2020-05-08 22:55:45.843 UTC: I(CommandProcesso|CommandProcessorThread): READY
+2020-05-08 22:55:45.851 UTC: I(defaultTask|CommandProcessorThread): thread ready in 30ms
+2020-05-08 22:55:45.863 UTC: I(defaultTask): start 'CliThread'
+2020-05-08 22:55:45.878 UTC: I(CliThread|CliThread): RUNNING, priority=Normal(0)
+2020-05-08 22:55:45.886 UTC: I(CliThread|CliThread): READY
+2020-05-08 22:55:45.898 UTC: I(defaultTask|CliThread): thread ready in 35ms
+2020-05-08 22:55:45.906 UTC: I(defaultTask): start 'PowerMonitorThread'
+2020-05-08 22:55:45.917 UTC: I(PowerMonitorThr|PowerMonitorThread): RUNNING, priority=Normal(0)
+2020-05-08 22:55:45.929 UTC: I(PowerMonitorThr|PowerMonitorThread): READY
+2020-05-08 22:55:45.937 UTC: I(defaultTask|PowerMonitorThread): thread ready in 31ms
+2020-05-08 22:55:45.949 UTC: I(defaultTask): start 'HarvesterConnectionHandlerThread'
+2020-05-08 22:55:45.960 UTC: I(HarvesterConnec|HarvesterConnectionHandlerThread): RUNNING, priority=Normal(0)
+2020-05-08 22:55:45.968 UTC: I(HarvesterConnec|HarvesterConnectionHandlerThread): READY
+2020-05-08 22:55:45.980 UTC: I(defaultTask|HarvesterConnectionHandlerThread): thread ready in 32ms
+2020-05-08 22:55:45.992 UTC: I(defaultTask): start 'TimingThread'
+2020-05-08 22:55:46.003 UTC: I(TimingThread|TimingThread): RUNNING, priority=Normal(0)
+2020-05-08 22:55:46.011 UTC: I(TimingThread|init): enter, initial duty cycle is Timing_Uncertainty
+2020-05-08 22:55:46.023 UTC: I(gnssReceiver): start serial rx
+2020-05-08 22:55:46.031 UTC: I(TimingThread): VCXO=Abracon
+2020-05-08 22:55:46.042 UTC: I(TimingThread|TimingThread): READY
+2020-05-08 22:55:46.054 UTC: I(defaultTask|TimingThread): thread ready in 63ms
+2020-05-08 22:55:46.062 UTC: I(defaultTask): 11 out of 11 threads launched
+2020-05-08 22:55:46.152 UTC: I(gnssProcessor): wait for startup messages
+2020-05-08 22:55:46.164 UTC: I(SchedulerThread|SohAdc): SOH input mux delay = 150 ms
+2020-05-08 22:55:46.871 UTC: I(BleProcessorThr): BLE application boot successful (major=2,minor=10,patch=0,build=385,bootloader=0x01090002,hw=1,hash=0x6b79d6d1)
+2020-05-08 22:55:46.875 UTC: I(BleProcessorThr): Requesting BLE TX power: -3.0 dBm
+2020-05-08 22:55:46.886 UTC: I(BleProcessorThr): Set BLE TX power to -3.0 dBm
+2020-05-08 22:55:46.898 UTC: I(BleProcessorThr): advertised device name: Pegasus 000286
+2020-05-08 22:55:46.910 UTC: I(BleProcessorThr): BLE channel map set to (7)
+2020-05-08 22:55:46.957 UTC: I(gnssProcessor): startup msgs rx'd; elapsed=805ms
+2020-05-08 22:55:47.101 UTC: I(BleProcessorThr|gecko_evt_le_connection_opened_id): address=3A:A5:4E:7F:FC:69, connection=1
+2020-05-08 22:55:47.121 UTC: I(BleProcessorThr|gecko_evt_le_connection_parameters_id): connection: 1, latency: 0, timeout: 72, interval: 30.00 ms, txsize: 27
+2020-05-08 22:55:47.128 UTC: I(BleProcessorThr|gecko_evt_le_connection_phy_status_id): connection: 1, phy: 1
+2020-05-08 22:55:47.156 UTC: I(TimingThread|init): GNSS engine is ready
+2020-05-08 22:55:47.160 UTC: I(TimingThread): using external antenna
+2020-05-08 22:55:47.203 UTC: I(BleProcessorThr|gecko_evt_gatt_mtu_exchanged_id): mtu: 185
+2020-05-08 22:55:47.257 UTC: I(Tmr Svc|Sensor): Sensor powered ON
+2020-05-08 22:55:47.308 UTC: I(gnssReceiver): V13-2.2.3-STD-3.8.16-N96-800300
+2020-05-08 22:55:48.167 UTC: I(TimingThread): Select GNSS constellations: GPS=1, GLONASS=0, Galileo=0(full=0), BeiDou=0, QZSS=0
+2020-05-08 22:55:48.433 UTC: I(TimingThread): Configure: default behavior
+2020-05-08 22:55:48.437 UTC: I(TimingThread|init): exit
+2020-05-08 22:55:48.449 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-08 22:55:48.464 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-08 22:55:58.441 UTC: I(TimingThread|ClockValidator): GNSS time valid after 9991ms
+2020-05-08 22:55:58.449 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=29, residual=-2.08515e+07 counts (-1.08601e+06 us)
+2020-05-08 22:55:59.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=28, residual=-2.08515e+07 counts (-1.08601e+06 us)
+2020-05-08 22:56:00.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=27, residual=-2.08515e+07 counts (-1.08601e+06 us)
+2020-05-08 22:56:01.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=26, residual=-2.08515e+07 counts (-1.08601e+06 us)
+2020-05-08 22:56:02.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=25, residual=-2.08515e+07 counts (-1.08601e+06 us)
+2020-05-08 22:56:03.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=24, residual=-2.08515e+07 counts (-1.08601e+06 us)
+2020-05-08 22:56:04.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=23, residual=-2.08515e+07 counts (-1.08601e+06 us)
+2020-05-08 22:56:05.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=22, residual=-2.08515e+07 counts (-1.08601e+06 us)
+2020-05-08 22:56:06.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=21, residual=-2.08515e+07 counts (-1.08601e+06 us)
+2020-05-08 22:56:07.230 UTC: I(Tmr Svc|Sensor): Setting control line #1 (deassert): [level='High Z', function='XYZ']
+2020-05-08 22:56:07.238 UTC: I(Tmr Svc|Sensor): Setting control line #2 (deassert): [level='High Z', function='Unused']
+2020-05-08 22:56:07.250 UTC: I(Tmr Svc|Sensor): Setting control line #3 (deassert): [level='High Z', function='Unused']
+2020-05-08 22:56:07.257 UTC: I(Tmr Svc|Sensor): Setting control line #4 (deassert): [level='Positive', function='Unused']
+2020-05-08 22:56:07.269 UTC: I(Tmr Svc|Sensor): Control lines configured
+2020-05-08 22:56:07.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=20, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:08.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=19, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:09.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=18, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:10.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=17, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:11.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=16, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:12.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=15, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:13.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=14, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:14.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=13, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:15.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=12, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:16.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=11, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:17.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=10, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:18.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=9, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:19.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=8, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:20.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=7, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:21.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=6, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:22.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=5, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:23.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=4, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:24.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=3, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:25.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=2, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:26.441 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=1, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:27.437 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=0, residual=-2.08515e+07 counts (-1.08602e+06 us)
+2020-05-08 22:56:27.449 UTC: W(TimingThread): FPGA time discontinuity: -2.08515e+07 counts (-1.08602e+06 us) exceeds threshold of 800 us
+2020-05-08 22:56:27.457 UTC: I(TimingThread): Acquisition stopping ...
+2020-05-08 22:56:27.468 UTC: I(TimingThread|ClockValidator): jamset FPGA time to Fri May  8 22:56:29 2020
+2020-05-08 22:56:28.054 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.562s
+2020-05-08 22:56:28.057 UTC: I(TimingThread|discipline): exit
+2020-05-08 22:56:28.069 UTC: I(TimingThread|jamsetting): enter
+2020-05-08 22:56:29.999 UTC: I(TimingThread|jamsetting): exit
+2020-05-08 22:56:30.003 UTC: I(TimingThread): Acquisition starting ...
+2020-05-08 22:56:30.014 UTC: I(TimingThread): Setting channel 1 (enabled=1) sample rate to 100Hz
+2020-05-08 22:56:30.018 UTC: I(TimingThread): Setting channel 2 (enabled=1) sample rate to 100Hz
+2020-05-08 22:56:30.026 UTC: I(TimingThread): Setting channel 3 (enabled=1) sample rate to 100Hz
+2020-05-08 22:56:30.034 UTC: I(TimingThread): Setting channel 4 (enabled=0) sample rate to 0Hz
+2020-05-08 22:56:30.042 UTC: I(TimingThread): Set 40Vpp [1x] to channels 1, 2, and 3 input gain
+2020-05-08 22:56:30.050 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-08 22:56:30.999 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -1 counts (-0.1 us), drift NA
+2020-05-08 22:57:15.995 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +2.900 Hz, converge time = 45 s
+2020-05-08 22:57:16.003 UTC: I(TimingThread|discipline): exit
+2020-05-08 22:57:16.011 UTC: I(TimingThread|freeRun): enter
+2020-05-08 22:57:46.300 UTC: I(PowerMonitorThr|LowVoltageMonitor): Monitoring started (shutdown threshold = 9.00000V, reconnect threshold = 10.00000V)
+2020-05-08 22:58:16.878 UTC: I(TimingThread): timing uncertainty check: heuristic=-3.477, limit=550, max(|deltaT|)=0.127 degC, elapsed=60s, expiry=5400s
+2020-05-08 22:59:17.764 UTC: I(TimingThread): timing uncertainty check: heuristic=-15.270, limit=550, max(|deltaT|)=0.259 degC, elapsed=120s, expiry=4500s
+2020-05-08 23:00:18.647 UTC: I(TimingThread): timing uncertainty check: heuristic=-35.336, limit=550, max(|deltaT|)=0.396 degC, elapsed=180s, expiry=4500s
+2020-05-08 23:01:19.557 UTC: I(TimingThread): timing uncertainty check: heuristic=-63.696, limit=550, max(|deltaT|)=0.533 degC, elapsed=240s, expiry=3600s
+2020-05-08 23:02:20.624 UTC: I(TimingThread): timing uncertainty check: heuristic=-99.383, limit=550, max(|deltaT|)=0.636 degC, elapsed=300s, expiry=3600s
+2020-05-08 23:03:21.698 UTC: I(TimingThread): timing uncertainty check: heuristic=-140.389, limit=550, max(|deltaT|)=0.709 degC, elapsed=360s, expiry=3600s
+2020-05-08 23:04:22.581 UTC: I(TimingThread): timing uncertainty check: heuristic=-184.654, limit=550, max(|deltaT|)=0.744 degC, elapsed=420s, expiry=3600s
+2020-05-08 23:05:23.663 UTC: I(TimingThread): timing uncertainty check: heuristic=-230.688, limit=550, max(|deltaT|)=0.774 degC, elapsed=480s, expiry=3600s
+2020-05-08 23:06:23.936 UTC: I(TimingThread): timing uncertainty check: heuristic=-278.063, limit=550, max(|deltaT|)=0.813 degC, elapsed=540s, expiry=3600s
+2020-05-08 23:07:24.811 UTC: I(TimingThread): timing uncertainty check: heuristic=-329.746, limit=550, max(|deltaT|)=0.885 degC, elapsed=600s, expiry=3600s
+2020-05-08 23:08:25.686 UTC: I(TimingThread): timing uncertainty check: heuristic=-385.918, limit=550, max(|deltaT|)=0.959 degC, elapsed=660s, expiry=3600s
+2020-05-08 23:09:26.733 UTC: I(TimingThread): timing uncertainty check: heuristic=-447.113, limit=550, max(|deltaT|)=1.051 degC, elapsed=720s, expiry=2700s
+2020-05-08 23:10:27.604 UTC: I(TimingThread): timing uncertainty check: heuristic=-513.755, limit=550, max(|deltaT|)=1.139 degC, elapsed=780s, expiry=2700s
+2020-05-08 23:11:28.780 UTC: I(TimingThread): timing uncertainty check: heuristic=-585.724, limit=550, max(|deltaT|)=1.226 degC, elapsed=840s, expiry=2700s
+2020-05-08 23:11:28.788 UTC: I(TimingThread|freeRun): exit
+2020-05-08 23:11:28.800 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-08 23:11:31.948 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-08 23:11:33.944 UTC: I(TimingThread|ClockValidator): GNSS time valid after 2005ms
+2020-05-08 23:11:33.964 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=29, residual=-19271 counts (-1003.7 us)
+2020-05-08 23:11:34.956 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=28, residual=-19271 counts (-1003.7 us)
+2020-05-08 23:11:35.956 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=27, residual=-19272 counts (-1003.75 us)
+2020-05-08 23:11:36.956 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=26, residual=-19272 counts (-1003.75 us)
+2020-05-08 23:11:37.956 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=25, residual=-19272 counts (-1003.75 us)
+2020-05-08 23:11:38.948 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-08 23:11:39.948 UTC: I(TimingThread|ClockValidator): GNSS time valid after 1001ms
+2020-05-08 23:11:39.968 UTC: W(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off abort
+2020-05-08 23:11:40.025 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.054s
+2020-05-08 23:11:40.032 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -72 counts (-3.8 us), drift ~ -15.6 us/hour (measured over 864 s)
+2020-05-08 23:11:40.044 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.083 Hz
+2020-05-08 23:12:35.005 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.033 Hz, converge time = 55 s
+2020-05-08 23:12:35.013 UTC: I(TimingThread|discipline): exit
+2020-05-08 23:12:35.028 UTC: I(TimingThread|freeRun): enter
+2020-05-08 23:13:35.587 UTC: I(TimingThread): timing uncertainty check: heuristic=-2.119, limit=550, max(|deltaT|)=0.072 degC, elapsed=60s, expiry=6300s
+2020-05-08 23:14:36.735 UTC: I(TimingThread): timing uncertainty check: heuristic=-7.927, limit=550, max(|deltaT|)=0.124 degC, elapsed=120s, expiry=6300s
+2020-05-08 23:15:37.603 UTC: I(TimingThread): timing uncertainty check: heuristic=-16.773, limit=550, max(|deltaT|)=0.172 degC, elapsed=180s, expiry=5400s
+2020-05-08 23:16:38.681 UTC: I(TimingThread): timing uncertainty check: heuristic=-28.718, limit=550, max(|deltaT|)=0.226 degC, elapsed=240s, expiry=5400s
+2020-05-08 23:17:39.052 UTC: I(TimingThread): timing uncertainty check: heuristic=-43.296, limit=550, max(|deltaT|)=0.270 degC, elapsed=300s, expiry=4500s
+2020-05-08 23:18:39.915 UTC: I(TimingThread): timing uncertainty check: heuristic=-60.745, limit=550, max(|deltaT|)=0.311 degC, elapsed=360s, expiry=4500s
+2020-05-08 23:19:40.786 UTC: I(TimingThread): timing uncertainty check: heuristic=-80.623, limit=550, max(|deltaT|)=0.346 degC, elapsed=420s, expiry=4500s
+2020-05-08 23:20:08.915 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:20:09.048 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:20:09.095 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 5 retries
+2020-05-08 23:20:09.157 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:20:09.255 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:20:09.353 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:20:09.423 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:20:09.450 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:20:09.517 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:20:09.575 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:20:09.634 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:20:09.661 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:20:09.689 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:20:09.817 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 8 retries
+2020-05-08 23:20:09.845 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:20:09.911 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:20:09.931 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:20:21.540 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:20:21.638 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:20:41.653 UTC: I(TimingThread): timing uncertainty check: heuristic=-102.554, limit=550, max(|deltaT|)=0.380 degC, elapsed=480s, expiry=4500s
+2020-05-08 23:21:42.646 UTC: I(TimingThread): timing uncertainty check: heuristic=-126.303, limit=550, max(|deltaT|)=0.406 degC, elapsed=540s, expiry=4500s
+2020-05-08 23:21:43.466 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:43.739 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:43.837 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:43.853 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:21:43.939 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:21:44.009 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:21:44.107 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:44.204 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:44.302 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:44.400 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:44.427 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:44.513 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:21:44.540 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:44.638 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:44.735 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:44.833 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:44.931 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:45.028 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:45.056 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:45.110 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:21:45.138 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:45.235 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:45.263 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:45.357 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:45.446 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:21:45.474 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:45.536 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:21:45.595 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:21:45.626 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:45.685 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:21:45.782 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:45.880 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:45.896 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:21:45.993 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:46.044 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 5 retries
+2020-05-08 23:21:46.071 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:46.107 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:21:46.138 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:46.165 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:46.220 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:21:46.259 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:21:46.357 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:46.372 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:21:46.400 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:46.439 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:21:46.536 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:46.552 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:21:46.650 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:46.708 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:21:46.794 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:21:46.853 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:21:46.884 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:46.907 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:47.005 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:47.107 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:47.204 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:47.278 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:21:47.306 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:47.333 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:47.360 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:47.458 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:47.485 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:47.513 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:47.540 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:47.634 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:47.661 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:47.696 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:21:47.728 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:47.814 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:21:47.849 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:21:47.876 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:47.903 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:47.931 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:47.966 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:21:47.993 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:48.021 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:48.110 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 8 retries
+2020-05-08 23:21:48.138 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:48.173 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:21:48.200 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:48.298 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:48.325 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:48.360 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:21:48.509 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:21:48.595 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:21:48.622 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:48.650 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:48.743 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:48.771 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:48.798 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:49.071 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:21:49.376 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:21:57.958 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:21:58.235 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:58.314 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 8 retries
+2020-05-08 23:21:58.380 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:21:58.400 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:21:58.435 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:21:58.466 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:58.552 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:21:58.579 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:58.732 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:58.829 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:58.915 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:21:58.946 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:59.001 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:21:59.032 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:59.067 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:21:59.091 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:59.181 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:21:59.216 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:21:59.314 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:59.392 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 8 retries
+2020-05-08 23:21:59.419 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:59.485 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:21:59.513 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:21:59.552 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:21:59.650 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:59.669 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:21:59.763 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:59.860 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:21:59.958 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:00.060 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:00.118 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:22:00.146 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:00.169 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:00.196 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:00.294 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:00.353 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:22:00.450 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:00.509 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:22:00.536 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:00.634 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:00.650 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:22:00.689 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:22:00.775 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:22:00.806 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:00.900 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:00.919 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:22:00.982 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:22:01.013 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:01.107 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:01.134 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:01.161 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:01.228 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:22:01.325 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:01.400 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 8 retries
+2020-05-08 23:22:01.497 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:01.556 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:22:01.614 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:22:01.704 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:22:01.732 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:01.767 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:22:01.794 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:01.880 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:22:01.919 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:22:01.974 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:22:02.075 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:02.173 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:02.239 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:22:02.271 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:02.364 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:02.392 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:02.478 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:22:02.513 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:22:02.540 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:02.575 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:22:02.661 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:22:02.720 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:22:02.751 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:02.817 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:22:02.876 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:22:02.903 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:02.927 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:02.993 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:22:03.025 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:03.052 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:03.079 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:03.107 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:03.196 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:22:03.235 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:22:03.267 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:03.353 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:22:03.384 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:28.126 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:22:28.165 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:22:28.263 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:28.360 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:28.458 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:28.556 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:28.653 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:28.751 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:28.849 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:28.946 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:29.044 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:29.091 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 5 retries
+2020-05-08 23:22:29.189 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:29.267 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 8 retries
+2020-05-08 23:22:29.360 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:29.458 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:29.560 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:29.657 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:29.685 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:29.778 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:29.876 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:29.974 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:30.071 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:30.110 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:22:30.138 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:30.224 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:22:30.325 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:30.423 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:30.521 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:22:30.595 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 8 retries
+2020-05-08 23:22:30.614 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:22:30.681 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:22:30.739 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:22:30.771 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:30.798 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:30.833 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:22:30.860 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:30.884 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:30.900 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:22:30.915 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:22:30.954 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:22:30.982 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:31.009 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:31.036 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:31.067 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:22:31.103 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:22:43.775 UTC: I(TimingThread): timing uncertainty check: heuristic=-151.707, limit=550, max(|deltaT|)=0.436 degC, elapsed=600s, expiry=4500s
+2020-05-08 23:23:44.673 UTC: I(TimingThread): timing uncertainty check: heuristic=-178.411, limit=550, max(|deltaT|)=0.452 degC, elapsed=660s, expiry=4500s
+2020-05-08 23:24:45.775 UTC: I(TimingThread): timing uncertainty check: heuristic=-206.253, limit=550, max(|deltaT|)=0.472 degC, elapsed=720s, expiry=4500s
+2020-05-08 23:25:46.669 UTC: I(TimingThread): timing uncertainty check: heuristic=-235.242, limit=550, max(|deltaT|)=0.487 degC, elapsed=780s, expiry=4500s
+2020-05-08 23:26:46.872 UTC: I(TimingThread): timing uncertainty check: heuristic=-264.634, limit=550, max(|deltaT|)=0.501 degC, elapsed=840s, expiry=3600s
+2020-05-08 23:27:47.755 UTC: I(TimingThread): timing uncertainty check: heuristic=-295.341, limit=550, max(|deltaT|)=0.519 degC, elapsed=900s, expiry=3600s
+2020-05-08 23:28:48.696 UTC: I(TimingThread): timing uncertainty check: heuristic=-326.954, limit=550, max(|deltaT|)=0.532 degC, elapsed=960s, expiry=3600s
+2020-05-08 23:29:49.673 UTC: I(TimingThread): timing uncertainty check: heuristic=-359.489, limit=550, max(|deltaT|)=0.544 degC, elapsed=1020s, expiry=3600s
+2020-05-08 23:30:29.169 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:30:29.267 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:29.317 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 5 retries
+2020-05-08 23:30:29.349 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:29.435 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:30:29.470 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:30:29.501 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:29.587 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:30:29.614 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:29.650 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:30:29.681 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:29.771 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:30:29.868 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:29.966 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:30.064 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:30.161 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:30.263 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:30.360 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:30.458 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:30.517 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:30:30.544 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:30.579 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:30:30.610 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:30.634 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:30.669 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:30:30.696 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:30.724 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:30.821 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:30.880 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:30:30.907 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:30.997 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:30:31.032 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:30:31.052 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:30:31.091 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:30:31.118 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:31.173 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:30:31.204 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:31.267 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:30:31.294 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:31.333 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:30:31.419 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:30:31.450 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:31.567 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:30:31.708 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:31.810 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:31.868 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:30:31.896 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:31.923 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:30:31.958 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:30:32.228 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:30:32.407 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:32.505 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:32.552 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 5 retries
+2020-05-08 23:30:32.622 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:30:32.650 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:32.735 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:30:32.825 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:30:32.860 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:30:32.884 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:30:32.978 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:33.075 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:33.173 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:33.189 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:30:33.216 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:33.243 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:33.337 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:33.364 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:33.400 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:30:33.431 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:33.517 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:30:33.544 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:33.638 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:33.739 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:33.837 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:33.935 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:33.962 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:30:34.001 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:30:34.099 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:34.196 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:34.235 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:30:34.337 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:34.435 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:34.532 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:34.630 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:34.728 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:34.825 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:34.923 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:35.021 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:35.118 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:35.212 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:35.310 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:35.407 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:35.505 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:35.603 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:35.700 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:35.798 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:35.896 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:35.997 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:36.095 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:36.192 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:36.290 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:36.388 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:30:36.392 UTC: I(BleProcessorThr|gecko_evt_le_connection_closed_id): connection=1, reason=0x0208
+2020-05-08 23:30:50.677 UTC: I(TimingThread): timing uncertainty check: heuristic=-392.812, limit=550, max(|deltaT|)=0.557 degC, elapsed=1080s, expiry=3600s
+2020-05-08 23:31:06.575 UTC: I(BleProcessorThr|gecko_evt_le_connection_opened_id): address=37:41:5E:B1:E1:7D, connection=1
+2020-05-08 23:31:06.595 UTC: I(BleProcessorThr|gecko_evt_le_connection_parameters_id): connection: 1, latency: 0, timeout: 72, interval: 30.00 ms, txsize: 27
+2020-05-08 23:31:06.603 UTC: I(BleProcessorThr|gecko_evt_le_connection_phy_status_id): connection: 1, phy: 1
+2020-05-08 23:31:06.720 UTC: I(BleProcessorThr|gecko_evt_gatt_mtu_exchanged_id): mtu: 185
+2020-05-08 23:31:28.001 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:28.099 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:28.200 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:28.298 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:28.396 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:28.497 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:28.595 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:28.692 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:28.790 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:28.825 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:31:28.864 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:31:28.966 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:29.044 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 8 retries
+2020-05-08 23:31:29.071 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:31:29.099 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:31:29.134 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:31:29.192 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:31:29.220 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:31:29.247 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:31:29.345 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:29.442 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:29.540 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:29.638 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:29.673 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:31:29.704 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:31:29.759 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:31:29.786 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:31:29.880 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:29.939 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:31:30.001 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:31:30.028 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:31:30.064 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:31:30.095 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:31:30.122 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:31:30.146 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:31:30.239 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:30.267 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:31:30.364 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:30.419 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:31:30.509 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:31:30.610 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:30.657 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 5 retries
+2020-05-08 23:31:30.685 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:31:30.782 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:30.880 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:30.931 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 5 retries
+2020-05-08 23:31:31.021 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:31:31.118 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:31.196 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 8 retries
+2020-05-08 23:31:31.290 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:31.380 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:31:31.407 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:31:31.505 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:31.603 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:31.704 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:31.802 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:31.857 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:31:31.958 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:32.056 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:32.075 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:31:32.161 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:31:32.247 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:31:32.345 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:32.442 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:32.540 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:32.638 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:32.735 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:32.833 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:32.931 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:33.028 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:33.126 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:33.228 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:33.325 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:33.423 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:33.521 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:33.618 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:33.720 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:33.817 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:31:33.825 UTC: I(BleProcessorThr|gecko_evt_le_connection_closed_id): connection=1, reason=0x0208
+2020-05-08 23:31:37.325 UTC: I(BleProcessorThr|gecko_evt_le_connection_opened_id): address=37:41:5E:B1:E1:7D, connection=1
+2020-05-08 23:31:37.341 UTC: I(BleProcessorThr|gecko_evt_le_connection_parameters_id): connection: 1, latency: 0, timeout: 72, interval: 30.00 ms, txsize: 27
+2020-05-08 23:31:37.353 UTC: I(BleProcessorThr|gecko_evt_le_connection_phy_status_id): connection: 1, phy: 1
+2020-05-08 23:31:37.747 UTC: I(BleProcessorThr|gecko_evt_gatt_mtu_exchanged_id): mtu: 185
+2020-05-08 23:31:51.692 UTC: I(TimingThread): timing uncertainty check: heuristic=-426.738, limit=550, max(|deltaT|)=0.566 degC, elapsed=1140s, expiry=3600s
+2020-05-08 23:32:05.232 UTC: I(BleProcessorThr|gecko_evt_le_connection_closed_id): connection=1, reason=0x0208
+2020-05-08 23:32:52.552 UTC: I(TimingThread): timing uncertainty check: heuristic=-461.231, limit=550, max(|deltaT|)=0.575 degC, elapsed=1200s, expiry=3600s
+2020-05-08 23:33:52.958 UTC: I(TimingThread): timing uncertainty check: heuristic=-495.759, limit=550, max(|deltaT|)=0.586 degC, elapsed=1260s, expiry=3600s
+2020-05-08 23:34:53.825 UTC: I(TimingThread): timing uncertainty check: heuristic=-531.717, limit=550, max(|deltaT|)=0.601 degC, elapsed=1320s, expiry=3600s
+2020-05-08 23:35:54.700 UTC: I(TimingThread): timing uncertainty check: heuristic=-568.365, limit=550, max(|deltaT|)=0.616 degC, elapsed=1380s, expiry=3600s
+2020-05-08 23:35:54.708 UTC: I(TimingThread|freeRun): exit
+2020-05-08 23:35:54.716 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-08 23:36:01.915 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=29, residual=-19193 counts (-999.635 us)
+2020-05-08 23:36:02.915 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=28, residual=-19193 counts (-999.635 us)
+2020-05-08 23:36:03.915 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=27, residual=-19193 counts (-999.635 us)
+2020-05-08 23:36:04.915 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=26, residual=-19193 counts (-999.635 us)
+2020-05-08 23:36:05.915 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=25, residual=-19193 counts (-999.635 us)
+2020-05-08 23:36:06.915 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=24, residual=-19193 counts (-999.635 us)
+2020-05-08 23:36:07.915 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=23, residual=-19193 counts (-999.635 us)
+2020-05-08 23:36:08.915 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-08 23:36:09.915 UTC: I(TimingThread|ClockValidator): GNSS time valid after 1002ms
+2020-05-08 23:36:09.923 UTC: W(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off abort
+2020-05-08 23:36:10.019 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.084s
+2020-05-08 23:36:10.026 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +7 counts (+0.4 us), drift ~ +0.9 us/hour (measured over 1415 s)
+2020-05-08 23:36:10.034 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.005 Hz
+2020-05-08 23:36:31.265 UTC: I(BleProcessorThr|gecko_evt_le_connection_opened_id): address=37:41:5E:B1:E1:7D, connection=1
+2020-05-08 23:36:31.284 UTC: I(BleProcessorThr|gecko_evt_le_connection_parameters_id): connection: 1, latency: 0, timeout: 72, interval: 30.00 ms, txsize: 27
+2020-05-08 23:36:31.292 UTC: I(BleProcessorThr|gecko_evt_le_connection_phy_status_id): connection: 1, phy: 1
+2020-05-08 23:36:31.386 UTC: I(BleProcessorThr|gecko_evt_gatt_mtu_exchanged_id): mtu: 185
+2020-05-08 23:36:34.429 UTC: W(BleProcessorThr|BigOpaqueData): Failed to send chunk #6 (total failures = 1)
+2020-05-08 23:36:38.226 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:36:38.347 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 8 retries
+2020-05-08 23:36:38.436 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:36:38.573 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:38.620 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 5 retries
+2020-05-08 23:36:38.718 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:38.733 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:36:38.827 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:38.925 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:39.011 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:36:39.101 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:36:39.186 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:36:39.214 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:39.249 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:36:39.280 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:39.304 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:39.339 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:36:39.366 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:39.401 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:36:39.460 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:36:39.491 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:39.515 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:39.550 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:36:39.581 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:39.679 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:39.726 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 5 retries
+2020-05-08 23:36:39.753 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:39.788 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:36:39.823 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:36:39.901 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 8 retries
+2020-05-08 23:36:39.940 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:36:39.968 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:40.026 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:36:40.061 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:36:40.151 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:36:40.237 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:36:40.296 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:36:40.327 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:40.354 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:40.386 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:36:41.069 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:41.167 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:41.194 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:41.292 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:41.390 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:41.409 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:36:41.433 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:41.499 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:36:41.589 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:36:41.686 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:41.784 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:41.886 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:41.952 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:36:41.979 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:42.077 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:42.093 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:36:42.186 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:42.284 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:42.382 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:42.479 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:42.581 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:42.679 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:42.776 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:42.874 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:42.972 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:43.069 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:43.085 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:36:43.171 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 9 retries
+2020-05-08 23:36:43.269 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:43.296 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:43.354 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:36:43.452 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:43.479 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:43.534 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 6 retries
+2020-05-08 23:36:43.565 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:43.628 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:36:43.659 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:43.753 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:43.831 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 8 retries
+2020-05-08 23:36:43.933 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:44.030 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:44.128 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:44.194 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 7 retries
+2020-05-08 23:36:44.292 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:44.390 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:44.487 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:44.526 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:36:44.558 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 3 retries
+2020-05-08 23:36:44.651 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:44.749 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:44.827 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 8 retries
+2020-05-08 23:36:44.925 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:45.003 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 8 retries
+2020-05-08 23:36:45.101 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:45.198 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:45.296 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:45.394 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:45.487 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:45.585 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:45.683 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:45.780 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:45.882 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:45.976 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:46.073 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:46.112 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 4 retries
+2020-05-08 23:36:46.210 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:46.308 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:46.409 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:46.507 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:46.601 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:46.702 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:46.800 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:46.897 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:46.995 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:36:46.999 UTC: I(BleProcessorThr|gecko_evt_le_connection_closed_id): connection=1, reason=0x0208
+2020-05-08 23:36:47.007 UTC: I(BleProcessorThr|BigOpaqueData): Chunks sending/notifying failures = 1 for connection
+2020-05-08 23:36:48.897 UTC: I(BleProcessorThr|gecko_evt_le_connection_opened_id): address=37:41:5E:B1:E1:7D, connection=1
+2020-05-08 23:36:48.917 UTC: I(BleProcessorThr|gecko_evt_le_connection_parameters_id): connection: 1, latency: 0, timeout: 72, interval: 30.00 ms, txsize: 27
+2020-05-08 23:36:48.925 UTC: I(BleProcessorThr|gecko_evt_le_connection_phy_status_id): connection: 1, phy: 1
+2020-05-08 23:36:49.104 UTC: I(BleProcessorThr|gecko_evt_gatt_mtu_exchanged_id): mtu: 185
+2020-05-08 23:36:49.995 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.028 Hz, converge time = 40 s
+2020-05-08 23:36:50.003 UTC: I(TimingThread|discipline): exit
+2020-05-08 23:36:50.015 UTC: I(TimingThread|freeRun): enter
+2020-05-08 23:37:50.749 UTC: I(TimingThread): timing uncertainty check: heuristic=+1.089, limit=550, max(|deltaT|)=0.032 degC, elapsed=60s, expiry=7200s
+2020-05-08 23:38:51.624 UTC: I(TimingThread): timing uncertainty check: heuristic=+1.814, limit=550, max(|deltaT|)=0.032 degC, elapsed=120s, expiry=7200s
+2020-05-08 23:39:52.729 UTC: I(TimingThread): timing uncertainty check: heuristic=+2.108, limit=550, max(|deltaT|)=0.032 degC, elapsed=180s, expiry=7200s
+2020-05-08 23:40:53.597 UTC: I(TimingThread): timing uncertainty check: heuristic=+1.916, limit=550, max(|deltaT|)=0.032 degC, elapsed=240s, expiry=7200s
+2020-05-08 23:41:54.694 UTC: I(TimingThread): timing uncertainty check: heuristic=+1.191, limit=550, max(|deltaT|)=0.032 degC, elapsed=300s, expiry=7200s
+2020-05-08 23:42:54.870 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.030, limit=550, max(|deltaT|)=0.033 degC, elapsed=360s, expiry=7200s
+2020-05-08 23:43:55.745 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.863, limit=550, max(|deltaT|)=0.041 degC, elapsed=420s, expiry=7200s
+2020-05-08 23:44:02.483 UTC: I(BleProcessorThr|gecko_evt_le_connection_closed_id): connection=1, reason=0x0213
+2020-05-08 23:44:27.186 UTC: I(BleProcessorThr|gecko_evt_le_connection_opened_id): address=09:FA:B8:48:74:7F, connection=1
+2020-05-08 23:44:27.206 UTC: I(BleProcessorThr|gecko_evt_le_connection_parameters_id): connection: 1, latency: 0, timeout: 72, interval: 30.00 ms, txsize: 27
+2020-05-08 23:44:27.214 UTC: I(BleProcessorThr|gecko_evt_le_connection_phy_status_id): connection: 1, phy: 1
+2020-05-08 23:44:27.308 UTC: I(BleProcessorThr|gecko_evt_gatt_mtu_exchanged_id): mtu: 185
+2020-05-08 23:44:56.698 UTC: I(TimingThread): timing uncertainty check: heuristic=-4.341, limit=550, max(|deltaT|)=0.053 degC, elapsed=480s, expiry=7200s
+2020-05-08 23:45:11.854 UTC: W(BleProcessorThr): BLE notify sending channel data succeeded after 2 retries
+2020-05-08 23:45:11.952 UTC: E(BleProcessorThr): BLE notify failure sending channel data. Exceeded retries (10)
+2020-05-08 23:45:11.960 UTC: I(BleProcessorThr|gecko_evt_le_connection_closed_id): connection=1, reason=0x0213
+2020-05-08 23:45:57.690 UTC: I(TimingThread): timing uncertainty check: heuristic=-7.668, limit=550, max(|deltaT|)=0.067 degC, elapsed=540s, expiry=6300s
+2020-05-08 23:46:58.565 UTC: I(TimingThread): timing uncertainty check: heuristic=-11.999, limit=550, max(|deltaT|)=0.087 degC, elapsed=600s, expiry=6300s
+2020-05-08 23:47:59.659 UTC: I(TimingThread): timing uncertainty check: heuristic=-17.452, limit=550, max(|deltaT|)=0.101 degC, elapsed=660s, expiry=6300s
+2020-05-08 23:49:00.542 UTC: I(TimingThread): timing uncertainty check: heuristic=-24.160, limit=550, max(|deltaT|)=0.124 degC, elapsed=720s, expiry=6300s
+2020-05-08 23:50:01.632 UTC: I(TimingThread): timing uncertainty check: heuristic=-32.060, limit=550, max(|deltaT|)=0.143 degC, elapsed=780s, expiry=5400s
+2020-05-08 23:51:01.929 UTC: I(TimingThread): timing uncertainty check: heuristic=-41.175, limit=550, max(|deltaT|)=0.165 degC, elapsed=840s, expiry=5400s
+2020-05-08 23:52:02.811 UTC: I(TimingThread): timing uncertainty check: heuristic=-51.841, limit=550, max(|deltaT|)=0.198 degC, elapsed=900s, expiry=5400s
+2020-05-08 23:53:03.694 UTC: I(TimingThread): timing uncertainty check: heuristic=-63.934, limit=550, max(|deltaT|)=0.217 degC, elapsed=960s, expiry=5400s
+2020-05-08 23:54:04.694 UTC: I(TimingThread): timing uncertainty check: heuristic=-77.521, limit=550, max(|deltaT|)=0.238 degC, elapsed=1020s, expiry=5400s
+2020-05-08 23:55:05.550 UTC: I(TimingThread): timing uncertainty check: heuristic=-92.594, limit=550, max(|deltaT|)=0.265 degC, elapsed=1080s, expiry=4500s
+2020-05-08 23:56:06.601 UTC: I(TimingThread): timing uncertainty check: heuristic=-109.184, limit=550, max(|deltaT|)=0.286 degC, elapsed=1140s, expiry=4500s
+2020-05-08 23:57:07.671 UTC: I(TimingThread): timing uncertainty check: heuristic=-127.407, limit=550, max(|deltaT|)=0.315 degC, elapsed=1200s, expiry=4500s
+2020-05-08 23:58:08.089 UTC: I(TimingThread): timing uncertainty check: heuristic=-146.870, limit=550, max(|deltaT|)=0.339 degC, elapsed=1260s, expiry=4500s
+2020-05-08 23:59:09.593 UTC: I(TimingThread): timing uncertainty check: heuristic=-168.563, limit=550, max(|deltaT|)=0.367 degC, elapsed=1320s, expiry=4500s
diff --git a/tests/test_data/Pegasus-sample/Pegasus_SVC4/logs/2020/XX/KC01/XX.KC01...D.2020.130 b/tests/test_data/Pegasus-sample/Pegasus_SVC4/logs/2020/XX/KC01/XX.KC01...D.2020.130
new file mode 100755
index 0000000000000000000000000000000000000000..73b9c8bd39e0a1a08a12f27eba169395178b5ad1
--- /dev/null
+++ b/tests/test_data/Pegasus-sample/Pegasus_SVC4/logs/2020/XX/KC01/XX.KC01...D.2020.130
@@ -0,0 +1,1977 @@
+2020-05-09 00:00:09.839 UTC: I(TimingThread): timing uncertainty check: heuristic=-191.148, limit=550, max(|deltaT|)=0.389 degC, elapsed=1380s, expiry=4500s
+2020-05-09 00:01:10.718 UTC: I(TimingThread): timing uncertainty check: heuristic=-215.666, limit=550, max(|deltaT|)=0.421 degC, elapsed=1440s, expiry=4500s
+2020-05-09 00:02:11.722 UTC: I(TimingThread): timing uncertainty check: heuristic=-241.864, limit=550, max(|deltaT|)=0.447 degC, elapsed=1500s, expiry=4500s
+2020-05-09 00:03:12.581 UTC: I(TimingThread): timing uncertainty check: heuristic=-269.808, limit=550, max(|deltaT|)=0.482 degC, elapsed=1560s, expiry=4500s
+2020-05-09 00:04:13.651 UTC: I(TimingThread): timing uncertainty check: heuristic=-299.538, limit=550, max(|deltaT|)=0.509 degC, elapsed=1620s, expiry=3600s
+2020-05-09 00:05:14.726 UTC: I(TimingThread): timing uncertainty check: heuristic=-330.960, limit=550, max(|deltaT|)=0.531 degC, elapsed=1680s, expiry=3600s
+2020-05-09 00:06:15.585 UTC: I(TimingThread): timing uncertainty check: heuristic=-364.139, limit=550, max(|deltaT|)=0.560 degC, elapsed=1740s, expiry=3600s
+2020-05-09 00:07:15.952 UTC: I(TimingThread): timing uncertainty check: heuristic=-398.578, limit=550, max(|deltaT|)=0.589 degC, elapsed=1800s, expiry=3600s
+2020-05-09 00:08:16.819 UTC: I(TimingThread): timing uncertainty check: heuristic=-435.401, limit=550, max(|deltaT|)=0.620 degC, elapsed=1860s, expiry=3600s
+2020-05-09 00:09:17.718 UTC: I(TimingThread): timing uncertainty check: heuristic=-474.066, limit=550, max(|deltaT|)=0.655 degC, elapsed=1920s, expiry=3600s
+2020-05-09 00:10:18.593 UTC: I(TimingThread): timing uncertainty check: heuristic=-514.624, limit=550, max(|deltaT|)=0.684 degC, elapsed=1980s, expiry=3600s
+2020-05-09 00:11:19.647 UTC: I(TimingThread): timing uncertainty check: heuristic=-557.008, limit=550, max(|deltaT|)=0.715 degC, elapsed=2040s, expiry=3600s
+2020-05-09 00:11:19.659 UTC: I(TimingThread|freeRun): exit
+2020-05-09 00:11:19.671 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 00:11:28.882 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 00:11:33.882 UTC: I(TimingThread|ClockValidator): GNSS time valid after 5010ms
+2020-05-09 00:11:34.009 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.119s
+2020-05-09 00:11:34.016 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +9 counts (+0.5 us), drift ~ +0.8 us/hour (measured over 2084 s)
+2020-05-09 00:11:34.028 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.004 Hz
+2020-05-09 00:12:13.997 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.074 Hz, converge time = 40 s
+2020-05-09 00:12:14.005 UTC: I(TimingThread|discipline): exit
+2020-05-09 00:12:14.012 UTC: I(TimingThread|freeRun): enter
+2020-05-09 00:13:14.626 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.533, limit=550, max(|deltaT|)=0.043 degC, elapsed=60s, expiry=7200s
+2020-05-09 00:14:15.696 UTC: I(TimingThread): timing uncertainty check: heuristic=-4.805, limit=550, max(|deltaT|)=0.078 degC, elapsed=120s, expiry=6300s
+2020-05-09 00:15:16.559 UTC: I(TimingThread): timing uncertainty check: heuristic=-10.063, limit=550, max(|deltaT|)=0.104 degC, elapsed=180s, expiry=6300s
+2020-05-09 00:16:17.606 UTC: I(TimingThread): timing uncertainty check: heuristic=-17.229, limit=550, max(|deltaT|)=0.138 degC, elapsed=240s, expiry=5400s
+2020-05-09 00:17:18.661 UTC: I(TimingThread): timing uncertainty check: heuristic=-26.448, limit=550, max(|deltaT|)=0.174 degC, elapsed=300s, expiry=5400s
+2020-05-09 00:18:18.946 UTC: I(TimingThread): timing uncertainty check: heuristic=-37.425, limit=550, max(|deltaT|)=0.205 degC, elapsed=360s, expiry=5400s
+2020-05-09 00:19:19.829 UTC: I(TimingThread): timing uncertainty check: heuristic=-50.740, limit=550, max(|deltaT|)=0.239 degC, elapsed=420s, expiry=5400s
+2020-05-09 00:20:20.704 UTC: I(TimingThread): timing uncertainty check: heuristic=-66.175, limit=550, max(|deltaT|)=0.274 degC, elapsed=480s, expiry=4500s
+2020-05-09 00:21:21.688 UTC: I(TimingThread): timing uncertainty check: heuristic=-83.805, limit=550, max(|deltaT|)=0.310 degC, elapsed=540s, expiry=4500s
+2020-05-09 00:22:22.559 UTC: I(TimingThread): timing uncertainty check: heuristic=-103.658, limit=550, max(|deltaT|)=0.349 degC, elapsed=600s, expiry=4500s
+2020-05-09 00:23:23.626 UTC: I(TimingThread): timing uncertainty check: heuristic=-125.762, limit=550, max(|deltaT|)=0.386 degC, elapsed=660s, expiry=4500s
+2020-05-09 00:24:24.688 UTC: I(TimingThread): timing uncertainty check: heuristic=-150.116, limit=550, max(|deltaT|)=0.425 degC, elapsed=720s, expiry=4500s
+2020-05-09 00:25:25.555 UTC: I(TimingThread): timing uncertainty check: heuristic=-176.682, limit=550, max(|deltaT|)=0.458 degC, elapsed=780s, expiry=4500s
+2020-05-09 00:26:25.911 UTC: I(TimingThread): timing uncertainty check: heuristic=-205.129, limit=550, max(|deltaT|)=0.501 degC, elapsed=840s, expiry=3600s
+2020-05-09 00:27:26.778 UTC: I(TimingThread): timing uncertainty check: heuristic=-236.311, limit=550, max(|deltaT|)=0.535 degC, elapsed=900s, expiry=3600s
+2020-05-09 00:28:27.716 UTC: I(TimingThread): timing uncertainty check: heuristic=-269.795, limit=550, max(|deltaT|)=0.574 degC, elapsed=960s, expiry=3600s
+2020-05-09 00:29:28.559 UTC: I(TimingThread): timing uncertainty check: heuristic=-305.663, limit=550, max(|deltaT|)=0.611 degC, elapsed=1020s, expiry=3600s
+2020-05-09 00:30:29.614 UTC: I(TimingThread): timing uncertainty check: heuristic=-343.859, limit=550, max(|deltaT|)=0.655 degC, elapsed=1080s, expiry=3600s
+2020-05-09 00:31:30.688 UTC: I(TimingThread): timing uncertainty check: heuristic=-384.445, limit=550, max(|deltaT|)=0.693 degC, elapsed=1140s, expiry=3600s
+2020-05-09 00:32:31.548 UTC: I(TimingThread): timing uncertainty check: heuristic=-427.485, limit=550, max(|deltaT|)=0.729 degC, elapsed=1200s, expiry=3600s
+2020-05-09 00:33:32.602 UTC: I(TimingThread): timing uncertainty check: heuristic=-472.962, limit=550, max(|deltaT|)=0.768 degC, elapsed=1260s, expiry=3600s
+2020-05-09 00:34:32.887 UTC: I(TimingThread): timing uncertainty check: heuristic=-520.160, limit=550, max(|deltaT|)=0.814 degC, elapsed=1320s, expiry=3600s
+2020-05-09 00:35:33.759 UTC: I(TimingThread): timing uncertainty check: heuristic=-570.575, limit=550, max(|deltaT|)=0.849 degC, elapsed=1380s, expiry=3600s
+2020-05-09 00:35:33.766 UTC: I(TimingThread|freeRun): exit
+2020-05-09 00:35:33.778 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 00:35:35.919 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 00:35:38.919 UTC: I(TimingThread|ClockValidator): GNSS time valid after 3007ms
+2020-05-09 00:35:38.926 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=29, residual=-19167 counts (-998.281 us)
+2020-05-09 00:35:39.919 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=28, residual=-19167 counts (-998.281 us)
+2020-05-09 00:35:40.919 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=27, residual=-19167 counts (-998.281 us)
+2020-05-09 00:35:41.919 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=26, residual=-19167 counts (-998.281 us)
+2020-05-09 00:35:42.919 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=25, residual=-19167 counts (-998.281 us)
+2020-05-09 00:35:43.919 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=24, residual=-19167 counts (-998.281 us)
+2020-05-09 00:35:44.919 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 00:35:45.919 UTC: I(TimingThread|ClockValidator): GNSS time valid after 1002ms
+2020-05-09 00:35:45.926 UTC: W(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off abort
+2020-05-09 00:35:46.017 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.083s
+2020-05-09 00:35:46.024 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +33 counts (+1.7 us), drift ~ +4.4 us/hour (measured over 1412 s)
+2020-05-09 00:35:46.032 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.023 Hz
+2020-05-09 00:36:33.997 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.051 Hz, converge time = 48 s
+2020-05-09 00:36:34.001 UTC: I(TimingThread|discipline): exit
+2020-05-09 00:36:34.013 UTC: I(TimingThread|freeRun): enter
+2020-05-09 00:37:34.700 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.057, limit=550, max(|deltaT|)=0.040 degC, elapsed=60s, expiry=7200s
+2020-05-09 00:38:35.544 UTC: I(TimingThread): timing uncertainty check: heuristic=-4.511, limit=550, max(|deltaT|)=0.080 degC, elapsed=120s, expiry=6300s
+2020-05-09 00:39:36.599 UTC: I(TimingThread): timing uncertainty check: heuristic=-10.278, limit=550, max(|deltaT|)=0.120 degC, elapsed=180s, expiry=6300s
+2020-05-09 00:40:37.665 UTC: I(TimingThread): timing uncertainty check: heuristic=-18.542, limit=550, max(|deltaT|)=0.159 degC, elapsed=240s, expiry=5400s
+2020-05-09 00:41:38.720 UTC: I(TimingThread): timing uncertainty check: heuristic=-29.291, limit=550, max(|deltaT|)=0.204 degC, elapsed=300s, expiry=5400s
+2020-05-09 00:42:39.571 UTC: I(TimingThread): timing uncertainty check: heuristic=-42.693, limit=550, max(|deltaT|)=0.242 degC, elapsed=360s, expiry=5400s
+2020-05-09 00:43:39.809 UTC: I(TimingThread): timing uncertainty check: heuristic=-58.438, limit=550, max(|deltaT|)=0.288 degC, elapsed=420s, expiry=4500s
+2020-05-09 00:44:40.669 UTC: I(TimingThread): timing uncertainty check: heuristic=-77.088, limit=550, max(|deltaT|)=0.335 degC, elapsed=480s, expiry=4500s
+2020-05-09 00:45:41.724 UTC: I(TimingThread): timing uncertainty check: heuristic=-98.365, limit=550, max(|deltaT|)=0.377 degC, elapsed=540s, expiry=4500s
+2020-05-09 00:46:42.595 UTC: I(TimingThread): timing uncertainty check: heuristic=-122.306, limit=550, max(|deltaT|)=0.417 degC, elapsed=600s, expiry=4500s
+2020-05-09 00:47:43.657 UTC: I(TimingThread): timing uncertainty check: heuristic=-149.000, limit=550, max(|deltaT|)=0.462 degC, elapsed=660s, expiry=4500s
+2020-05-09 00:48:44.724 UTC: I(TimingThread): timing uncertainty check: heuristic=-178.360, limit=550, max(|deltaT|)=0.506 degC, elapsed=720s, expiry=3600s
+2020-05-09 00:49:45.579 UTC: I(TimingThread): timing uncertainty check: heuristic=-210.497, limit=550, max(|deltaT|)=0.558 degC, elapsed=780s, expiry=3600s
+2020-05-09 00:50:45.860 UTC: I(TimingThread): timing uncertainty check: heuristic=-244.769, limit=550, max(|deltaT|)=0.598 degC, elapsed=840s, expiry=3600s
+2020-05-09 00:51:46.720 UTC: I(TimingThread): timing uncertainty check: heuristic=-282.318, limit=550, max(|deltaT|)=0.641 degC, elapsed=900s, expiry=3600s
+2020-05-09 00:52:47.731 UTC: I(TimingThread): timing uncertainty check: heuristic=-322.611, limit=550, max(|deltaT|)=0.688 degC, elapsed=960s, expiry=3600s
+2020-05-09 00:53:48.595 UTC: I(TimingThread): timing uncertainty check: heuristic=-365.670, limit=550, max(|deltaT|)=0.730 degC, elapsed=1020s, expiry=3600s
+2020-05-09 00:54:49.642 UTC: I(TimingThread): timing uncertainty check: heuristic=-411.510, limit=550, max(|deltaT|)=0.781 degC, elapsed=1080s, expiry=3600s
+2020-05-09 00:55:50.696 UTC: I(TimingThread): timing uncertainty check: heuristic=-459.987, limit=550, max(|deltaT|)=0.828 degC, elapsed=1140s, expiry=3600s
+2020-05-09 00:56:51.571 UTC: I(TimingThread): timing uncertainty check: heuristic=-511.356, limit=550, max(|deltaT|)=0.874 degC, elapsed=1200s, expiry=3600s
+2020-05-09 00:57:51.915 UTC: I(TimingThread): timing uncertainty check: heuristic=-564.462, limit=550, max(|deltaT|)=0.915 degC, elapsed=1260s, expiry=3600s
+2020-05-09 00:57:51.923 UTC: I(TimingThread|freeRun): exit
+2020-05-09 00:57:51.934 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 00:57:54.919 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 00:58:03.927 UTC: I(TimingThread|ClockValidator): GNSS time valid after 9028ms
+2020-05-09 00:58:04.008 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.074s
+2020-05-09 00:58:04.015 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +5 counts (+0.3 us), drift ~ +0.7 us/hour (measured over 1290 s)
+2020-05-09 00:58:04.027 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.004 Hz
+2020-05-09 00:58:34.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.047 Hz, converge time = 31 s
+2020-05-09 00:58:35.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 00:58:35.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 00:59:35.789 UTC: I(TimingThread): timing uncertainty check: heuristic=+0.099, limit=550, max(|deltaT|)=0.030 degC, elapsed=60s, expiry=7200s
+2020-05-09 01:00:36.656 UTC: I(TimingThread): timing uncertainty check: heuristic=-2.284, limit=550, max(|deltaT|)=0.067 degC, elapsed=120s, expiry=6300s
+2020-05-09 01:01:37.613 UTC: I(TimingThread): timing uncertainty check: heuristic=-7.178, limit=550, max(|deltaT|)=0.112 degC, elapsed=180s, expiry=6300s
+2020-05-09 01:02:38.683 UTC: I(TimingThread): timing uncertainty check: heuristic=-14.807, limit=550, max(|deltaT|)=0.154 degC, elapsed=240s, expiry=5400s
+2020-05-09 01:03:39.539 UTC: I(TimingThread): timing uncertainty check: heuristic=-25.073, limit=550, max(|deltaT|)=0.201 degC, elapsed=300s, expiry=5400s
+2020-05-09 01:04:40.601 UTC: I(TimingThread): timing uncertainty check: heuristic=-38.093, limit=550, max(|deltaT|)=0.243 degC, elapsed=360s, expiry=5400s
+2020-05-09 01:05:40.988 UTC: I(TimingThread): timing uncertainty check: heuristic=-53.538, limit=550, max(|deltaT|)=0.285 degC, elapsed=420s, expiry=4500s
+2020-05-09 01:06:41.855 UTC: I(TimingThread): timing uncertainty check: heuristic=-71.842, limit=550, max(|deltaT|)=0.326 degC, elapsed=480s, expiry=4500s
+2020-05-09 01:07:42.722 UTC: I(TimingThread): timing uncertainty check: heuristic=-92.842, limit=550, max(|deltaT|)=0.370 degC, elapsed=540s, expiry=4500s
+2020-05-09 01:08:43.629 UTC: I(TimingThread): timing uncertainty check: heuristic=-116.533, limit=550, max(|deltaT|)=0.414 degC, elapsed=600s, expiry=4500s
+2020-05-09 01:09:44.687 UTC: I(TimingThread): timing uncertainty check: heuristic=-142.858, limit=550, max(|deltaT|)=0.458 degC, elapsed=660s, expiry=4500s
+2020-05-09 01:10:45.558 UTC: I(TimingThread): timing uncertainty check: heuristic=-171.977, limit=550, max(|deltaT|)=0.504 degC, elapsed=720s, expiry=3600s
+2020-05-09 01:11:46.613 UTC: I(TimingThread): timing uncertainty check: heuristic=-203.664, limit=550, max(|deltaT|)=0.545 degC, elapsed=780s, expiry=3600s
+2020-05-09 01:12:47.675 UTC: I(TimingThread): timing uncertainty check: heuristic=-238.048, limit=550, max(|deltaT|)=0.590 degC, elapsed=840s, expiry=3600s
+2020-05-09 01:13:47.949 UTC: I(TimingThread): timing uncertainty check: heuristic=-274.409, limit=550, max(|deltaT|)=0.633 degC, elapsed=900s, expiry=3600s
+2020-05-09 01:14:48.820 UTC: I(TimingThread): timing uncertainty check: heuristic=-314.052, limit=550, max(|deltaT|)=0.676 degC, elapsed=960s, expiry=3600s
+2020-05-09 01:15:49.691 UTC: I(TimingThread): timing uncertainty check: heuristic=-356.272, limit=550, max(|deltaT|)=0.717 degC, elapsed=1020s, expiry=3600s
+2020-05-09 01:16:50.687 UTC: I(TimingThread): timing uncertainty check: heuristic=-401.124, limit=550, max(|deltaT|)=0.762 degC, elapsed=1080s, expiry=3600s
+2020-05-09 01:17:51.730 UTC: I(TimingThread): timing uncertainty check: heuristic=-448.600, limit=550, max(|deltaT|)=0.800 degC, elapsed=1140s, expiry=3600s
+2020-05-09 01:18:52.593 UTC: I(TimingThread): timing uncertainty check: heuristic=-498.613, limit=550, max(|deltaT|)=0.845 degC, elapsed=1200s, expiry=3600s
+2020-05-09 01:19:53.648 UTC: I(TimingThread): timing uncertainty check: heuristic=-551.168, limit=550, max(|deltaT|)=0.889 degC, elapsed=1260s, expiry=3600s
+2020-05-09 01:19:53.656 UTC: I(TimingThread|freeRun): exit
+2020-05-09 01:19:53.672 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 01:19:56.929 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 01:20:09.925 UTC: I(TimingThread|ClockValidator): GNSS time valid after 13023ms
+2020-05-09 01:20:10.009 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.076s
+2020-05-09 01:20:10.016 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +10 counts (+0.5 us), drift ~ +1.4 us/hour (measured over 1295 s)
+2020-05-09 01:20:10.028 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.008 Hz
+2020-05-09 01:20:49.997 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.039 Hz, converge time = 40 s
+2020-05-09 01:20:50.005 UTC: I(TimingThread|discipline): exit
+2020-05-09 01:20:50.016 UTC: I(TimingThread|freeRun): enter
+2020-05-09 01:21:50.665 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.079, limit=550, max(|deltaT|)=0.042 degC, elapsed=60s, expiry=7200s
+2020-05-09 01:22:51.712 UTC: I(TimingThread): timing uncertainty check: heuristic=-4.539, limit=550, max(|deltaT|)=0.080 degC, elapsed=120s, expiry=6300s
+2020-05-09 01:23:52.575 UTC: I(TimingThread): timing uncertainty check: heuristic=-10.377, limit=550, max(|deltaT|)=0.118 degC, elapsed=180s, expiry=6300s
+2020-05-09 01:24:53.634 UTC: I(TimingThread): timing uncertainty check: heuristic=-18.669, limit=550, max(|deltaT|)=0.156 degC, elapsed=240s, expiry=5400s
+2020-05-09 01:25:53.966 UTC: I(TimingThread): timing uncertainty check: heuristic=-29.198, limit=550, max(|deltaT|)=0.203 degC, elapsed=300s, expiry=5400s
+2020-05-09 01:26:54.821 UTC: I(TimingThread): timing uncertainty check: heuristic=-42.450, limit=550, max(|deltaT|)=0.240 degC, elapsed=360s, expiry=5400s
+2020-05-09 01:27:55.680 UTC: I(TimingThread): timing uncertainty check: heuristic=-58.196, limit=550, max(|deltaT|)=0.289 degC, elapsed=420s, expiry=4500s
+2020-05-09 01:28:56.591 UTC: I(TimingThread): timing uncertainty check: heuristic=-76.479, limit=550, max(|deltaT|)=0.326 degC, elapsed=480s, expiry=4500s
+2020-05-09 01:29:57.641 UTC: I(TimingThread): timing uncertainty check: heuristic=-97.306, limit=550, max(|deltaT|)=0.367 degC, elapsed=540s, expiry=4500s
+2020-05-09 01:30:58.692 UTC: I(TimingThread): timing uncertainty check: heuristic=-120.660, limit=550, max(|deltaT|)=0.409 degC, elapsed=600s, expiry=4500s
+2020-05-09 01:31:59.559 UTC: I(TimingThread): timing uncertainty check: heuristic=-146.560, limit=550, max(|deltaT|)=0.447 degC, elapsed=660s, expiry=4500s
+2020-05-09 01:32:59.962 UTC: I(TimingThread): timing uncertainty check: heuristic=-174.522, limit=550, max(|deltaT|)=0.489 degC, elapsed=720s, expiry=4500s
+2020-05-09 01:34:00.813 UTC: I(TimingThread): timing uncertainty check: heuristic=-205.511, limit=550, max(|deltaT|)=0.529 degC, elapsed=780s, expiry=3600s
+2020-05-09 01:35:01.692 UTC: I(TimingThread): timing uncertainty check: heuristic=-239.058, limit=550, max(|deltaT|)=0.575 degC, elapsed=840s, expiry=3600s
+2020-05-09 01:36:02.551 UTC: I(TimingThread): timing uncertainty check: heuristic=-275.100, limit=550, max(|deltaT|)=0.620 degC, elapsed=900s, expiry=3600s
+2020-05-09 01:37:03.598 UTC: I(TimingThread): timing uncertainty check: heuristic=-313.666, limit=550, max(|deltaT|)=0.660 degC, elapsed=960s, expiry=3600s
+2020-05-09 01:38:04.653 UTC: I(TimingThread): timing uncertainty check: heuristic=-354.803, limit=550, max(|deltaT|)=0.695 degC, elapsed=1020s, expiry=3600s
+2020-05-09 01:39:05.708 UTC: I(TimingThread): timing uncertainty check: heuristic=-398.495, limit=550, max(|deltaT|)=0.738 degC, elapsed=1080s, expiry=3600s
+2020-05-09 01:40:06.551 UTC: I(TimingThread): timing uncertainty check: heuristic=-444.670, limit=550, max(|deltaT|)=0.780 degC, elapsed=1140s, expiry=3600s
+2020-05-09 01:41:06.817 UTC: I(TimingThread): timing uncertainty check: heuristic=-492.611, limit=550, max(|deltaT|)=0.823 degC, elapsed=1200s, expiry=3600s
+2020-05-09 01:42:07.688 UTC: I(TimingThread): timing uncertainty check: heuristic=-543.859, limit=550, max(|deltaT|)=0.865 degC, elapsed=1260s, expiry=3600s
+2020-05-09 01:43:08.723 UTC: I(TimingThread): timing uncertainty check: heuristic=-597.595, limit=550, max(|deltaT|)=0.904 degC, elapsed=1320s, expiry=3600s
+2020-05-09 01:43:08.731 UTC: I(TimingThread|freeRun): exit
+2020-05-09 01:43:08.743 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 01:43:11.923 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 01:43:14.923 UTC: I(TimingThread|ClockValidator): GNSS time valid after 3007ms
+2020-05-09 01:43:15.008 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.078s
+2020-05-09 01:43:15.015 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -2 counts (-0.1 us), drift ~ -0.3 us/hour (measured over 1345 s)
+2020-05-09 01:43:15.027 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.001 Hz
+2020-05-09 01:43:44.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.041 Hz, converge time = 30 s
+2020-05-09 01:43:45.008 UTC: I(TimingThread|discipline): exit
+2020-05-09 01:43:45.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 01:44:45.652 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.428, limit=550, max(|deltaT|)=0.030 degC, elapsed=60s, expiry=7200s
+2020-05-09 01:45:46.718 UTC: I(TimingThread): timing uncertainty check: heuristic=-3.297, limit=550, max(|deltaT|)=0.069 degC, elapsed=120s, expiry=6300s
+2020-05-09 01:46:47.570 UTC: I(TimingThread): timing uncertainty check: heuristic=-8.531, limit=550, max(|deltaT|)=0.108 degC, elapsed=180s, expiry=6300s
+2020-05-09 01:47:48.621 UTC: I(TimingThread): timing uncertainty check: heuristic=-16.206, limit=550, max(|deltaT|)=0.150 degC, elapsed=240s, expiry=5400s
+2020-05-09 01:48:49.031 UTC: I(TimingThread): timing uncertainty check: heuristic=-26.236, limit=550, max(|deltaT|)=0.193 degC, elapsed=300s, expiry=5400s
+2020-05-09 01:49:49.890 UTC: I(TimingThread): timing uncertainty check: heuristic=-38.974, limit=550, max(|deltaT|)=0.239 degC, elapsed=360s, expiry=5400s
+2020-05-09 01:50:50.754 UTC: I(TimingThread): timing uncertainty check: heuristic=-54.243, limit=550, max(|deltaT|)=0.277 degC, elapsed=420s, expiry=4500s
+2020-05-09 01:51:51.609 UTC: I(TimingThread): timing uncertainty check: heuristic=-72.022, limit=550, max(|deltaT|)=0.319 degC, elapsed=480s, expiry=4500s
+2020-05-09 01:52:52.644 UTC: I(TimingThread): timing uncertainty check: heuristic=-92.393, limit=550, max(|deltaT|)=0.358 degC, elapsed=540s, expiry=4500s
+2020-05-09 01:53:53.695 UTC: I(TimingThread): timing uncertainty check: heuristic=-115.277, limit=550, max(|deltaT|)=0.400 degC, elapsed=600s, expiry=4500s
+2020-05-09 01:54:54.539 UTC: I(TimingThread): timing uncertainty check: heuristic=-140.718, limit=550, max(|deltaT|)=0.440 degC, elapsed=660s, expiry=4500s
+2020-05-09 01:55:55.590 UTC: I(TimingThread): timing uncertainty check: heuristic=-168.719, limit=550, max(|deltaT|)=0.483 degC, elapsed=720s, expiry=4500s
+2020-05-09 01:56:55.890 UTC: I(TimingThread): timing uncertainty check: heuristic=-198.753, limit=550, max(|deltaT|)=0.522 degC, elapsed=780s, expiry=3600s
+2020-05-09 01:57:56.750 UTC: I(TimingThread): timing uncertainty check: heuristic=-231.837, limit=550, max(|deltaT|)=0.564 degC, elapsed=840s, expiry=3600s
+2020-05-09 01:58:57.726 UTC: I(TimingThread): timing uncertainty check: heuristic=-267.546, limit=550, max(|deltaT|)=0.611 degC, elapsed=900s, expiry=3600s
+2020-05-09 01:59:58.578 UTC: I(TimingThread): timing uncertainty check: heuristic=-305.665, limit=550, max(|deltaT|)=0.648 degC, elapsed=960s, expiry=3600s
+2020-05-09 02:00:59.621 UTC: I(TimingThread): timing uncertainty check: heuristic=-346.317, limit=550, max(|deltaT|)=0.689 degC, elapsed=1020s, expiry=3600s
+2020-05-09 02:02:00.679 UTC: I(TimingThread): timing uncertainty check: heuristic=-389.494, limit=550, max(|deltaT|)=0.732 degC, elapsed=1080s, expiry=3600s
+2020-05-09 02:03:01.543 UTC: I(TimingThread): timing uncertainty check: heuristic=-435.238, limit=550, max(|deltaT|)=0.773 degC, elapsed=1140s, expiry=3600s
+2020-05-09 02:04:01.898 UTC: I(TimingThread): timing uncertainty check: heuristic=-482.763, limit=550, max(|deltaT|)=0.814 degC, elapsed=1200s, expiry=3600s
+2020-05-09 02:05:02.746 UTC: I(TimingThread): timing uncertainty check: heuristic=-533.594, limit=550, max(|deltaT|)=0.864 degC, elapsed=1260s, expiry=3600s
+2020-05-09 02:06:03.625 UTC: I(TimingThread): timing uncertainty check: heuristic=-586.946, limit=550, max(|deltaT|)=0.895 degC, elapsed=1320s, expiry=3600s
+2020-05-09 02:06:03.633 UTC: I(TimingThread|freeRun): exit
+2020-05-09 02:06:03.644 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 02:06:05.925 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 02:06:08.925 UTC: I(TimingThread|ClockValidator): GNSS time valid after 3007ms
+2020-05-09 02:06:09.009 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.076s
+2020-05-09 02:06:09.016 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -27 counts (-1.4 us), drift ~ -3.8 us/hour (measured over 1344 s)
+2020-05-09 02:06:09.024 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.020 Hz
+2020-05-09 02:06:55.997 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.111 Hz, converge time = 47 s
+2020-05-09 02:06:56.005 UTC: I(TimingThread|discipline): exit
+2020-05-09 02:06:56.016 UTC: I(TimingThread|freeRun): enter
+2020-05-09 02:07:56.700 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.173, limit=550, max(|deltaT|)=0.040 degC, elapsed=60s, expiry=7200s
+2020-05-09 02:08:57.555 UTC: I(TimingThread): timing uncertainty check: heuristic=-4.693, limit=550, max(|deltaT|)=0.079 degC, elapsed=120s, expiry=6300s
+2020-05-09 02:09:58.610 UTC: I(TimingThread): timing uncertainty check: heuristic=-10.702, limit=550, max(|deltaT|)=0.121 degC, elapsed=180s, expiry=6300s
+2020-05-09 02:10:59.661 UTC: I(TimingThread): timing uncertainty check: heuristic=-19.054, limit=550, max(|deltaT|)=0.159 degC, elapsed=240s, expiry=5400s
+2020-05-09 02:11:59.958 UTC: I(TimingThread): timing uncertainty check: heuristic=-29.683, limit=550, max(|deltaT|)=0.204 degC, elapsed=300s, expiry=5400s
+2020-05-09 02:13:00.817 UTC: I(TimingThread): timing uncertainty check: heuristic=-42.935, limit=550, max(|deltaT|)=0.245 degC, elapsed=360s, expiry=5400s
+2020-05-09 02:14:01.673 UTC: I(TimingThread): timing uncertainty check: heuristic=-58.638, limit=550, max(|deltaT|)=0.281 degC, elapsed=420s, expiry=4500s
+2020-05-09 02:15:02.684 UTC: I(TimingThread): timing uncertainty check: heuristic=-76.948, limit=550, max(|deltaT|)=0.322 degC, elapsed=480s, expiry=4500s
+2020-05-09 02:16:03.723 UTC: I(TimingThread): timing uncertainty check: heuristic=-97.778, limit=550, max(|deltaT|)=0.371 degC, elapsed=540s, expiry=4500s
+2020-05-09 02:17:04.571 UTC: I(TimingThread): timing uncertainty check: heuristic=-121.108, limit=550, max(|deltaT|)=0.408 degC, elapsed=600s, expiry=4500s
+2020-05-09 02:18:05.622 UTC: I(TimingThread): timing uncertainty check: heuristic=-146.980, limit=550, max(|deltaT|)=0.446 degC, elapsed=660s, expiry=4500s
+2020-05-09 02:19:05.954 UTC: I(TimingThread): timing uncertainty check: heuristic=-174.879, limit=550, max(|deltaT|)=0.493 degC, elapsed=720s, expiry=4500s
+2020-05-09 02:20:06.813 UTC: I(TimingThread): timing uncertainty check: heuristic=-205.755, limit=550, max(|deltaT|)=0.531 degC, elapsed=780s, expiry=3600s
+2020-05-09 02:21:07.673 UTC: I(TimingThread): timing uncertainty check: heuristic=-239.156, limit=550, max(|deltaT|)=0.567 degC, elapsed=840s, expiry=3600s
+2020-05-09 02:22:08.594 UTC: I(TimingThread): timing uncertainty check: heuristic=-275.133, limit=550, max(|deltaT|)=0.616 degC, elapsed=900s, expiry=3600s
+2020-05-09 02:23:09.637 UTC: I(TimingThread): timing uncertainty check: heuristic=-313.541, limit=550, max(|deltaT|)=0.659 degC, elapsed=960s, expiry=3600s
+2020-05-09 02:24:10.688 UTC: I(TimingThread): timing uncertainty check: heuristic=-354.509, limit=550, max(|deltaT|)=0.699 degC, elapsed=1020s, expiry=3600s
+2020-05-09 02:25:11.087 UTC: I(TimingThread): timing uncertainty check: heuristic=-397.178, limit=550, max(|deltaT|)=0.736 degC, elapsed=1080s, expiry=3600s
+2020-05-09 02:26:11.946 UTC: I(TimingThread): timing uncertainty check: heuristic=-442.951, limit=550, max(|deltaT|)=0.776 degC, elapsed=1140s, expiry=3600s
+2020-05-09 02:27:12.801 UTC: I(TimingThread): timing uncertainty check: heuristic=-491.209, limit=550, max(|deltaT|)=0.817 degC, elapsed=1200s, expiry=3600s
+2020-05-09 02:28:13.657 UTC: I(TimingThread): timing uncertainty check: heuristic=-541.948, limit=550, max(|deltaT|)=0.858 degC, elapsed=1260s, expiry=3600s
+2020-05-09 02:29:14.696 UTC: I(TimingThread): timing uncertainty check: heuristic=-595.169, limit=550, max(|deltaT|)=0.896 degC, elapsed=1320s, expiry=3600s
+2020-05-09 02:29:14.704 UTC: I(TimingThread|freeRun): exit
+2020-05-09 02:29:14.712 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 02:29:17.915 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 02:29:27.923 UTC: I(TimingThread|ClockValidator): GNSS time valid after 10031ms
+2020-05-09 02:29:28.009 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.079s
+2020-05-09 02:29:28.016 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +5 counts (+0.3 us), drift ~ +0.7 us/hour (measured over 1352 s)
+2020-05-09 02:29:28.028 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.004 Hz
+2020-05-09 02:29:58.997 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.107 Hz, converge time = 31 s
+2020-05-09 02:29:59.005 UTC: I(TimingThread|discipline): exit
+2020-05-09 02:29:59.016 UTC: I(TimingThread|freeRun): enter
+2020-05-09 02:30:59.708 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.327, limit=550, max(|deltaT|)=0.042 degC, elapsed=60s, expiry=7200s
+2020-05-09 02:32:00.559 UTC: I(TimingThread): timing uncertainty check: heuristic=-4.969, limit=550, max(|deltaT|)=0.082 degC, elapsed=120s, expiry=6300s
+2020-05-09 02:33:01.610 UTC: I(TimingThread): timing uncertainty check: heuristic=-10.908, limit=550, max(|deltaT|)=0.120 degC, elapsed=180s, expiry=6300s
+2020-05-09 02:34:02.649 UTC: I(TimingThread): timing uncertainty check: heuristic=-19.131, limit=550, max(|deltaT|)=0.153 degC, elapsed=240s, expiry=5400s
+2020-05-09 02:35:02.966 UTC: I(TimingThread): timing uncertainty check: heuristic=-29.571, limit=550, max(|deltaT|)=0.201 degC, elapsed=300s, expiry=5400s
+2020-05-09 02:36:03.821 UTC: I(TimingThread): timing uncertainty check: heuristic=-42.455, limit=550, max(|deltaT|)=0.234 degC, elapsed=360s, expiry=5400s
+2020-05-09 02:37:04.684 UTC: I(TimingThread): timing uncertainty check: heuristic=-57.627, limit=550, max(|deltaT|)=0.277 degC, elapsed=420s, expiry=4500s
+2020-05-09 02:38:05.626 UTC: I(TimingThread): timing uncertainty check: heuristic=-75.187, limit=550, max(|deltaT|)=0.311 degC, elapsed=480s, expiry=4500s
+2020-05-09 02:39:06.673 UTC: I(TimingThread): timing uncertainty check: heuristic=-95.048, limit=550, max(|deltaT|)=0.348 degC, elapsed=540s, expiry=4500s
+2020-05-09 02:40:07.723 UTC: I(TimingThread): timing uncertainty check: heuristic=-117.248, limit=550, max(|deltaT|)=0.384 degC, elapsed=600s, expiry=4500s
+2020-05-09 02:41:08.583 UTC: I(TimingThread): timing uncertainty check: heuristic=-141.705, limit=550, max(|deltaT|)=0.420 degC, elapsed=660s, expiry=4500s
+2020-05-09 02:42:08.962 UTC: I(TimingThread): timing uncertainty check: heuristic=-168.055, limit=550, max(|deltaT|)=0.461 degC, elapsed=720s, expiry=4500s
+2020-05-09 02:43:09.817 UTC: I(TimingThread): timing uncertainty check: heuristic=-197.057, limit=550, max(|deltaT|)=0.499 degC, elapsed=780s, expiry=4500s
+2020-05-09 02:44:10.712 UTC: I(TimingThread): timing uncertainty check: heuristic=-228.335, limit=550, max(|deltaT|)=0.536 degC, elapsed=840s, expiry=3600s
+2020-05-09 02:45:11.555 UTC: I(TimingThread): timing uncertainty check: heuristic=-261.929, limit=550, max(|deltaT|)=0.570 degC, elapsed=900s, expiry=3600s
+2020-05-09 02:46:12.626 UTC: I(TimingThread): timing uncertainty check: heuristic=-297.664, limit=550, max(|deltaT|)=0.608 degC, elapsed=960s, expiry=3600s
+2020-05-09 02:47:13.669 UTC: I(TimingThread): timing uncertainty check: heuristic=-335.538, limit=550, max(|deltaT|)=0.640 degC, elapsed=1020s, expiry=3600s
+2020-05-09 02:48:14.087 UTC: I(TimingThread): timing uncertainty check: heuristic=-374.868, limit=550, max(|deltaT|)=0.676 degC, elapsed=1080s, expiry=3600s
+2020-05-09 02:49:15.567 UTC: I(TimingThread): timing uncertainty check: heuristic=-417.797, limit=550, max(|deltaT|)=0.715 degC, elapsed=1140s, expiry=3600s
+2020-05-09 02:50:15.794 UTC: I(TimingThread): timing uncertainty check: heuristic=-461.356, limit=550, max(|deltaT|)=0.747 degC, elapsed=1200s, expiry=3600s
+2020-05-09 02:51:16.641 UTC: I(TimingThread): timing uncertainty check: heuristic=-507.776, limit=550, max(|deltaT|)=0.781 degC, elapsed=1260s, expiry=3600s
+2020-05-09 02:52:17.692 UTC: I(TimingThread): timing uncertainty check: heuristic=-556.292, limit=550, max(|deltaT|)=0.814 degC, elapsed=1320s, expiry=3600s
+2020-05-09 02:52:17.700 UTC: I(TimingThread|freeRun): exit
+2020-05-09 02:52:17.712 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 02:52:20.926 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 02:52:23.926 UTC: I(TimingThread|ClockValidator): GNSS time valid after 3007ms
+2020-05-09 02:52:23.934 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=29, residual=+19132 counts (+996.458 us)
+2020-05-09 02:52:24.926 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=28, residual=+19132 counts (+996.458 us)
+2020-05-09 02:52:25.926 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=27, residual=+19132 counts (+996.458 us)
+2020-05-09 02:52:26.926 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=26, residual=+19132 counts (+996.458 us)
+2020-05-09 02:52:27.926 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=25, residual=+19132 counts (+996.458 us)
+2020-05-09 02:52:28.926 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=24, residual=+19132 counts (+996.458 us)
+2020-05-09 02:52:29.926 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=23, residual=+19131 counts (+996.406 us)
+2020-05-09 02:52:30.926 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=22, residual=+19131 counts (+996.406 us)
+2020-05-09 02:52:31.926 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=21, residual=+19131 counts (+996.406 us)
+2020-05-09 02:52:32.923 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 02:52:33.923 UTC: I(TimingThread|ClockValidator): GNSS time valid after 1002ms
+2020-05-09 02:52:33.930 UTC: W(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off abort
+2020-05-09 02:52:34.020 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.078s
+2020-05-09 02:52:34.027 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -69 counts (-3.6 us), drift ~ -9.5 us/hour (measured over 1355 s)
+2020-05-09 02:52:34.039 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.051 Hz
+2020-05-09 02:53:26.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.208 Hz, converge time = 53 s
+2020-05-09 02:53:27.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 02:53:27.016 UTC: I(TimingThread|freeRun): enter
+2020-05-09 02:54:27.543 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.499, limit=550, max(|deltaT|)=0.024 degC, elapsed=60s, expiry=7200s
+2020-05-09 02:55:28.602 UTC: I(TimingThread): timing uncertainty check: heuristic=-2.797, limit=550, max(|deltaT|)=0.056 degC, elapsed=120s, expiry=7200s
+2020-05-09 02:56:29.652 UTC: I(TimingThread): timing uncertainty check: heuristic=-7.003, limit=550, max(|deltaT|)=0.088 degC, elapsed=180s, expiry=6300s
+2020-05-09 02:57:30.078 UTC: I(TimingThread): timing uncertainty check: heuristic=-12.890, limit=550, max(|deltaT|)=0.119 degC, elapsed=240s, expiry=6300s
+2020-05-09 02:58:31.570 UTC: I(TimingThread): timing uncertainty check: heuristic=-20.980, limit=550, max(|deltaT|)=0.154 degC, elapsed=300s, expiry=5400s
+2020-05-09 02:59:31.801 UTC: I(TimingThread): timing uncertainty check: heuristic=-30.629, limit=550, max(|deltaT|)=0.181 degC, elapsed=360s, expiry=5400s
+2020-05-09 03:00:32.664 UTC: I(TimingThread): timing uncertainty check: heuristic=-42.391, limit=550, max(|deltaT|)=0.219 degC, elapsed=420s, expiry=5400s
+2020-05-09 03:01:33.707 UTC: I(TimingThread): timing uncertainty check: heuristic=-56.060, limit=550, max(|deltaT|)=0.243 degC, elapsed=480s, expiry=5400s
+2020-05-09 03:02:34.574 UTC: I(TimingThread): timing uncertainty check: heuristic=-71.611, limit=550, max(|deltaT|)=0.270 degC, elapsed=540s, expiry=4500s
+2020-05-09 03:03:35.645 UTC: I(TimingThread): timing uncertainty check: heuristic=-89.084, limit=550, max(|deltaT|)=0.310 degC, elapsed=600s, expiry=4500s
+2020-05-09 03:04:36.703 UTC: I(TimingThread): timing uncertainty check: heuristic=-108.457, limit=550, max(|deltaT|)=0.341 degC, elapsed=660s, expiry=4500s
+2020-05-09 03:05:37.570 UTC: I(TimingThread): timing uncertainty check: heuristic=-129.687, limit=550, max(|deltaT|)=0.367 degC, elapsed=720s, expiry=4500s
+2020-05-09 03:06:37.855 UTC: I(TimingThread): timing uncertainty check: heuristic=-152.372, limit=550, max(|deltaT|)=0.400 degC, elapsed=780s, expiry=4500s
+2020-05-09 03:07:38.711 UTC: I(TimingThread): timing uncertainty check: heuristic=-177.289, limit=550, max(|deltaT|)=0.427 degC, elapsed=840s, expiry=4500s
+2020-05-09 03:08:39.684 UTC: I(TimingThread): timing uncertainty check: heuristic=-204.050, limit=550, max(|deltaT|)=0.458 degC, elapsed=900s, expiry=4500s
+2020-05-09 03:09:40.543 UTC: I(TimingThread): timing uncertainty check: heuristic=-232.679, limit=550, max(|deltaT|)=0.488 degC, elapsed=960s, expiry=4500s
+2020-05-09 03:10:41.605 UTC: I(TimingThread): timing uncertainty check: heuristic=-263.125, limit=550, max(|deltaT|)=0.514 degC, elapsed=1020s, expiry=3600s
+2020-05-09 03:11:42.660 UTC: I(TimingThread): timing uncertainty check: heuristic=-295.275, limit=550, max(|deltaT|)=0.548 degC, elapsed=1080s, expiry=3600s
+2020-05-09 03:12:43.004 UTC: I(TimingThread): timing uncertainty check: heuristic=-328.671, limit=550, max(|deltaT|)=0.576 degC, elapsed=1140s, expiry=3600s
+2020-05-09 03:13:43.871 UTC: I(TimingThread): timing uncertainty check: heuristic=-364.329, limit=550, max(|deltaT|)=0.607 degC, elapsed=1200s, expiry=3600s
+2020-05-09 03:14:44.734 UTC: I(TimingThread): timing uncertainty check: heuristic=-401.785, limit=550, max(|deltaT|)=0.634 degC, elapsed=1260s, expiry=3600s
+2020-05-09 03:15:45.680 UTC: I(TimingThread): timing uncertainty check: heuristic=-440.945, limit=550, max(|deltaT|)=0.666 degC, elapsed=1320s, expiry=3600s
+2020-05-09 03:16:46.535 UTC: I(TimingThread): timing uncertainty check: heuristic=-481.835, limit=550, max(|deltaT|)=0.691 degC, elapsed=1380s, expiry=3600s
+2020-05-09 03:17:47.590 UTC: I(TimingThread): timing uncertainty check: heuristic=-524.422, limit=550, max(|deltaT|)=0.714 degC, elapsed=1440s, expiry=3600s
+2020-05-09 03:18:48.629 UTC: I(TimingThread): timing uncertainty check: heuristic=-568.732, limit=550, max(|deltaT|)=0.745 degC, elapsed=1500s, expiry=3600s
+2020-05-09 03:18:48.637 UTC: I(TimingThread|freeRun): exit
+2020-05-09 03:18:48.648 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 03:18:50.914 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 03:18:55.914 UTC: I(TimingThread|ClockValidator): GNSS time valid after 5010ms
+2020-05-09 03:18:55.922 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=29, residual=+19157 counts (+997.76 us)
+2020-05-09 03:18:56.914 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=28, residual=+19157 counts (+997.76 us)
+2020-05-09 03:18:57.914 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=27, residual=+19157 counts (+997.76 us)
+2020-05-09 03:18:58.914 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=26, residual=+19157 counts (+997.76 us)
+2020-05-09 03:18:59.914 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=25, residual=+19157 counts (+997.76 us)
+2020-05-09 03:19:00.914 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=24, residual=+19157 counts (+997.76 us)
+2020-05-09 03:19:01.914 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=23, residual=+19157 counts (+997.76 us)
+2020-05-09 03:19:02.914 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 03:19:03.914 UTC: I(TimingThread|ClockValidator): GNSS time valid after 1003ms
+2020-05-09 03:19:03.922 UTC: W(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off abort
+2020-05-09 03:19:04.020 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.086s
+2020-05-09 03:19:04.027 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -43 counts (-2.2 us), drift ~ -5.2 us/hour (measured over 1537 s)
+2020-05-09 03:19:04.035 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.028 Hz
+2020-05-09 03:19:53.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.286 Hz, converge time = 50 s
+2020-05-09 03:19:54.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 03:19:54.016 UTC: I(TimingThread|freeRun): enter
+2020-05-09 03:20:54.570 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.568, limit=550, max(|deltaT|)=0.025 degC, elapsed=60s, expiry=7200s
+2020-05-09 03:21:55.625 UTC: I(TimingThread): timing uncertainty check: heuristic=-2.567, limit=550, max(|deltaT|)=0.053 degC, elapsed=120s, expiry=7200s
+2020-05-09 03:22:56.672 UTC: I(TimingThread): timing uncertainty check: heuristic=-6.008, limit=550, max(|deltaT|)=0.074 degC, elapsed=180s, expiry=6300s
+2020-05-09 03:23:57.039 UTC: I(TimingThread): timing uncertainty check: heuristic=-10.965, limit=550, max(|deltaT|)=0.101 degC, elapsed=240s, expiry=6300s
+2020-05-09 03:24:57.906 UTC: I(TimingThread): timing uncertainty check: heuristic=-17.507, limit=550, max(|deltaT|)=0.127 degC, elapsed=300s, expiry=5400s
+2020-05-09 03:25:58.770 UTC: I(TimingThread): timing uncertainty check: heuristic=-25.720, limit=550, max(|deltaT|)=0.156 degC, elapsed=360s, expiry=5400s
+2020-05-09 03:26:59.684 UTC: I(TimingThread): timing uncertainty check: heuristic=-35.662, limit=550, max(|deltaT|)=0.182 degC, elapsed=420s, expiry=5400s
+2020-05-09 03:28:00.730 UTC: I(TimingThread): timing uncertainty check: heuristic=-47.216, limit=550, max(|deltaT|)=0.206 degC, elapsed=480s, expiry=5400s
+2020-05-09 03:29:01.602 UTC: I(TimingThread): timing uncertainty check: heuristic=-60.442, limit=550, max(|deltaT|)=0.235 degC, elapsed=540s, expiry=5400s
+2020-05-09 03:30:02.648 UTC: I(TimingThread): timing uncertainty check: heuristic=-75.327, limit=550, max(|deltaT|)=0.257 degC, elapsed=600s, expiry=4500s
+2020-05-09 03:31:03.691 UTC: I(TimingThread): timing uncertainty check: heuristic=-91.821, limit=550, max(|deltaT|)=0.288 degC, elapsed=660s, expiry=4500s
+2020-05-09 03:32:04.543 UTC: I(TimingThread): timing uncertainty check: heuristic=-109.972, limit=550, max(|deltaT|)=0.317 degC, elapsed=720s, expiry=4500s
+2020-05-09 03:33:04.812 UTC: I(TimingThread): timing uncertainty check: heuristic=-129.370, limit=550, max(|deltaT|)=0.343 degC, elapsed=780s, expiry=4500s
+2020-05-09 03:34:05.676 UTC: I(TimingThread): timing uncertainty check: heuristic=-150.745, limit=550, max(|deltaT|)=0.366 degC, elapsed=840s, expiry=4500s
+2020-05-09 03:35:06.664 UTC: I(TimingThread): timing uncertainty check: heuristic=-173.689, limit=550, max(|deltaT|)=0.395 degC, elapsed=900s, expiry=4500s
+2020-05-09 03:36:07.719 UTC: I(TimingThread): timing uncertainty check: heuristic=-198.246, limit=550, max(|deltaT|)=0.424 degC, elapsed=960s, expiry=4500s
+2020-05-09 03:37:08.578 UTC: I(TimingThread): timing uncertainty check: heuristic=-224.342, limit=550, max(|deltaT|)=0.445 degC, elapsed=1020s, expiry=4500s
+2020-05-09 03:38:09.641 UTC: I(TimingThread): timing uncertainty check: heuristic=-252.143, limit=550, max(|deltaT|)=0.474 degC, elapsed=1080s, expiry=4500s
+2020-05-09 03:39:10.020 UTC: I(TimingThread): timing uncertainty check: heuristic=-281.015, limit=550, max(|deltaT|)=0.500 degC, elapsed=1140s, expiry=3600s
+2020-05-09 03:40:10.887 UTC: I(TimingThread): timing uncertainty check: heuristic=-311.874, limit=550, max(|deltaT|)=0.529 degC, elapsed=1200s, expiry=3600s
+2020-05-09 03:41:11.758 UTC: I(TimingThread): timing uncertainty check: heuristic=-344.278, limit=550, max(|deltaT|)=0.545 degC, elapsed=1260s, expiry=3600s
+2020-05-09 03:42:12.641 UTC: I(TimingThread): timing uncertainty check: heuristic=-378.179, limit=550, max(|deltaT|)=0.572 degC, elapsed=1320s, expiry=3600s
+2020-05-09 03:43:13.707 UTC: I(TimingThread): timing uncertainty check: heuristic=-413.691, limit=550, max(|deltaT|)=0.599 degC, elapsed=1380s, expiry=3600s
+2020-05-09 03:44:14.570 UTC: I(TimingThread): timing uncertainty check: heuristic=-450.620, limit=550, max(|deltaT|)=0.620 degC, elapsed=1440s, expiry=3600s
+2020-05-09 03:45:15.625 UTC: I(TimingThread): timing uncertainty check: heuristic=-489.101, limit=550, max(|deltaT|)=0.648 degC, elapsed=1500s, expiry=3600s
+2020-05-09 03:46:16.695 UTC: I(TimingThread): timing uncertainty check: heuristic=-528.961, limit=550, max(|deltaT|)=0.671 degC, elapsed=1560s, expiry=3600s
+2020-05-09 03:47:17.555 UTC: I(TimingThread): timing uncertainty check: heuristic=-570.312, limit=550, max(|deltaT|)=0.695 degC, elapsed=1620s, expiry=3600s
+2020-05-09 03:47:17.562 UTC: I(TimingThread|freeRun): exit
+2020-05-09 03:47:17.570 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 03:47:19.906 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 03:47:23.906 UTC: I(TimingThread|ClockValidator): GNSS time valid after 4008ms
+2020-05-09 03:47:23.914 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=29, residual=+19150 counts (+997.396 us)
+2020-05-09 03:47:24.910 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=28, residual=+19150 counts (+997.396 us)
+2020-05-09 03:47:25.906 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=27, residual=+19150 counts (+997.396 us)
+2020-05-09 03:47:26.906 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=26, residual=+19150 counts (+997.396 us)
+2020-05-09 03:47:27.906 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=25, residual=+19150 counts (+997.396 us)
+2020-05-09 03:47:28.906 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=24, residual=+19150 counts (+997.396 us)
+2020-05-09 03:47:29.906 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=23, residual=+19150 counts (+997.396 us)
+2020-05-09 03:47:30.906 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=22, residual=+19150 counts (+997.396 us)
+2020-05-09 03:47:31.906 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=21, residual=+19150 counts (+997.396 us)
+2020-05-09 03:47:32.906 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 03:47:33.906 UTC: I(TimingThread|ClockValidator): GNSS time valid after 1002ms
+2020-05-09 03:47:33.914 UTC: W(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off abort
+2020-05-09 03:47:34.019 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.093s
+2020-05-09 03:47:34.026 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -51 counts (-2.7 us), drift ~ -5.8 us/hour (measured over 1660 s)
+2020-05-09 03:47:34.034 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.031 Hz
+2020-05-09 03:48:25.995 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.367 Hz, converge time = 52 s
+2020-05-09 03:48:26.003 UTC: I(TimingThread|discipline): exit
+2020-05-09 03:48:26.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 03:49:26.585 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.471, limit=550, max(|deltaT|)=0.040 degC, elapsed=60s, expiry=7200s
+2020-05-09 03:50:27.647 UTC: I(TimingThread): timing uncertainty check: heuristic=-4.126, limit=550, max(|deltaT|)=0.061 degC, elapsed=120s, expiry=7200s
+2020-05-09 03:51:28.694 UTC: I(TimingThread): timing uncertainty check: heuristic=-7.975, limit=550, max(|deltaT|)=0.077 degC, elapsed=180s, expiry=6300s
+2020-05-09 03:52:29.546 UTC: I(TimingThread): timing uncertainty check: heuristic=-13.085, limit=550, max(|deltaT|)=0.100 degC, elapsed=240s, expiry=6300s
+2020-05-09 03:53:29.862 UTC: I(TimingThread): timing uncertainty check: heuristic=-19.383, limit=550, max(|deltaT|)=0.120 degC, elapsed=300s, expiry=6300s
+2020-05-09 03:54:30.722 UTC: I(TimingThread): timing uncertainty check: heuristic=-27.088, limit=550, max(|deltaT|)=0.142 degC, elapsed=360s, expiry=5400s
+2020-05-09 03:55:31.675 UTC: I(TimingThread): timing uncertainty check: heuristic=-36.126, limit=550, max(|deltaT|)=0.162 degC, elapsed=420s, expiry=5400s
+2020-05-09 03:56:32.722 UTC: I(TimingThread): timing uncertainty check: heuristic=-46.447, limit=550, max(|deltaT|)=0.184 degC, elapsed=480s, expiry=5400s
+2020-05-09 03:57:33.569 UTC: I(TimingThread): timing uncertainty check: heuristic=-58.084, limit=550, max(|deltaT|)=0.205 degC, elapsed=540s, expiry=5400s
+2020-05-09 03:58:34.616 UTC: I(TimingThread): timing uncertainty check: heuristic=-70.994, limit=550, max(|deltaT|)=0.229 degC, elapsed=600s, expiry=5400s
+2020-05-09 03:59:34.972 UTC: I(TimingThread): timing uncertainty check: heuristic=-84.992, limit=550, max(|deltaT|)=0.254 degC, elapsed=660s, expiry=4500s
+2020-05-09 04:00:35.827 UTC: I(TimingThread): timing uncertainty check: heuristic=-100.463, limit=550, max(|deltaT|)=0.272 degC, elapsed=720s, expiry=4500s
+2020-05-09 04:01:36.679 UTC: I(TimingThread): timing uncertainty check: heuristic=-117.230, limit=550, max(|deltaT|)=0.291 degC, elapsed=780s, expiry=4500s
+2020-05-09 04:02:37.585 UTC: I(TimingThread): timing uncertainty check: heuristic=-135.243, limit=550, max(|deltaT|)=0.309 degC, elapsed=840s, expiry=4500s
+2020-05-09 04:03:38.651 UTC: I(TimingThread): timing uncertainty check: heuristic=-154.469, limit=550, max(|deltaT|)=0.332 degC, elapsed=900s, expiry=4500s
+2020-05-09 04:04:39.710 UTC: I(TimingThread): timing uncertainty check: heuristic=-174.921, limit=550, max(|deltaT|)=0.348 degC, elapsed=960s, expiry=4500s
+2020-05-09 04:05:40.569 UTC: I(TimingThread): timing uncertainty check: heuristic=-196.580, limit=550, max(|deltaT|)=0.372 degC, elapsed=1020s, expiry=4500s
+2020-05-09 04:06:40.952 UTC: I(TimingThread): timing uncertainty check: heuristic=-218.985, limit=550, max(|deltaT|)=0.388 degC, elapsed=1080s, expiry=4500s
+2020-05-09 04:07:41.808 UTC: I(TimingThread): timing uncertainty check: heuristic=-242.978, limit=550, max(|deltaT|)=0.410 degC, elapsed=1140s, expiry=4500s
+2020-05-09 04:08:42.686 UTC: I(TimingThread): timing uncertainty check: heuristic=-268.152, limit=550, max(|deltaT|)=0.428 degC, elapsed=1200s, expiry=4500s
+2020-05-09 04:09:43.710 UTC: I(TimingThread): timing uncertainty check: heuristic=-294.428, limit=550, max(|deltaT|)=0.448 degC, elapsed=1260s, expiry=4500s
+2020-05-09 04:10:44.538 UTC: I(TimingThread): timing uncertainty check: heuristic=-321.851, limit=550, max(|deltaT|)=0.465 degC, elapsed=1320s, expiry=4500s
+2020-05-09 04:11:45.593 UTC: I(TimingThread): timing uncertainty check: heuristic=-350.379, limit=550, max(|deltaT|)=0.480 degC, elapsed=1380s, expiry=4500s
+2020-05-09 04:12:46.636 UTC: I(TimingThread): timing uncertainty check: heuristic=-379.983, limit=550, max(|deltaT|)=0.501 degC, elapsed=1440s, expiry=3600s
+2020-05-09 04:13:46.890 UTC: I(TimingThread): timing uncertainty check: heuristic=-410.216, limit=550, max(|deltaT|)=0.519 degC, elapsed=1500s, expiry=3600s
+2020-05-09 04:14:47.741 UTC: I(TimingThread): timing uncertainty check: heuristic=-442.026, limit=550, max(|deltaT|)=0.537 degC, elapsed=1560s, expiry=3600s
+2020-05-09 04:15:48.597 UTC: I(TimingThread): timing uncertainty check: heuristic=-474.848, limit=550, max(|deltaT|)=0.558 degC, elapsed=1620s, expiry=3600s
+2020-05-09 04:16:49.593 UTC: I(TimingThread): timing uncertainty check: heuristic=-508.838, limit=550, max(|deltaT|)=0.568 degC, elapsed=1680s, expiry=3600s
+2020-05-09 04:17:50.632 UTC: I(TimingThread): timing uncertainty check: heuristic=-543.833, limit=550, max(|deltaT|)=0.590 degC, elapsed=1740s, expiry=3600s
+2020-05-09 04:18:51.686 UTC: I(TimingThread): timing uncertainty check: heuristic=-579.813, limit=550, max(|deltaT|)=0.613 degC, elapsed=1800s, expiry=3600s
+2020-05-09 04:18:51.694 UTC: I(TimingThread|freeRun): exit
+2020-05-09 04:18:51.706 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 04:18:55.905 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 04:19:03.897 UTC: I(TimingThread|ClockValidator): GNSS time valid after 8009ms
+2020-05-09 04:19:04.009 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.104s
+2020-05-09 04:19:04.016 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -52 counts (-2.7 us), drift ~ -5.3 us/hour (measured over 1838 s)
+2020-05-09 04:19:04.028 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.028 Hz
+2020-05-09 04:19:54.997 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.445 Hz, converge time = 51 s
+2020-05-09 04:19:55.005 UTC: I(TimingThread|discipline): exit
+2020-05-09 04:19:55.016 UTC: I(TimingThread|freeRun): enter
+2020-05-09 04:20:55.551 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.070, limit=550, max(|deltaT|)=0.020 degC, elapsed=60s, expiry=7200s
+2020-05-09 04:21:56.598 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.000, limit=550, max(|deltaT|)=0.026 degC, elapsed=120s, expiry=7200s
+2020-05-09 04:22:57.649 UTC: I(TimingThread): timing uncertainty check: heuristic=-2.825, limit=550, max(|deltaT|)=0.040 degC, elapsed=180s, expiry=7200s
+2020-05-09 04:23:58.700 UTC: I(TimingThread): timing uncertainty check: heuristic=-5.616, limit=550, max(|deltaT|)=0.061 degC, elapsed=240s, expiry=7200s
+2020-05-09 04:24:59.551 UTC: I(TimingThread): timing uncertainty check: heuristic=-9.316, limit=550, max(|deltaT|)=0.072 degC, elapsed=300s, expiry=6300s
+2020-05-09 04:25:59.817 UTC: I(TimingThread): timing uncertainty check: heuristic=-13.923, limit=550, max(|deltaT|)=0.091 degC, elapsed=360s, expiry=6300s
+2020-05-09 04:27:00.680 UTC: I(TimingThread): timing uncertainty check: heuristic=-19.621, limit=550, max(|deltaT|)=0.110 degC, elapsed=420s, expiry=6300s
+2020-05-09 04:28:01.700 UTC: I(TimingThread): timing uncertainty check: heuristic=-26.321, limit=550, max(|deltaT|)=0.122 degC, elapsed=480s, expiry=6300s
+2020-05-09 04:29:02.555 UTC: I(TimingThread): timing uncertainty check: heuristic=-33.971, limit=550, max(|deltaT|)=0.138 degC, elapsed=540s, expiry=5400s
+2020-05-09 04:30:03.626 UTC: I(TimingThread): timing uncertainty check: heuristic=-42.666, limit=550, max(|deltaT|)=0.156 degC, elapsed=600s, expiry=5400s
+2020-05-09 04:31:04.676 UTC: I(TimingThread): timing uncertainty check: heuristic=-52.336, limit=550, max(|deltaT|)=0.171 degC, elapsed=660s, expiry=5400s
+2020-05-09 04:32:04.969 UTC: I(TimingThread): timing uncertainty check: heuristic=-62.895, limit=550, max(|deltaT|)=0.191 degC, elapsed=720s, expiry=5400s
+2020-05-09 04:33:05.829 UTC: I(TimingThread): timing uncertainty check: heuristic=-74.523, limit=550, max(|deltaT|)=0.206 degC, elapsed=780s, expiry=5400s
+2020-05-09 04:34:06.688 UTC: I(TimingThread): timing uncertainty check: heuristic=-87.116, limit=550, max(|deltaT|)=0.224 degC, elapsed=840s, expiry=5400s
+2020-05-09 04:35:07.657 UTC: I(TimingThread): timing uncertainty check: heuristic=-100.716, limit=550, max(|deltaT|)=0.234 degC, elapsed=900s, expiry=5400s
+2020-05-09 04:36:08.727 UTC: I(TimingThread): timing uncertainty check: heuristic=-115.258, limit=550, max(|deltaT|)=0.252 degC, elapsed=960s, expiry=4500s
+2020-05-09 04:37:09.583 UTC: I(TimingThread): timing uncertainty check: heuristic=-130.783, limit=550, max(|deltaT|)=0.270 degC, elapsed=1020s, expiry=4500s
+2020-05-09 04:38:10.649 UTC: I(TimingThread): timing uncertainty check: heuristic=-147.257, limit=550, max(|deltaT|)=0.285 degC, elapsed=1080s, expiry=4500s
+2020-05-09 04:39:10.997 UTC: I(TimingThread): timing uncertainty check: heuristic=-164.357, limit=550, max(|deltaT|)=0.298 degC, elapsed=1140s, expiry=4500s
+2020-05-09 04:40:11.852 UTC: I(TimingThread): timing uncertainty check: heuristic=-182.682, limit=550, max(|deltaT|)=0.318 degC, elapsed=1200s, expiry=4500s
+2020-05-09 04:41:12.704 UTC: I(TimingThread): timing uncertainty check: heuristic=-201.988, limit=550, max(|deltaT|)=0.328 degC, elapsed=1260s, expiry=4500s
+2020-05-09 04:42:13.610 UTC: I(TimingThread): timing uncertainty check: heuristic=-222.253, limit=550, max(|deltaT|)=0.345 degC, elapsed=1320s, expiry=4500s
+2020-05-09 04:43:14.676 UTC: I(TimingThread): timing uncertainty check: heuristic=-243.406, limit=550, max(|deltaT|)=0.358 degC, elapsed=1380s, expiry=4500s
+2020-05-09 04:44:15.727 UTC: I(TimingThread): timing uncertainty check: heuristic=-265.490, limit=550, max(|deltaT|)=0.374 degC, elapsed=1440s, expiry=4500s
+2020-05-09 04:45:16.567 UTC: I(TimingThread): timing uncertainty check: heuristic=-288.493, limit=550, max(|deltaT|)=0.391 degC, elapsed=1500s, expiry=4500s
+2020-05-09 04:46:16.981 UTC: I(TimingThread): timing uncertainty check: heuristic=-311.987, limit=550, max(|deltaT|)=0.406 degC, elapsed=1560s, expiry=4500s
+2020-05-09 04:47:17.841 UTC: I(TimingThread): timing uncertainty check: heuristic=-336.815, limit=550, max(|deltaT|)=0.418 degC, elapsed=1620s, expiry=4500s
+2020-05-09 04:48:18.696 UTC: I(TimingThread): timing uncertainty check: heuristic=-362.502, limit=550, max(|deltaT|)=0.431 degC, elapsed=1680s, expiry=4500s
+2020-05-09 04:49:19.727 UTC: I(TimingThread): timing uncertainty check: heuristic=-389.084, limit=550, max(|deltaT|)=0.449 degC, elapsed=1740s, expiry=4500s
+2020-05-09 04:50:20.559 UTC: I(TimingThread): timing uncertainty check: heuristic=-416.514, limit=550, max(|deltaT|)=0.465 degC, elapsed=1800s, expiry=4500s
+2020-05-09 04:51:21.614 UTC: I(TimingThread): timing uncertainty check: heuristic=-444.875, limit=550, max(|deltaT|)=0.479 degC, elapsed=1860s, expiry=4500s
+2020-05-09 04:52:22.661 UTC: I(TimingThread): timing uncertainty check: heuristic=-474.111, limit=550, max(|deltaT|)=0.490 degC, elapsed=1920s, expiry=4500s
+2020-05-09 04:53:22.915 UTC: I(TimingThread): timing uncertainty check: heuristic=-503.675, limit=550, max(|deltaT|)=0.507 degC, elapsed=1980s, expiry=3600s
+2020-05-09 04:54:23.759 UTC: I(TimingThread): timing uncertainty check: heuristic=-534.632, limit=550, max(|deltaT|)=0.523 degC, elapsed=2040s, expiry=3600s
+2020-05-09 04:55:24.614 UTC: I(TimingThread): timing uncertainty check: heuristic=-566.413, limit=550, max(|deltaT|)=0.535 degC, elapsed=2100s, expiry=3600s
+2020-05-09 04:55:24.622 UTC: I(TimingThread|freeRun): exit
+2020-05-09 04:55:24.634 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 04:55:27.891 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 04:55:39.880 UTC: I(TimingThread|ClockValidator): GNSS time valid after 12017ms
+2020-05-09 04:55:40.008 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.121s
+2020-05-09 04:55:40.015 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -30 counts (-1.6 us), drift ~ -2.6 us/hour (measured over 2145 s)
+2020-05-09 04:55:40.027 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.014 Hz
+2020-05-09 04:56:27.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.509 Hz, converge time = 48 s
+2020-05-09 04:56:28.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 04:56:28.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 04:57:28.695 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.469, limit=550, max(|deltaT|)=0.019 degC, elapsed=60s, expiry=7200s
+2020-05-09 04:58:29.547 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.523, limit=550, max(|deltaT|)=0.031 degC, elapsed=120s, expiry=7200s
+2020-05-09 04:59:30.601 UTC: I(TimingThread): timing uncertainty check: heuristic=-3.218, limit=550, max(|deltaT|)=0.042 degC, elapsed=180s, expiry=7200s
+2020-05-09 05:00:31.660 UTC: I(TimingThread): timing uncertainty check: heuristic=-5.716, limit=550, max(|deltaT|)=0.053 degC, elapsed=240s, expiry=7200s
+2020-05-09 05:01:31.949 UTC: I(TimingThread): timing uncertainty check: heuristic=-8.917, limit=550, max(|deltaT|)=0.063 degC, elapsed=300s, expiry=6300s
+2020-05-09 05:02:32.800 UTC: I(TimingThread): timing uncertainty check: heuristic=-12.981, limit=550, max(|deltaT|)=0.083 degC, elapsed=360s, expiry=6300s
+2020-05-09 05:03:33.656 UTC: I(TimingThread): timing uncertainty check: heuristic=-17.864, limit=550, max(|deltaT|)=0.095 degC, elapsed=420s, expiry=6300s
+2020-05-09 05:04:34.640 UTC: I(TimingThread): timing uncertainty check: heuristic=-23.570, limit=550, max(|deltaT|)=0.106 degC, elapsed=480s, expiry=6300s
+2020-05-09 05:05:35.691 UTC: I(TimingThread): timing uncertainty check: heuristic=-30.050, limit=550, max(|deltaT|)=0.119 degC, elapsed=540s, expiry=6300s
+2020-05-09 05:06:36.543 UTC: I(TimingThread): timing uncertainty check: heuristic=-37.342, limit=550, max(|deltaT|)=0.134 degC, elapsed=600s, expiry=5400s
+2020-05-09 05:07:37.593 UTC: I(TimingThread): timing uncertainty check: heuristic=-45.534, limit=550, max(|deltaT|)=0.147 degC, elapsed=660s, expiry=5400s
+2020-05-09 05:08:37.945 UTC: I(TimingThread): timing uncertainty check: heuristic=-54.271, limit=550, max(|deltaT|)=0.159 degC, elapsed=720s, expiry=5400s
+2020-05-09 05:09:38.800 UTC: I(TimingThread): timing uncertainty check: heuristic=-64.000, limit=550, max(|deltaT|)=0.176 degC, elapsed=780s, expiry=5400s
+2020-05-09 05:10:39.707 UTC: I(TimingThread): timing uncertainty check: heuristic=-74.497, limit=550, max(|deltaT|)=0.190 degC, elapsed=840s, expiry=5400s
+2020-05-09 05:11:40.554 UTC: I(TimingThread): timing uncertainty check: heuristic=-85.772, limit=550, max(|deltaT|)=0.200 degC, elapsed=900s, expiry=5400s
+2020-05-09 05:12:41.617 UTC: I(TimingThread): timing uncertainty check: heuristic=-97.822, limit=550, max(|deltaT|)=0.210 degC, elapsed=960s, expiry=5400s
+2020-05-09 05:13:42.675 UTC: I(TimingThread): timing uncertainty check: heuristic=-110.627, limit=550, max(|deltaT|)=0.222 degC, elapsed=1020s, expiry=5400s
+2020-05-09 05:14:43.074 UTC: I(TimingThread): timing uncertainty check: heuristic=-123.940, limit=550, max(|deltaT|)=0.233 degC, elapsed=1080s, expiry=5400s
+2020-05-09 05:15:43.918 UTC: I(TimingThread): timing uncertainty check: heuristic=-138.144, limit=550, max(|deltaT|)=0.245 degC, elapsed=1140s, expiry=5400s
+2020-05-09 05:16:44.773 UTC: I(TimingThread): timing uncertainty check: heuristic=-153.154, limit=550, max(|deltaT|)=0.260 degC, elapsed=1200s, expiry=4500s
+2020-05-09 05:17:45.621 UTC: I(TimingThread): timing uncertainty check: heuristic=-169.004, limit=550, max(|deltaT|)=0.272 degC, elapsed=1260s, expiry=4500s
+2020-05-09 05:18:46.656 UTC: I(TimingThread): timing uncertainty check: heuristic=-185.451, limit=550, max(|deltaT|)=0.287 degC, elapsed=1320s, expiry=4500s
+2020-05-09 05:19:47.687 UTC: I(TimingThread): timing uncertainty check: heuristic=-202.740, limit=550, max(|deltaT|)=0.295 degC, elapsed=1380s, expiry=4500s
+2020-05-09 05:20:48.718 UTC: I(TimingThread): timing uncertainty check: heuristic=-220.704, limit=550, max(|deltaT|)=0.308 degC, elapsed=1440s, expiry=4500s
+2020-05-09 05:21:49.582 UTC: I(TimingThread): timing uncertainty check: heuristic=-239.353, limit=550, max(|deltaT|)=0.322 degC, elapsed=1500s, expiry=4500s
+2020-05-09 05:22:49.863 UTC: I(TimingThread): timing uncertainty check: heuristic=-258.290, limit=550, max(|deltaT|)=0.326 degC, elapsed=1560s, expiry=4500s
+2020-05-09 05:23:50.715 UTC: I(TimingThread): timing uncertainty check: heuristic=-278.338, limit=550, max(|deltaT|)=0.340 degC, elapsed=1620s, expiry=4500s
+2020-05-09 05:24:51.726 UTC: I(TimingThread): timing uncertainty check: heuristic=-298.993, limit=550, max(|deltaT|)=0.350 degC, elapsed=1680s, expiry=4500s
+2020-05-09 05:25:52.574 UTC: I(TimingThread): timing uncertainty check: heuristic=-320.342, limit=550, max(|deltaT|)=0.362 degC, elapsed=1740s, expiry=4500s
+2020-05-09 05:26:53.625 UTC: I(TimingThread): timing uncertainty check: heuristic=-342.452, limit=550, max(|deltaT|)=0.374 degC, elapsed=1800s, expiry=4500s
+2020-05-09 05:27:54.679 UTC: I(TimingThread): timing uncertainty check: heuristic=-365.114, limit=550, max(|deltaT|)=0.383 degC, elapsed=1860s, expiry=4500s
+2020-05-09 05:28:54.980 UTC: I(TimingThread): timing uncertainty check: heuristic=-388.102, limit=550, max(|deltaT|)=0.396 degC, elapsed=1920s, expiry=4500s
+2020-05-09 05:29:55.836 UTC: I(TimingThread): timing uncertainty check: heuristic=-412.060, limit=550, max(|deltaT|)=0.405 degC, elapsed=1980s, expiry=4500s
+2020-05-09 05:30:56.691 UTC: I(TimingThread): timing uncertainty check: heuristic=-436.698, limit=550, max(|deltaT|)=0.416 degC, elapsed=2040s, expiry=4500s
+2020-05-09 05:31:57.648 UTC: I(TimingThread): timing uncertainty check: heuristic=-462.032, limit=550, max(|deltaT|)=0.429 degC, elapsed=2100s, expiry=4500s
+2020-05-09 05:32:58.695 UTC: I(TimingThread): timing uncertainty check: heuristic=-488.000, limit=550, max(|deltaT|)=0.440 degC, elapsed=2160s, expiry=4500s
+2020-05-09 05:33:59.554 UTC: I(TimingThread): timing uncertainty check: heuristic=-514.543, limit=550, max(|deltaT|)=0.449 degC, elapsed=2220s, expiry=4500s
+2020-05-09 05:35:00.625 UTC: I(TimingThread): timing uncertainty check: heuristic=-541.750, limit=550, max(|deltaT|)=0.464 degC, elapsed=2280s, expiry=4500s
+2020-05-09 05:36:00.972 UTC: I(TimingThread): timing uncertainty check: heuristic=-569.160, limit=550, max(|deltaT|)=0.475 degC, elapsed=2340s, expiry=4500s
+2020-05-09 05:36:00.980 UTC: I(TimingThread|freeRun): exit
+2020-05-09 05:36:00.988 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 05:36:03.875 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 05:36:15.867 UTC: I(TimingThread|ClockValidator): GNSS time valid after 12021ms
+2020-05-09 05:36:16.009 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.134s
+2020-05-09 05:36:16.020 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -65 counts (-3.4 us), drift ~ -5.1 us/hour (measured over 2388 s)
+2020-05-09 05:36:16.028 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.027 Hz
+2020-05-09 05:37:08.997 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.586 Hz, converge time = 53 s
+2020-05-09 05:37:09.005 UTC: I(TimingThread|discipline): exit
+2020-05-09 05:37:09.016 UTC: I(TimingThread|freeRun): enter
+2020-05-09 05:38:09.817 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.050, limit=550, max(|deltaT|)=0.012 degC, elapsed=60s, expiry=7200s
+2020-05-09 05:39:10.669 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.444, limit=550, max(|deltaT|)=0.018 degC, elapsed=120s, expiry=7200s
+2020-05-09 05:40:11.723 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.297, limit=550, max(|deltaT|)=0.028 degC, elapsed=180s, expiry=7200s
+2020-05-09 05:41:12.567 UTC: I(TimingThread): timing uncertainty check: heuristic=-2.705, limit=550, max(|deltaT|)=0.033 degC, elapsed=240s, expiry=7200s
+2020-05-09 05:42:13.614 UTC: I(TimingThread): timing uncertainty check: heuristic=-4.627, limit=550, max(|deltaT|)=0.041 degC, elapsed=300s, expiry=7200s
+2020-05-09 05:43:14.669 UTC: I(TimingThread): timing uncertainty check: heuristic=-7.135, limit=550, max(|deltaT|)=0.052 degC, elapsed=360s, expiry=7200s
+2020-05-09 05:44:14.926 UTC: I(TimingThread): timing uncertainty check: heuristic=-10.163, limit=550, max(|deltaT|)=0.061 degC, elapsed=420s, expiry=7200s
+2020-05-09 05:45:15.786 UTC: I(TimingThread): timing uncertainty check: heuristic=-13.809, limit=550, max(|deltaT|)=0.070 degC, elapsed=480s, expiry=6300s
+2020-05-09 05:46:16.653 UTC: I(TimingThread): timing uncertainty check: heuristic=-18.009, limit=550, max(|deltaT|)=0.079 degC, elapsed=540s, expiry=6300s
+2020-05-09 05:47:17.657 UTC: I(TimingThread): timing uncertainty check: heuristic=-22.801, limit=550, max(|deltaT|)=0.090 degC, elapsed=600s, expiry=6300s
+2020-05-09 05:48:18.723 UTC: I(TimingThread): timing uncertainty check: heuristic=-28.156, limit=550, max(|deltaT|)=0.100 degC, elapsed=660s, expiry=6300s
+2020-05-09 05:49:19.567 UTC: I(TimingThread): timing uncertainty check: heuristic=-34.044, limit=550, max(|deltaT|)=0.106 degC, elapsed=720s, expiry=6300s
+2020-05-09 05:50:20.626 UTC: I(TimingThread): timing uncertainty check: heuristic=-40.547, limit=550, max(|deltaT|)=0.116 degC, elapsed=780s, expiry=6300s
+2020-05-09 05:51:20.930 UTC: I(TimingThread): timing uncertainty check: heuristic=-47.491, limit=550, max(|deltaT|)=0.131 degC, elapsed=840s, expiry=5400s
+2020-05-09 05:52:21.782 UTC: I(TimingThread): timing uncertainty check: heuristic=-55.160, limit=550, max(|deltaT|)=0.136 degC, elapsed=900s, expiry=5400s
+2020-05-09 05:53:22.637 UTC: I(TimingThread): timing uncertainty check: heuristic=-63.311, limit=550, max(|deltaT|)=0.144 degC, elapsed=960s, expiry=5400s
+2020-05-09 05:54:23.602 UTC: I(TimingThread): timing uncertainty check: heuristic=-72.033, limit=550, max(|deltaT|)=0.155 degC, elapsed=1020s, expiry=5400s
+2020-05-09 05:55:24.657 UTC: I(TimingThread): timing uncertainty check: heuristic=-81.236, limit=550, max(|deltaT|)=0.167 degC, elapsed=1080s, expiry=5400s
+2020-05-09 05:56:25.700 UTC: I(TimingThread): timing uncertainty check: heuristic=-90.921, limit=550, max(|deltaT|)=0.170 degC, elapsed=1140s, expiry=5400s
+2020-05-09 05:57:26.544 UTC: I(TimingThread): timing uncertainty check: heuristic=-101.098, limit=550, max(|deltaT|)=0.181 degC, elapsed=1200s, expiry=5400s
+2020-05-09 05:58:26.899 UTC: I(TimingThread): timing uncertainty check: heuristic=-111.542, limit=550, max(|deltaT|)=0.188 degC, elapsed=1260s, expiry=5400s
+2020-05-09 05:59:27.755 UTC: I(TimingThread): timing uncertainty check: heuristic=-122.685, limit=550, max(|deltaT|)=0.195 degC, elapsed=1320s, expiry=5400s
+2020-05-09 06:00:28.661 UTC: I(TimingThread): timing uncertainty check: heuristic=-134.268, limit=550, max(|deltaT|)=0.202 degC, elapsed=1380s, expiry=5400s
+2020-05-09 06:01:29.712 UTC: I(TimingThread): timing uncertainty check: heuristic=-146.371, limit=550, max(|deltaT|)=0.211 degC, elapsed=1440s, expiry=5400s
+2020-05-09 06:02:30.571 UTC: I(TimingThread): timing uncertainty check: heuristic=-158.890, limit=550, max(|deltaT|)=0.216 degC, elapsed=1500s, expiry=5400s
+2020-05-09 06:03:31.610 UTC: I(TimingThread): timing uncertainty check: heuristic=-171.969, limit=550, max(|deltaT|)=0.225 degC, elapsed=1560s, expiry=5400s
+2020-05-09 06:04:32.657 UTC: I(TimingThread): timing uncertainty check: heuristic=-185.507, limit=550, max(|deltaT|)=0.235 degC, elapsed=1620s, expiry=5400s
+2020-05-09 06:05:32.884 UTC: I(TimingThread): timing uncertainty check: heuristic=-199.297, limit=550, max(|deltaT|)=0.239 degC, elapsed=1680s, expiry=5400s
+2020-05-09 06:06:33.735 UTC: I(TimingThread): timing uncertainty check: heuristic=-213.757, limit=550, max(|deltaT|)=0.249 degC, elapsed=1740s, expiry=5400s
+2020-05-09 06:07:34.591 UTC: I(TimingThread): timing uncertainty check: heuristic=-228.626, limit=550, max(|deltaT|)=0.254 degC, elapsed=1800s, expiry=4500s
+2020-05-09 06:08:35.637 UTC: I(TimingThread): timing uncertainty check: heuristic=-243.954, limit=550, max(|deltaT|)=0.270 degC, elapsed=1860s, expiry=4500s
+2020-05-09 06:09:36.704 UTC: I(TimingThread): timing uncertainty check: heuristic=-259.696, limit=550, max(|deltaT|)=0.270 degC, elapsed=1920s, expiry=4500s
+2020-05-09 06:10:37.555 UTC: I(TimingThread): timing uncertainty check: heuristic=-275.948, limit=550, max(|deltaT|)=0.276 degC, elapsed=1980s, expiry=4500s
+2020-05-09 06:11:38.618 UTC: I(TimingThread): timing uncertainty check: heuristic=-292.590, limit=550, max(|deltaT|)=0.285 degC, elapsed=2040s, expiry=4500s
+2020-05-09 06:12:38.856 UTC: I(TimingThread): timing uncertainty check: heuristic=-309.412, limit=550, max(|deltaT|)=0.292 degC, elapsed=2100s, expiry=4500s
+2020-05-09 06:13:39.704 UTC: I(TimingThread): timing uncertainty check: heuristic=-326.925, limit=550, max(|deltaT|)=0.299 degC, elapsed=2160s, expiry=4500s
+2020-05-09 06:14:40.712 UTC: I(TimingThread): timing uncertainty check: heuristic=-344.955, limit=550, max(|deltaT|)=0.309 degC, elapsed=2220s, expiry=4500s
+2020-05-09 06:15:41.571 UTC: I(TimingThread): timing uncertainty check: heuristic=-363.324, limit=550, max(|deltaT|)=0.313 degC, elapsed=2280s, expiry=4500s
+2020-05-09 06:16:42.622 UTC: I(TimingThread): timing uncertainty check: heuristic=-382.096, limit=550, max(|deltaT|)=0.317 degC, elapsed=2340s, expiry=4500s
+2020-05-09 06:17:43.676 UTC: I(TimingThread): timing uncertainty check: heuristic=-401.291, limit=550, max(|deltaT|)=0.327 degC, elapsed=2400s, expiry=4500s
+2020-05-09 06:18:43.954 UTC: I(TimingThread): timing uncertainty check: heuristic=-420.526, limit=550, max(|deltaT|)=0.335 degC, elapsed=2460s, expiry=4500s
+2020-05-09 06:19:44.801 UTC: I(TimingThread): timing uncertainty check: heuristic=-440.494, limit=550, max(|deltaT|)=0.337 degC, elapsed=2520s, expiry=4500s
+2020-05-09 06:20:45.645 UTC: I(TimingThread): timing uncertainty check: heuristic=-460.894, limit=550, max(|deltaT|)=0.345 degC, elapsed=2580s, expiry=4500s
+2020-05-09 06:21:46.594 UTC: I(TimingThread): timing uncertainty check: heuristic=-481.660, limit=550, max(|deltaT|)=0.352 degC, elapsed=2640s, expiry=4500s
+2020-05-09 06:22:47.634 UTC: I(TimingThread): timing uncertainty check: heuristic=-502.764, limit=550, max(|deltaT|)=0.358 degC, elapsed=2700s, expiry=4500s
+2020-05-09 06:23:48.680 UTC: I(TimingThread): timing uncertainty check: heuristic=-524.255, limit=550, max(|deltaT|)=0.366 degC, elapsed=2760s, expiry=4500s
+2020-05-09 06:24:49.024 UTC: I(TimingThread): timing uncertainty check: heuristic=-545.750, limit=550, max(|deltaT|)=0.375 degC, elapsed=2820s, expiry=4500s
+2020-05-09 06:25:49.876 UTC: I(TimingThread): timing uncertainty check: heuristic=-567.923, limit=550, max(|deltaT|)=0.375 degC, elapsed=2880s, expiry=4500s
+2020-05-09 06:25:49.884 UTC: I(TimingThread|freeRun): exit
+2020-05-09 06:25:49.895 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 06:25:52.837 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 06:26:03.837 UTC: I(TimingThread|ClockValidator): GNSS time valid after 11030ms
+2020-05-09 06:26:04.007 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.163s
+2020-05-09 06:26:04.018 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -23 counts (-1.2 us), drift ~ -1.5 us/hour (measured over 2935 s)
+2020-05-09 06:26:04.026 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.008 Hz
+2020-05-09 06:26:50.995 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.644 Hz, converge time = 47 s
+2020-05-09 06:26:51.003 UTC: I(TimingThread|discipline): exit
+2020-05-09 06:26:51.014 UTC: I(TimingThread|freeRun): enter
+2020-05-09 06:27:51.768 UTC: I(TimingThread): timing uncertainty check: heuristic=+0.858, limit=550, max(|deltaT|)=0.025 degC, elapsed=60s, expiry=7200s
+2020-05-09 06:28:52.612 UTC: I(TimingThread): timing uncertainty check: heuristic=+1.570, limit=550, max(|deltaT|)=0.025 degC, elapsed=120s, expiry=7200s
+2020-05-09 06:29:53.608 UTC: I(TimingThread): timing uncertainty check: heuristic=+2.050, limit=550, max(|deltaT|)=0.025 degC, elapsed=180s, expiry=7200s
+2020-05-09 06:30:54.671 UTC: I(TimingThread): timing uncertainty check: heuristic=+2.284, limit=550, max(|deltaT|)=0.025 degC, elapsed=240s, expiry=7200s
+2020-05-09 06:31:55.717 UTC: I(TimingThread): timing uncertainty check: heuristic=+2.225, limit=550, max(|deltaT|)=0.025 degC, elapsed=300s, expiry=7200s
+2020-05-09 06:32:56.573 UTC: I(TimingThread): timing uncertainty check: heuristic=+1.766, limit=550, max(|deltaT|)=0.025 degC, elapsed=360s, expiry=7200s
+2020-05-09 06:33:56.866 UTC: I(TimingThread): timing uncertainty check: heuristic=+0.971, limit=550, max(|deltaT|)=0.025 degC, elapsed=420s, expiry=7200s
+2020-05-09 06:34:57.717 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.133, limit=550, max(|deltaT|)=0.028 degC, elapsed=480s, expiry=7200s
+2020-05-09 06:35:58.686 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.651, limit=550, max(|deltaT|)=0.037 degC, elapsed=540s, expiry=7200s
+2020-05-09 06:36:59.729 UTC: I(TimingThread): timing uncertainty check: heuristic=-3.619, limit=550, max(|deltaT|)=0.049 degC, elapsed=600s, expiry=7200s
+2020-05-09 06:38:00.569 UTC: I(TimingThread): timing uncertainty check: heuristic=-5.964, limit=550, max(|deltaT|)=0.054 degC, elapsed=660s, expiry=7200s
+2020-05-09 06:39:01.620 UTC: I(TimingThread): timing uncertainty check: heuristic=-8.688, limit=550, max(|deltaT|)=0.056 degC, elapsed=720s, expiry=7200s
+2020-05-09 06:40:01.983 UTC: I(TimingThread): timing uncertainty check: heuristic=-11.697, limit=550, max(|deltaT|)=0.059 degC, elapsed=780s, expiry=7200s
+2020-05-09 06:41:02.835 UTC: I(TimingThread): timing uncertainty check: heuristic=-15.200, limit=550, max(|deltaT|)=0.066 degC, elapsed=840s, expiry=6300s
+2020-05-09 06:42:03.729 UTC: I(TimingThread): timing uncertainty check: heuristic=-19.007, limit=550, max(|deltaT|)=0.073 degC, elapsed=900s, expiry=6300s
+2020-05-09 06:43:04.581 UTC: I(TimingThread): timing uncertainty check: heuristic=-23.337, limit=550, max(|deltaT|)=0.084 degC, elapsed=960s, expiry=6300s
+2020-05-09 06:44:05.643 UTC: I(TimingThread): timing uncertainty check: heuristic=-27.981, limit=550, max(|deltaT|)=0.089 degC, elapsed=1020s, expiry=6300s
+2020-05-09 06:45:06.678 UTC: I(TimingThread): timing uncertainty check: heuristic=-33.124, limit=550, max(|deltaT|)=0.094 degC, elapsed=1080s, expiry=6300s
+2020-05-09 06:46:07.077 UTC: I(TimingThread): timing uncertainty check: heuristic=-38.636, limit=550, max(|deltaT|)=0.106 degC, elapsed=1140s, expiry=6300s
+2020-05-09 06:47:07.921 UTC: I(TimingThread): timing uncertainty check: heuristic=-44.552, limit=550, max(|deltaT|)=0.106 degC, elapsed=1200s, expiry=6300s
+2020-05-09 06:48:08.760 UTC: I(TimingThread): timing uncertainty check: heuristic=-50.906, limit=550, max(|deltaT|)=0.114 degC, elapsed=1260s, expiry=6300s
+2020-05-09 06:49:09.608 UTC: I(TimingThread): timing uncertainty check: heuristic=-57.652, limit=550, max(|deltaT|)=0.124 degC, elapsed=1320s, expiry=6300s
+2020-05-09 06:50:10.663 UTC: I(TimingThread): timing uncertainty check: heuristic=-64.846, limit=550, max(|deltaT|)=0.132 degC, elapsed=1380s, expiry=5400s
+2020-05-09 06:51:11.717 UTC: I(TimingThread): timing uncertainty check: heuristic=-72.497, limit=550, max(|deltaT|)=0.138 degC, elapsed=1440s, expiry=5400s
+2020-05-09 06:52:12.561 UTC: I(TimingThread): timing uncertainty check: heuristic=-80.566, limit=550, max(|deltaT|)=0.145 degC, elapsed=1500s, expiry=5400s
+2020-05-09 06:53:13.624 UTC: I(TimingThread): timing uncertainty check: heuristic=-89.014, limit=550, max(|deltaT|)=0.147 degC, elapsed=1560s, expiry=5400s
+2020-05-09 06:54:13.874 UTC: I(TimingThread): timing uncertainty check: heuristic=-97.760, limit=550, max(|deltaT|)=0.156 degC, elapsed=1620s, expiry=5400s
+2020-05-09 06:55:14.721 UTC: I(TimingThread): timing uncertainty check: heuristic=-107.075, limit=550, max(|deltaT|)=0.165 degC, elapsed=1680s, expiry=5400s
+2020-05-09 06:56:15.714 UTC: I(TimingThread): timing uncertainty check: heuristic=-116.764, limit=550, max(|deltaT|)=0.170 degC, elapsed=1740s, expiry=5400s
+2020-05-09 06:57:16.581 UTC: I(TimingThread): timing uncertainty check: heuristic=-126.807, limit=550, max(|deltaT|)=0.176 degC, elapsed=1800s, expiry=5400s
+2020-05-09 06:58:17.632 UTC: I(TimingThread): timing uncertainty check: heuristic=-137.303, limit=550, max(|deltaT|)=0.186 degC, elapsed=1860s, expiry=5400s
+2020-05-09 06:59:18.698 UTC: I(TimingThread): timing uncertainty check: heuristic=-148.235, limit=550, max(|deltaT|)=0.189 degC, elapsed=1920s, expiry=5400s
+2020-05-09 07:00:19.557 UTC: I(TimingThread): timing uncertainty check: heuristic=-159.535, limit=550, max(|deltaT|)=0.195 degC, elapsed=1980s, expiry=5400s
+2020-05-09 07:01:19.866 UTC: I(TimingThread): timing uncertainty check: heuristic=-171.129, limit=550, max(|deltaT|)=0.203 degC, elapsed=2040s, expiry=5400s
+2020-05-09 07:02:20.725 UTC: I(TimingThread): timing uncertainty check: heuristic=-183.273, limit=550, max(|deltaT|)=0.208 degC, elapsed=2100s, expiry=5400s
+2020-05-09 07:03:21.694 UTC: I(TimingThread): timing uncertainty check: heuristic=-195.827, limit=550, max(|deltaT|)=0.217 degC, elapsed=2160s, expiry=5400s
+2020-05-09 07:04:22.538 UTC: I(TimingThread): timing uncertainty check: heuristic=-208.836, limit=550, max(|deltaT|)=0.227 degC, elapsed=2220s, expiry=5400s
+2020-05-09 07:05:23.612 UTC: I(TimingThread): timing uncertainty check: heuristic=-222.263, limit=550, max(|deltaT|)=0.234 degC, elapsed=2280s, expiry=5400s
+2020-05-09 07:06:24.655 UTC: I(TimingThread): timing uncertainty check: heuristic=-236.084, limit=550, max(|deltaT|)=0.242 degC, elapsed=2340s, expiry=5400s
+2020-05-09 07:07:25.014 UTC: I(TimingThread): timing uncertainty check: heuristic=-250.024, limit=550, max(|deltaT|)=0.246 degC, elapsed=2400s, expiry=5400s
+2020-05-09 07:08:25.870 UTC: I(TimingThread): timing uncertainty check: heuristic=-264.632, limit=550, max(|deltaT|)=0.253 degC, elapsed=2460s, expiry=4500s
+2020-05-09 07:09:26.725 UTC: I(TimingThread): timing uncertainty check: heuristic=-279.720, limit=550, max(|deltaT|)=0.258 degC, elapsed=2520s, expiry=4500s
+2020-05-09 07:10:27.655 UTC: I(TimingThread): timing uncertainty check: heuristic=-295.263, limit=550, max(|deltaT|)=0.266 degC, elapsed=2580s, expiry=4500s
+2020-05-09 07:11:28.710 UTC: I(TimingThread): timing uncertainty check: heuristic=-311.204, limit=550, max(|deltaT|)=0.274 degC, elapsed=2640s, expiry=4500s
+2020-05-09 07:12:29.561 UTC: I(TimingThread): timing uncertainty check: heuristic=-327.502, limit=550, max(|deltaT|)=0.277 degC, elapsed=2700s, expiry=4500s
+2020-05-09 07:13:30.628 UTC: I(TimingThread): timing uncertainty check: heuristic=-344.272, limit=550, max(|deltaT|)=0.285 degC, elapsed=2760s, expiry=4500s
+2020-05-09 07:14:31.038 UTC: I(TimingThread): timing uncertainty check: heuristic=-361.078, limit=550, max(|deltaT|)=0.295 degC, elapsed=2820s, expiry=4500s
+2020-05-09 07:15:31.905 UTC: I(TimingThread): timing uncertainty check: heuristic=-378.651, limit=550, max(|deltaT|)=0.301 degC, elapsed=2880s, expiry=4500s
+2020-05-09 07:16:32.764 UTC: I(TimingThread): timing uncertainty check: heuristic=-396.757, limit=550, max(|deltaT|)=0.308 degC, elapsed=2940s, expiry=4500s
+2020-05-09 07:17:33.659 UTC: I(TimingThread): timing uncertainty check: heuristic=-415.216, limit=550, max(|deltaT|)=0.312 degC, elapsed=3000s, expiry=4500s
+2020-05-09 07:18:34.721 UTC: I(TimingThread): timing uncertainty check: heuristic=-434.163, limit=550, max(|deltaT|)=0.322 degC, elapsed=3060s, expiry=4500s
+2020-05-09 07:19:35.561 UTC: I(TimingThread): timing uncertainty check: heuristic=-453.558, limit=550, max(|deltaT|)=0.330 degC, elapsed=3120s, expiry=4500s
+2020-05-09 07:20:36.604 UTC: I(TimingThread): timing uncertainty check: heuristic=-473.388, limit=550, max(|deltaT|)=0.339 degC, elapsed=3180s, expiry=4500s
+2020-05-09 07:21:37.659 UTC: I(TimingThread): timing uncertainty check: heuristic=-493.646, limit=550, max(|deltaT|)=0.345 degC, elapsed=3240s, expiry=4500s
+2020-05-09 07:22:37.905 UTC: I(TimingThread): timing uncertainty check: heuristic=-513.988, limit=550, max(|deltaT|)=0.347 degC, elapsed=3300s, expiry=4500s
+2020-05-09 07:23:38.768 UTC: I(TimingThread): timing uncertainty check: heuristic=-535.098, limit=550, max(|deltaT|)=0.357 degC, elapsed=3360s, expiry=4500s
+2020-05-09 07:24:39.632 UTC: I(TimingThread): timing uncertainty check: heuristic=-556.639, limit=550, max(|deltaT|)=0.362 degC, elapsed=3420s, expiry=4500s
+2020-05-09 07:24:39.639 UTC: I(TimingThread|freeRun): exit
+2020-05-09 07:24:39.655 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 07:24:43.827 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 07:24:51.807 UTC: I(TimingThread|ClockValidator): GNSS time valid after 7997ms
+2020-05-09 07:24:52.008 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.193s
+2020-05-09 07:24:52.015 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +9 counts (+0.5 us), drift ~ +0.5 us/hour (measured over 3481 s)
+2020-05-09 07:24:52.023 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.003 Hz
+2020-05-09 07:25:32.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.641 Hz, converge time = 41 s
+2020-05-09 07:25:33.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 07:25:33.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 07:26:33.652 UTC: I(TimingThread): timing uncertainty check: heuristic=+0.366, limit=550, max(|deltaT|)=0.017 degC, elapsed=60s, expiry=7200s
+2020-05-09 07:27:34.715 UTC: I(TimingThread): timing uncertainty check: heuristic=+0.410, limit=550, max(|deltaT|)=0.017 degC, elapsed=120s, expiry=7200s
+2020-05-09 07:28:35.566 UTC: I(TimingThread): timing uncertainty check: heuristic=+0.191, limit=550, max(|deltaT|)=0.017 degC, elapsed=180s, expiry=7200s
+2020-05-09 07:29:36.617 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.445, limit=550, max(|deltaT|)=0.022 degC, elapsed=240s, expiry=7200s
+2020-05-09 07:30:36.996 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.458, limit=550, max(|deltaT|)=0.026 degC, elapsed=300s, expiry=7200s
+2020-05-09 07:31:37.847 UTC: I(TimingThread): timing uncertainty check: heuristic=-2.933, limit=550, max(|deltaT|)=0.034 degC, elapsed=360s, expiry=7200s
+2020-05-09 07:32:38.726 UTC: I(TimingThread): timing uncertainty check: heuristic=-4.833, limit=550, max(|deltaT|)=0.041 degC, elapsed=420s, expiry=7200s
+2020-05-09 07:33:39.566 UTC: I(TimingThread): timing uncertainty check: heuristic=-7.205, limit=550, max(|deltaT|)=0.050 degC, elapsed=480s, expiry=7200s
+2020-05-09 07:34:40.609 UTC: I(TimingThread): timing uncertainty check: heuristic=-10.077, limit=550, max(|deltaT|)=0.056 degC, elapsed=540s, expiry=7200s
+2020-05-09 07:35:41.668 UTC: I(TimingThread): timing uncertainty check: heuristic=-13.429, limit=550, max(|deltaT|)=0.066 degC, elapsed=600s, expiry=6300s
+2020-05-09 07:36:42.715 UTC: I(TimingThread): timing uncertainty check: heuristic=-17.306, limit=550, max(|deltaT|)=0.073 degC, elapsed=660s, expiry=6300s
+2020-05-09 07:37:43.570 UTC: I(TimingThread): timing uncertainty check: heuristic=-21.601, limit=550, max(|deltaT|)=0.080 degC, elapsed=720s, expiry=6300s
+2020-05-09 07:38:43.824 UTC: I(TimingThread): timing uncertainty check: heuristic=-26.435, limit=550, max(|deltaT|)=0.095 degC, elapsed=780s, expiry=6300s
+2020-05-09 07:39:44.675 UTC: I(TimingThread): timing uncertainty check: heuristic=-31.787, limit=550, max(|deltaT|)=0.104 degC, elapsed=840s, expiry=6300s
+2020-05-09 07:40:45.722 UTC: I(TimingThread): timing uncertainty check: heuristic=-37.757, limit=550, max(|deltaT|)=0.111 degC, elapsed=900s, expiry=6300s
+2020-05-09 07:41:46.570 UTC: I(TimingThread): timing uncertainty check: heuristic=-44.319, limit=550, max(|deltaT|)=0.119 degC, elapsed=960s, expiry=6300s
+2020-05-09 07:42:47.605 UTC: I(TimingThread): timing uncertainty check: heuristic=-51.344, limit=550, max(|deltaT|)=0.127 degC, elapsed=1020s, expiry=5400s
+2020-05-09 07:43:48.644 UTC: I(TimingThread): timing uncertainty check: heuristic=-58.921, limit=550, max(|deltaT|)=0.143 degC, elapsed=1080s, expiry=5400s
+2020-05-09 07:44:48.914 UTC: I(TimingThread): timing uncertainty check: heuristic=-66.891, limit=550, max(|deltaT|)=0.143 degC, elapsed=1140s, expiry=5400s
+2020-05-09 07:45:49.777 UTC: I(TimingThread): timing uncertainty check: heuristic=-75.656, limit=550, max(|deltaT|)=0.159 degC, elapsed=1200s, expiry=5400s
+2020-05-09 07:46:50.625 UTC: I(TimingThread): timing uncertainty check: heuristic=-84.972, limit=550, max(|deltaT|)=0.165 degC, elapsed=1260s, expiry=5400s
+2020-05-09 07:47:51.613 UTC: I(TimingThread): timing uncertainty check: heuristic=-94.917, limit=550, max(|deltaT|)=0.175 degC, elapsed=1320s, expiry=5400s
+2020-05-09 07:48:52.668 UTC: I(TimingThread): timing uncertainty check: heuristic=-105.479, limit=550, max(|deltaT|)=0.187 degC, elapsed=1380s, expiry=5400s
+2020-05-09 07:49:53.718 UTC: I(TimingThread): timing uncertainty check: heuristic=-116.576, limit=550, max(|deltaT|)=0.197 degC, elapsed=1440s, expiry=5400s
+2020-05-09 07:50:54.562 UTC: I(TimingThread): timing uncertainty check: heuristic=-128.288, limit=550, max(|deltaT|)=0.205 degC, elapsed=1500s, expiry=5400s
+2020-05-09 07:51:54.875 UTC: I(TimingThread): timing uncertainty check: heuristic=-140.361, limit=550, max(|deltaT|)=0.211 degC, elapsed=1560s, expiry=5400s
+2020-05-09 07:52:55.722 UTC: I(TimingThread): timing uncertainty check: heuristic=-153.208, limit=550, max(|deltaT|)=0.220 degC, elapsed=1620s, expiry=5400s
+2020-05-09 07:53:56.656 UTC: I(TimingThread): timing uncertainty check: heuristic=-166.635, limit=550, max(|deltaT|)=0.238 degC, elapsed=1680s, expiry=5400s
+2020-05-09 07:54:57.699 UTC: I(TimingThread): timing uncertainty check: heuristic=-180.664, limit=550, max(|deltaT|)=0.245 degC, elapsed=1740s, expiry=5400s
+2020-05-09 07:55:58.734 UTC: I(TimingThread): timing uncertainty check: heuristic=-195.323, limit=550, max(|deltaT|)=0.257 degC, elapsed=1800s, expiry=4500s
+2020-05-09 07:56:59.558 UTC: I(TimingThread): timing uncertainty check: heuristic=-210.640, limit=550, max(|deltaT|)=0.264 degC, elapsed=1860s, expiry=4500s
+2020-05-09 07:57:59.965 UTC: I(TimingThread): timing uncertainty check: heuristic=-226.221, limit=550, max(|deltaT|)=0.273 degC, elapsed=1920s, expiry=4500s
+2020-05-09 07:59:00.808 UTC: I(TimingThread): timing uncertainty check: heuristic=-242.592, limit=550, max(|deltaT|)=0.281 degC, elapsed=1980s, expiry=4500s
+2020-05-09 08:00:01.664 UTC: I(TimingThread): timing uncertainty check: heuristic=-259.654, limit=550, max(|deltaT|)=0.297 degC, elapsed=2040s, expiry=4500s
+2020-05-09 08:01:02.703 UTC: I(TimingThread): timing uncertainty check: heuristic=-277.235, limit=550, max(|deltaT|)=0.303 degC, elapsed=2100s, expiry=4500s
+2020-05-09 08:02:03.566 UTC: I(TimingThread): timing uncertainty check: heuristic=-295.442, limit=550, max(|deltaT|)=0.308 degC, elapsed=2160s, expiry=4500s
+2020-05-09 08:03:04.609 UTC: I(TimingThread): timing uncertainty check: heuristic=-314.314, limit=550, max(|deltaT|)=0.320 degC, elapsed=2220s, expiry=4500s
+2020-05-09 08:04:05.648 UTC: I(TimingThread): timing uncertainty check: heuristic=-333.711, limit=550, max(|deltaT|)=0.329 degC, elapsed=2280s, expiry=4500s
+2020-05-09 08:05:05.898 UTC: I(TimingThread): timing uncertainty check: heuristic=-353.378, limit=550, max(|deltaT|)=0.338 degC, elapsed=2340s, expiry=4500s
+2020-05-09 08:06:06.750 UTC: I(TimingThread): timing uncertainty check: heuristic=-373.869, limit=550, max(|deltaT|)=0.347 degC, elapsed=2400s, expiry=4500s
+2020-05-09 08:07:07.601 UTC: I(TimingThread): timing uncertainty check: heuristic=-395.007, limit=550, max(|deltaT|)=0.359 degC, elapsed=2460s, expiry=4500s
+2020-05-09 08:08:08.601 UTC: I(TimingThread): timing uncertainty check: heuristic=-416.641, limit=550, max(|deltaT|)=0.366 degC, elapsed=2520s, expiry=4500s
+2020-05-09 08:09:09.656 UTC: I(TimingThread): timing uncertainty check: heuristic=-438.879, limit=550, max(|deltaT|)=0.373 degC, elapsed=2580s, expiry=4500s
+2020-05-09 08:10:10.707 UTC: I(TimingThread): timing uncertainty check: heuristic=-461.660, limit=550, max(|deltaT|)=0.384 degC, elapsed=2640s, expiry=4500s
+2020-05-09 08:11:11.562 UTC: I(TimingThread): timing uncertainty check: heuristic=-484.968, limit=550, max(|deltaT|)=0.392 degC, elapsed=2700s, expiry=4500s
+2020-05-09 08:12:11.875 UTC: I(TimingThread): timing uncertainty check: heuristic=-508.444, limit=550, max(|deltaT|)=0.406 degC, elapsed=2760s, expiry=4500s
+2020-05-09 08:13:12.726 UTC: I(TimingThread): timing uncertainty check: heuristic=-532.936, limit=550, max(|deltaT|)=0.415 degC, elapsed=2820s, expiry=4500s
+2020-05-09 08:14:13.683 UTC: I(TimingThread): timing uncertainty check: heuristic=-557.997, limit=550, max(|deltaT|)=0.424 degC, elapsed=2880s, expiry=4500s
+2020-05-09 08:14:13.691 UTC: I(TimingThread|freeRun): exit
+2020-05-09 08:14:13.703 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 08:14:17.840 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 08:14:27.836 UTC: I(TimingThread|ClockValidator): GNSS time valid after 10018ms
+2020-05-09 08:14:28.008 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.165s
+2020-05-09 08:14:28.015 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -218 counts (-11.4 us), drift ~ -13.9 us/hour (measured over 2935 s)
+2020-05-09 08:14:28.023 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.074 Hz
+2020-05-09 08:15:27.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.816 Hz, converge time = 60 s
+2020-05-09 08:15:28.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 08:15:28.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 08:16:28.582 UTC: I(TimingThread): timing uncertainty check: heuristic=+0.216, limit=550, max(|deltaT|)=0.014 degC, elapsed=60s, expiry=7200s
+2020-05-09 08:17:29.613 UTC: I(TimingThread): timing uncertainty check: heuristic=+0.236, limit=550, max(|deltaT|)=0.014 degC, elapsed=120s, expiry=7200s
+2020-05-09 08:18:30.652 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.168, limit=550, max(|deltaT|)=0.021 degC, elapsed=180s, expiry=7200s
+2020-05-09 08:19:31.695 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.017, limit=550, max(|deltaT|)=0.028 degC, elapsed=240s, expiry=7200s
+2020-05-09 08:20:31.933 UTC: I(TimingThread): timing uncertainty check: heuristic=-2.231, limit=550, max(|deltaT|)=0.034 degC, elapsed=300s, expiry=7200s
+2020-05-09 08:21:32.785 UTC: I(TimingThread): timing uncertainty check: heuristic=-3.987, limit=550, max(|deltaT|)=0.039 degC, elapsed=360s, expiry=7200s
+2020-05-09 08:22:33.636 UTC: I(TimingThread): timing uncertainty check: heuristic=-6.234, limit=550, max(|deltaT|)=0.051 degC, elapsed=420s, expiry=7200s
+2020-05-09 08:23:34.668 UTC: I(TimingThread): timing uncertainty check: heuristic=-9.048, limit=550, max(|deltaT|)=0.060 degC, elapsed=480s, expiry=7200s
+2020-05-09 08:24:35.715 UTC: I(TimingThread): timing uncertainty check: heuristic=-12.426, limit=550, max(|deltaT|)=0.066 degC, elapsed=540s, expiry=6300s
+2020-05-09 08:25:36.562 UTC: I(TimingThread): timing uncertainty check: heuristic=-16.362, limit=550, max(|deltaT|)=0.074 degC, elapsed=600s, expiry=6300s
+2020-05-09 08:26:37.609 UTC: I(TimingThread): timing uncertainty check: heuristic=-20.828, limit=550, max(|deltaT|)=0.088 degC, elapsed=660s, expiry=6300s
+2020-05-09 08:27:37.922 UTC: I(TimingThread): timing uncertainty check: heuristic=-25.823, limit=550, max(|deltaT|)=0.096 degC, elapsed=720s, expiry=6300s
+2020-05-09 08:28:38.769 UTC: I(TimingThread): timing uncertainty check: heuristic=-31.440, limit=550, max(|deltaT|)=0.103 degC, elapsed=780s, expiry=6300s
+2020-05-09 08:29:39.722 UTC: I(TimingThread): timing uncertainty check: heuristic=-37.606, limit=550, max(|deltaT|)=0.116 degC, elapsed=840s, expiry=6300s
+2020-05-09 08:30:40.570 UTC: I(TimingThread): timing uncertainty check: heuristic=-44.305, limit=550, max(|deltaT|)=0.122 degC, elapsed=900s, expiry=6300s
+2020-05-09 08:31:41.621 UTC: I(TimingThread): timing uncertainty check: heuristic=-51.527, limit=550, max(|deltaT|)=0.133 degC, elapsed=960s, expiry=5400s
+2020-05-09 08:32:42.675 UTC: I(TimingThread): timing uncertainty check: heuristic=-59.397, limit=550, max(|deltaT|)=0.140 degC, elapsed=1020s, expiry=5400s
+2020-05-09 08:33:43.027 UTC: I(TimingThread): timing uncertainty check: heuristic=-67.645, limit=550, max(|deltaT|)=0.149 degC, elapsed=1080s, expiry=5400s
+2020-05-09 08:34:43.879 UTC: I(TimingThread): timing uncertainty check: heuristic=-76.558, limit=550, max(|deltaT|)=0.157 degC, elapsed=1140s, expiry=5400s
+2020-05-09 08:35:44.726 UTC: I(TimingThread): timing uncertainty check: heuristic=-86.048, limit=550, max(|deltaT|)=0.168 degC, elapsed=1200s, expiry=5400s
+2020-05-09 08:36:45.629 UTC: I(TimingThread): timing uncertainty check: heuristic=-96.088, limit=550, max(|deltaT|)=0.178 degC, elapsed=1260s, expiry=5400s
+2020-05-09 08:37:46.668 UTC: I(TimingThread): timing uncertainty check: heuristic=-106.701, limit=550, max(|deltaT|)=0.185 degC, elapsed=1320s, expiry=5400s
+2020-05-09 08:38:47.718 UTC: I(TimingThread): timing uncertainty check: heuristic=-117.873, limit=550, max(|deltaT|)=0.199 degC, elapsed=1380s, expiry=5400s
+2020-05-09 08:39:48.562 UTC: I(TimingThread): timing uncertainty check: heuristic=-129.487, limit=550, max(|deltaT|)=0.205 degC, elapsed=1440s, expiry=5400s
+2020-05-09 08:40:49.617 UTC: I(TimingThread): timing uncertainty check: heuristic=-141.747, limit=550, max(|deltaT|)=0.216 degC, elapsed=1500s, expiry=5400s
+2020-05-09 08:41:49.847 UTC: I(TimingThread): timing uncertainty check: heuristic=-154.305, limit=550, max(|deltaT|)=0.225 degC, elapsed=1560s, expiry=5400s
+2020-05-09 08:42:50.695 UTC: I(TimingThread): timing uncertainty check: heuristic=-167.621, limit=550, max(|deltaT|)=0.236 degC, elapsed=1620s, expiry=5400s
+2020-05-09 08:43:51.715 UTC: I(TimingThread): timing uncertainty check: heuristic=-181.537, limit=550, max(|deltaT|)=0.240 degC, elapsed=1680s, expiry=5400s
+2020-05-09 08:44:52.570 UTC: I(TimingThread): timing uncertainty check: heuristic=-195.969, limit=550, max(|deltaT|)=0.247 degC, elapsed=1740s, expiry=5400s
+2020-05-09 08:45:53.621 UTC: I(TimingThread): timing uncertainty check: heuristic=-210.809, limit=550, max(|deltaT|)=0.259 degC, elapsed=1800s, expiry=4500s
+2020-05-09 08:46:54.668 UTC: I(TimingThread): timing uncertainty check: heuristic=-226.264, limit=550, max(|deltaT|)=0.273 degC, elapsed=1860s, expiry=4500s
+2020-05-09 08:47:54.965 UTC: I(TimingThread): timing uncertainty check: heuristic=-242.017, limit=550, max(|deltaT|)=0.278 degC, elapsed=1920s, expiry=4500s
+2020-05-09 08:48:55.820 UTC: I(TimingThread): timing uncertainty check: heuristic=-258.555, limit=550, max(|deltaT|)=0.289 degC, elapsed=1980s, expiry=4500s
+2020-05-09 08:49:56.683 UTC: I(TimingThread): timing uncertainty check: heuristic=-275.627, limit=550, max(|deltaT|)=0.290 degC, elapsed=2040s, expiry=4500s
+2020-05-09 08:50:57.687 UTC: I(TimingThread): timing uncertainty check: heuristic=-293.354, limit=550, max(|deltaT|)=0.304 degC, elapsed=2100s, expiry=4500s
+2020-05-09 08:51:58.722 UTC: I(TimingThread): timing uncertainty check: heuristic=-311.506, limit=550, max(|deltaT|)=0.308 degC, elapsed=2160s, expiry=4500s
+2020-05-09 08:52:59.562 UTC: I(TimingThread): timing uncertainty check: heuristic=-330.221, limit=550, max(|deltaT|)=0.324 degC, elapsed=2220s, expiry=4500s
+2020-05-09 08:54:00.617 UTC: I(TimingThread): timing uncertainty check: heuristic=-349.562, limit=550, max(|deltaT|)=0.333 degC, elapsed=2280s, expiry=4500s
+2020-05-09 08:55:00.933 UTC: I(TimingThread): timing uncertainty check: heuristic=-369.158, limit=550, max(|deltaT|)=0.338 degC, elapsed=2340s, expiry=4500s
+2020-05-09 08:56:01.797 UTC: I(TimingThread): timing uncertainty check: heuristic=-389.538, limit=550, max(|deltaT|)=0.353 degC, elapsed=2400s, expiry=4500s
+2020-05-09 08:57:02.652 UTC: I(TimingThread): timing uncertainty check: heuristic=-410.608, limit=550, max(|deltaT|)=0.362 degC, elapsed=2460s, expiry=4500s
+2020-05-09 08:58:03.617 UTC: I(TimingThread): timing uncertainty check: heuristic=-432.166, limit=550, max(|deltaT|)=0.371 degC, elapsed=2520s, expiry=4500s
+2020-05-09 08:59:04.656 UTC: I(TimingThread): timing uncertainty check: heuristic=-454.309, limit=550, max(|deltaT|)=0.384 degC, elapsed=2580s, expiry=4500s
+2020-05-09 09:00:05.703 UTC: I(TimingThread): timing uncertainty check: heuristic=-477.117, limit=550, max(|deltaT|)=0.390 degC, elapsed=2640s, expiry=4500s
+2020-05-09 09:01:06.566 UTC: I(TimingThread): timing uncertainty check: heuristic=-500.477, limit=550, max(|deltaT|)=0.399 degC, elapsed=2700s, expiry=4500s
+2020-05-09 09:02:06.922 UTC: I(TimingThread): timing uncertainty check: heuristic=-524.085, limit=550, max(|deltaT|)=0.415 degC, elapsed=2760s, expiry=4500s
+2020-05-09 09:03:07.785 UTC: I(TimingThread): timing uncertainty check: heuristic=-548.671, limit=550, max(|deltaT|)=0.420 degC, elapsed=2820s, expiry=4500s
+2020-05-09 09:04:08.699 UTC: I(TimingThread): timing uncertainty check: heuristic=-573.703, limit=550, max(|deltaT|)=0.427 degC, elapsed=2880s, expiry=4500s
+2020-05-09 09:04:08.707 UTC: I(TimingThread|freeRun): exit
+2020-05-09 09:04:08.718 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 09:04:11.863 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 09:04:21.836 UTC: I(TimingThread|ClockValidator): GNSS time valid after 9996ms
+2020-05-09 09:04:22.009 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.166s
+2020-05-09 09:04:22.016 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -49 counts (-2.6 us), drift ~ -3.1 us/hour (measured over 2934 s)
+2020-05-09 09:04:22.028 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.017 Hz
+2020-05-09 09:05:12.997 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.932 Hz, converge time = 51 s
+2020-05-09 09:05:13.005 UTC: I(TimingThread|discipline): exit
+2020-05-09 09:05:13.016 UTC: I(TimingThread|freeRun): enter
+2020-05-09 09:06:13.657 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.370, limit=550, max(|deltaT|)=0.024 degC, elapsed=60s, expiry=7200s
+2020-05-09 09:07:14.723 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.232, limit=550, max(|deltaT|)=0.030 degC, elapsed=120s, expiry=7200s
+2020-05-09 09:08:15.571 UTC: I(TimingThread): timing uncertainty check: heuristic=-2.548, limit=550, max(|deltaT|)=0.034 degC, elapsed=180s, expiry=7200s
+2020-05-09 09:09:16.622 UTC: I(TimingThread): timing uncertainty check: heuristic=-4.280, limit=550, max(|deltaT|)=0.044 degC, elapsed=240s, expiry=7200s
+2020-05-09 09:10:17.024 UTC: I(TimingThread): timing uncertainty check: heuristic=-6.546, limit=550, max(|deltaT|)=0.058 degC, elapsed=300s, expiry=7200s
+2020-05-09 09:11:17.876 UTC: I(TimingThread): timing uncertainty check: heuristic=-9.438, limit=550, max(|deltaT|)=0.058 degC, elapsed=360s, expiry=7200s
+2020-05-09 09:12:18.731 UTC: I(TimingThread): timing uncertainty check: heuristic=-13.022, limit=550, max(|deltaT|)=0.075 degC, elapsed=420s, expiry=6300s
+2020-05-09 09:13:19.591 UTC: I(TimingThread): timing uncertainty check: heuristic=-17.123, limit=550, max(|deltaT|)=0.080 degC, elapsed=480s, expiry=6300s
+2020-05-09 09:14:20.645 UTC: I(TimingThread): timing uncertainty check: heuristic=-21.931, limit=550, max(|deltaT|)=0.094 degC, elapsed=540s, expiry=6300s
+2020-05-09 09:15:21.696 UTC: I(TimingThread): timing uncertainty check: heuristic=-27.325, limit=550, max(|deltaT|)=0.106 degC, elapsed=600s, expiry=6300s
+2020-05-09 09:16:22.551 UTC: I(TimingThread): timing uncertainty check: heuristic=-33.398, limit=550, max(|deltaT|)=0.111 degC, elapsed=660s, expiry=6300s
+2020-05-09 09:17:23.606 UTC: I(TimingThread): timing uncertainty check: heuristic=-40.079, limit=550, max(|deltaT|)=0.122 degC, elapsed=720s, expiry=6300s
+2020-05-09 09:18:23.852 UTC: I(TimingThread): timing uncertainty check: heuristic=-47.272, limit=550, max(|deltaT|)=0.130 degC, elapsed=780s, expiry=5400s
+2020-05-09 09:19:24.700 UTC: I(TimingThread): timing uncertainty check: heuristic=-55.137, limit=550, max(|deltaT|)=0.143 degC, elapsed=840s, expiry=5400s
+2020-05-09 09:20:25.716 UTC: I(TimingThread): timing uncertainty check: heuristic=-63.614, limit=550, max(|deltaT|)=0.154 degC, elapsed=900s, expiry=5400s
+2020-05-09 09:21:26.555 UTC: I(TimingThread): timing uncertainty check: heuristic=-72.718, limit=550, max(|deltaT|)=0.162 degC, elapsed=960s, expiry=5400s
+2020-05-09 09:22:27.610 UTC: I(TimingThread): timing uncertainty check: heuristic=-82.578, limit=550, max(|deltaT|)=0.173 degC, elapsed=1020s, expiry=5400s
+2020-05-09 09:23:28.657 UTC: I(TimingThread): timing uncertainty check: heuristic=-92.989, limit=550, max(|deltaT|)=0.182 degC, elapsed=1080s, expiry=5400s
+2020-05-09 09:24:28.966 UTC: I(TimingThread): timing uncertainty check: heuristic=-103.796, limit=550, max(|deltaT|)=0.195 degC, elapsed=1140s, expiry=5400s
+2020-05-09 09:25:29.825 UTC: I(TimingThread): timing uncertainty check: heuristic=-115.459, limit=550, max(|deltaT|)=0.208 degC, elapsed=1200s, expiry=5400s
+2020-05-09 09:26:30.673 UTC: I(TimingThread): timing uncertainty check: heuristic=-127.680, limit=550, max(|deltaT|)=0.216 degC, elapsed=1260s, expiry=5400s
+2020-05-09 09:27:31.626 UTC: I(TimingThread): timing uncertainty check: heuristic=-140.385, limit=550, max(|deltaT|)=0.220 degC, elapsed=1320s, expiry=5400s
+2020-05-09 09:28:32.692 UTC: I(TimingThread): timing uncertainty check: heuristic=-153.800, limit=550, max(|deltaT|)=0.233 degC, elapsed=1380s, expiry=5400s
+2020-05-09 09:29:33.727 UTC: I(TimingThread): timing uncertainty check: heuristic=-167.838, limit=550, max(|deltaT|)=0.244 degC, elapsed=1440s, expiry=5400s
+2020-05-09 09:30:34.567 UTC: I(TimingThread): timing uncertainty check: heuristic=-182.465, limit=550, max(|deltaT|)=0.255 degC, elapsed=1500s, expiry=4500s
+2020-05-09 09:31:34.930 UTC: I(TimingThread): timing uncertainty check: heuristic=-197.403, limit=550, max(|deltaT|)=0.264 degC, elapsed=1560s, expiry=4500s
+2020-05-09 09:32:35.774 UTC: I(TimingThread): timing uncertainty check: heuristic=-213.174, limit=550, max(|deltaT|)=0.270 degC, elapsed=1620s, expiry=4500s
+2020-05-09 09:33:36.669 UTC: I(TimingThread): timing uncertainty check: heuristic=-229.549, limit=550, max(|deltaT|)=0.277 degC, elapsed=1680s, expiry=4500s
+2020-05-09 09:34:37.704 UTC: I(TimingThread): timing uncertainty check: heuristic=-246.595, limit=550, max(|deltaT|)=0.291 degC, elapsed=1740s, expiry=4500s
+2020-05-09 09:35:38.540 UTC: I(TimingThread): timing uncertainty check: heuristic=-264.247, limit=550, max(|deltaT|)=0.303 degC, elapsed=1800s, expiry=4500s
+2020-05-09 09:36:39.579 UTC: I(TimingThread): timing uncertainty check: heuristic=-282.515, limit=550, max(|deltaT|)=0.317 degC, elapsed=1860s, expiry=4500s
+2020-05-09 09:37:40.626 UTC: I(TimingThread): timing uncertainty check: heuristic=-301.368, limit=550, max(|deltaT|)=0.326 degC, elapsed=1920s, expiry=4500s
+2020-05-09 09:38:40.860 UTC: I(TimingThread): timing uncertainty check: heuristic=-320.566, limit=550, max(|deltaT|)=0.334 degC, elapsed=1980s, expiry=4500s
+2020-05-09 09:39:41.708 UTC: I(TimingThread): timing uncertainty check: heuristic=-340.689, limit=550, max(|deltaT|)=0.347 degC, elapsed=2040s, expiry=4500s
+2020-05-09 09:40:42.735 UTC: I(TimingThread): timing uncertainty check: heuristic=-361.400, limit=550, max(|deltaT|)=0.355 degC, elapsed=2100s, expiry=4500s
+2020-05-09 09:41:43.575 UTC: I(TimingThread): timing uncertainty check: heuristic=-382.753, limit=550, max(|deltaT|)=0.365 degC, elapsed=2160s, expiry=4500s
+2020-05-09 09:42:44.598 UTC: I(TimingThread): timing uncertainty check: heuristic=-404.785, limit=550, max(|deltaT|)=0.377 degC, elapsed=2220s, expiry=4500s
+2020-05-09 09:43:45.637 UTC: I(TimingThread): timing uncertainty check: heuristic=-427.494, limit=550, max(|deltaT|)=0.393 degC, elapsed=2280s, expiry=4500s
+2020-05-09 09:44:45.923 UTC: I(TimingThread): timing uncertainty check: heuristic=-450.479, limit=550, max(|deltaT|)=0.395 degC, elapsed=2340s, expiry=4500s
+2020-05-09 09:45:46.766 UTC: I(TimingThread): timing uncertainty check: heuristic=-474.509, limit=550, max(|deltaT|)=0.410 degC, elapsed=2400s, expiry=4500s
+2020-05-09 09:46:47.731 UTC: I(TimingThread): timing uncertainty check: heuristic=-499.268, limit=550, max(|deltaT|)=0.418 degC, elapsed=2460s, expiry=4500s
+2020-05-09 09:47:48.583 UTC: I(TimingThread): timing uncertainty check: heuristic=-524.617, limit=550, max(|deltaT|)=0.429 degC, elapsed=2520s, expiry=4500s
+2020-05-09 09:48:49.614 UTC: I(TimingThread): timing uncertainty check: heuristic=-550.661, limit=550, max(|deltaT|)=0.443 degC, elapsed=2580s, expiry=4500s
+2020-05-09 09:48:49.622 UTC: I(TimingThread|freeRun): exit
+2020-05-09 09:48:49.630 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 09:48:53.864 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 09:49:03.852 UTC: I(TimingThread|ClockValidator): GNSS time valid after 10013ms
+2020-05-09 09:49:04.008 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.148s
+2020-05-09 09:49:04.015 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -62 counts (-3.2 us), drift ~ -4.4 us/hour (measured over 2631 s)
+2020-05-09 09:49:04.027 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.024 Hz
+2020-05-09 09:49:55.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +4.056 Hz, converge time = 52 s
+2020-05-09 09:49:56.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 09:49:56.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 09:50:56.605 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.415, limit=550, max(|deltaT|)=0.021 degC, elapsed=60s, expiry=7200s
+2020-05-09 09:51:57.636 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.394, limit=550, max(|deltaT|)=0.029 degC, elapsed=120s, expiry=7200s
+2020-05-09 09:52:58.675 UTC: I(TimingThread): timing uncertainty check: heuristic=-2.958, limit=550, max(|deltaT|)=0.036 degC, elapsed=180s, expiry=7200s
+2020-05-09 09:53:58.992 UTC: I(TimingThread): timing uncertainty check: heuristic=-5.070, limit=550, max(|deltaT|)=0.047 degC, elapsed=240s, expiry=7200s
+2020-05-09 09:54:59.828 UTC: I(TimingThread): timing uncertainty check: heuristic=-7.928, limit=550, max(|deltaT|)=0.059 degC, elapsed=300s, expiry=7200s
+2020-05-09 09:56:00.679 UTC: I(TimingThread): timing uncertainty check: heuristic=-11.528, limit=550, max(|deltaT|)=0.074 degC, elapsed=360s, expiry=6300s
+2020-05-09 09:57:01.597 UTC: I(TimingThread): timing uncertainty check: heuristic=-15.671, limit=550, max(|deltaT|)=0.085 degC, elapsed=420s, expiry=6300s
+2020-05-09 09:58:02.656 UTC: I(TimingThread): timing uncertainty check: heuristic=-20.597, limit=550, max(|deltaT|)=0.091 degC, elapsed=480s, expiry=6300s
+2020-05-09 09:59:03.726 UTC: I(TimingThread): timing uncertainty check: heuristic=-26.328, limit=550, max(|deltaT|)=0.105 degC, elapsed=540s, expiry=6300s
+2020-05-09 10:00:04.586 UTC: I(TimingThread): timing uncertainty check: heuristic=-32.734, limit=550, max(|deltaT|)=0.117 degC, elapsed=600s, expiry=6300s
+2020-05-09 10:01:04.945 UTC: I(TimingThread): timing uncertainty check: heuristic=-39.863, limit=550, max(|deltaT|)=0.128 degC, elapsed=660s, expiry=5400s
+2020-05-09 10:02:05.793 UTC: I(TimingThread): timing uncertainty check: heuristic=-47.742, limit=550, max(|deltaT|)=0.145 degC, elapsed=720s, expiry=5400s
+2020-05-09 10:03:06.664 UTC: I(TimingThread): timing uncertainty check: heuristic=-56.486, limit=550, max(|deltaT|)=0.159 degC, elapsed=780s, expiry=5400s
+2020-05-09 10:04:07.695 UTC: I(TimingThread): timing uncertainty check: heuristic=-66.024, limit=550, max(|deltaT|)=0.169 degC, elapsed=840s, expiry=5400s
+2020-05-09 10:05:08.726 UTC: I(TimingThread): timing uncertainty check: heuristic=-76.278, limit=550, max(|deltaT|)=0.180 degC, elapsed=900s, expiry=5400s
+2020-05-09 10:06:09.562 UTC: I(TimingThread): timing uncertainty check: heuristic=-87.340, limit=550, max(|deltaT|)=0.195 degC, elapsed=960s, expiry=5400s
+2020-05-09 10:07:10.582 UTC: I(TimingThread): timing uncertainty check: heuristic=-99.175, limit=550, max(|deltaT|)=0.204 degC, elapsed=1020s, expiry=5400s
+2020-05-09 10:08:10.847 UTC: I(TimingThread): timing uncertainty check: heuristic=-111.549, limit=550, max(|deltaT|)=0.219 degC, elapsed=1080s, expiry=5400s
+2020-05-09 10:09:11.691 UTC: I(TimingThread): timing uncertainty check: heuristic=-124.879, limit=550, max(|deltaT|)=0.232 degC, elapsed=1140s, expiry=5400s
+2020-05-09 10:10:12.656 UTC: I(TimingThread): timing uncertainty check: heuristic=-138.944, limit=550, max(|deltaT|)=0.244 degC, elapsed=1200s, expiry=5400s
+2020-05-09 10:11:13.672 UTC: I(TimingThread): timing uncertainty check: heuristic=-153.829, limit=550, max(|deltaT|)=0.263 degC, elapsed=1260s, expiry=4500s
+2020-05-09 10:12:14.695 UTC: I(TimingThread): timing uncertainty check: heuristic=-169.429, limit=550, max(|deltaT|)=0.271 degC, elapsed=1320s, expiry=4500s
+2020-05-09 10:13:15.015 UTC: I(TimingThread): timing uncertainty check: heuristic=-185.515, limit=550, max(|deltaT|)=0.282 degC, elapsed=1380s, expiry=4500s
+2020-05-09 10:14:15.859 UTC: I(TimingThread): timing uncertainty check: heuristic=-202.659, limit=550, max(|deltaT|)=0.297 degC, elapsed=1440s, expiry=4500s
+2020-05-09 10:15:16.707 UTC: I(TimingThread): timing uncertainty check: heuristic=-220.609, limit=550, max(|deltaT|)=0.309 degC, elapsed=1500s, expiry=4500s
+2020-05-09 10:16:17.613 UTC: I(TimingThread): timing uncertainty check: heuristic=-239.319, limit=550, max(|deltaT|)=0.320 degC, elapsed=1560s, expiry=4500s
+2020-05-09 10:17:18.640 UTC: I(TimingThread): timing uncertainty check: heuristic=-258.833, limit=550, max(|deltaT|)=0.334 degC, elapsed=1620s, expiry=4500s
+2020-05-09 10:18:19.668 UTC: I(TimingThread): timing uncertainty check: heuristic=-279.098, limit=550, max(|deltaT|)=0.345 degC, elapsed=1680s, expiry=4500s
+2020-05-09 10:19:20.691 UTC: I(TimingThread): timing uncertainty check: heuristic=-300.070, limit=550, max(|deltaT|)=0.361 degC, elapsed=1740s, expiry=4500s
+2020-05-09 10:20:21.535 UTC: I(TimingThread): timing uncertainty check: heuristic=-321.866, limit=550, max(|deltaT|)=0.368 degC, elapsed=1800s, expiry=4500s
+2020-05-09 10:21:21.746 UTC: I(TimingThread): timing uncertainty check: heuristic=-344.082, limit=550, max(|deltaT|)=0.385 degC, elapsed=1860s, expiry=4500s
+2020-05-09 10:22:22.597 UTC: I(TimingThread): timing uncertainty check: heuristic=-367.492, limit=550, max(|deltaT|)=0.395 degC, elapsed=1920s, expiry=4500s
+2020-05-09 10:23:23.601 UTC: I(TimingThread): timing uncertainty check: heuristic=-391.651, limit=550, max(|deltaT|)=0.412 degC, elapsed=1980s, expiry=4500s
+2020-05-09 10:24:24.644 UTC: I(TimingThread): timing uncertainty check: heuristic=-416.638, limit=550, max(|deltaT|)=0.425 degC, elapsed=2040s, expiry=4500s
+2020-05-09 10:25:25.683 UTC: I(TimingThread): timing uncertainty check: heuristic=-442.445, limit=550, max(|deltaT|)=0.437 degC, elapsed=2100s, expiry=4500s
+2020-05-09 10:26:25.968 UTC: I(TimingThread): timing uncertainty check: heuristic=-468.545, limit=550, max(|deltaT|)=0.447 degC, elapsed=2160s, expiry=4500s
+2020-05-09 10:27:26.808 UTC: I(TimingThread): timing uncertainty check: heuristic=-495.996, limit=550, max(|deltaT|)=0.468 degC, elapsed=2220s, expiry=4500s
+2020-05-09 10:28:27.656 UTC: I(TimingThread): timing uncertainty check: heuristic=-524.217, limit=550, max(|deltaT|)=0.475 degC, elapsed=2280s, expiry=4500s
+2020-05-09 10:29:28.613 UTC: I(TimingThread): timing uncertainty check: heuristic=-553.261, limit=550, max(|deltaT|)=0.490 degC, elapsed=2340s, expiry=4500s
+2020-05-09 10:29:28.621 UTC: I(TimingThread|freeRun): exit
+2020-05-09 10:29:28.633 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 10:29:31.879 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 10:29:45.863 UTC: I(TimingThread|ClockValidator): GNSS time valid after 14023ms
+2020-05-09 10:29:46.009 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.134s
+2020-05-09 10:29:46.016 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -72 counts (-3.8 us), drift ~ -5.6 us/hour (measured over 2390 s)
+2020-05-09 10:29:46.028 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.030 Hz
+2020-05-09 10:30:39.993 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +4.186 Hz, converge time = 54 s
+2020-05-09 10:30:40.001 UTC: I(TimingThread|discipline): exit
+2020-05-09 10:30:40.012 UTC: I(TimingThread|freeRun): enter
+2020-05-09 10:31:40.551 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.574, limit=550, max(|deltaT|)=0.020 degC, elapsed=60s, expiry=7200s
+2020-05-09 10:32:41.591 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.742, limit=550, max(|deltaT|)=0.030 degC, elapsed=120s, expiry=7200s
+2020-05-09 10:33:42.634 UTC: I(TimingThread): timing uncertainty check: heuristic=-3.644, limit=550, max(|deltaT|)=0.044 degC, elapsed=180s, expiry=7200s
+2020-05-09 10:34:42.977 UTC: I(TimingThread): timing uncertainty check: heuristic=-6.258, limit=550, max(|deltaT|)=0.055 degC, elapsed=240s, expiry=7200s
+2020-05-09 10:35:43.829 UTC: I(TimingThread): timing uncertainty check: heuristic=-9.659, limit=550, max(|deltaT|)=0.073 degC, elapsed=300s, expiry=6300s
+2020-05-09 10:36:44.731 UTC: I(TimingThread): timing uncertainty check: heuristic=-13.891, limit=550, max(|deltaT|)=0.080 degC, elapsed=360s, expiry=6300s
+2020-05-09 10:37:45.591 UTC: I(TimingThread): timing uncertainty check: heuristic=-18.939, limit=550, max(|deltaT|)=0.096 degC, elapsed=420s, expiry=6300s
+2020-05-09 10:38:46.614 UTC: I(TimingThread): timing uncertainty check: heuristic=-24.826, limit=550, max(|deltaT|)=0.111 degC, elapsed=480s, expiry=6300s
+2020-05-09 10:39:47.645 UTC: I(TimingThread): timing uncertainty check: heuristic=-31.550, limit=550, max(|deltaT|)=0.126 degC, elapsed=540s, expiry=5400s
+2020-05-09 10:40:48.696 UTC: I(TimingThread): timing uncertainty check: heuristic=-39.124, limit=550, max(|deltaT|)=0.139 degC, elapsed=600s, expiry=5400s
+2020-05-09 10:41:49.540 UTC: I(TimingThread): timing uncertainty check: heuristic=-47.562, limit=550, max(|deltaT|)=0.150 degC, elapsed=660s, expiry=5400s
+2020-05-09 10:42:49.762 UTC: I(TimingThread): timing uncertainty check: heuristic=-56.666, limit=550, max(|deltaT|)=0.164 degC, elapsed=720s, expiry=5400s
+2020-05-09 10:43:50.602 UTC: I(TimingThread): timing uncertainty check: heuristic=-66.778, limit=550, max(|deltaT|)=0.181 degC, elapsed=780s, expiry=5400s
+2020-05-09 10:44:51.626 UTC: I(TimingThread): timing uncertainty check: heuristic=-77.720, limit=550, max(|deltaT|)=0.194 degC, elapsed=840s, expiry=5400s
+2020-05-09 10:45:52.657 UTC: I(TimingThread): timing uncertainty check: heuristic=-89.546, limit=550, max(|deltaT|)=0.207 degC, elapsed=900s, expiry=5400s
+2020-05-09 10:46:53.716 UTC: I(TimingThread): timing uncertainty check: heuristic=-102.210, limit=550, max(|deltaT|)=0.220 degC, elapsed=960s, expiry=5400s
+2020-05-09 10:47:54.555 UTC: I(TimingThread): timing uncertainty check: heuristic=-115.731, limit=550, max(|deltaT|)=0.241 degC, elapsed=1020s, expiry=5400s
+2020-05-09 10:48:54.805 UTC: I(TimingThread): timing uncertainty check: heuristic=-129.882, limit=550, max(|deltaT|)=0.247 degC, elapsed=1080s, expiry=5400s
+2020-05-09 10:49:55.649 UTC: I(TimingThread): timing uncertainty check: heuristic=-145.186, limit=550, max(|deltaT|)=0.262 degC, elapsed=1140s, expiry=4500s
+2020-05-09 10:50:56.673 UTC: I(TimingThread): timing uncertainty check: heuristic=-161.345, limit=550, max(|deltaT|)=0.278 degC, elapsed=1200s, expiry=4500s
+2020-05-09 10:51:57.719 UTC: I(TimingThread): timing uncertainty check: heuristic=-178.360, limit=550, max(|deltaT|)=0.295 degC, elapsed=1260s, expiry=4500s
+2020-05-09 10:52:58.571 UTC: I(TimingThread): timing uncertainty check: heuristic=-196.179, limit=550, max(|deltaT|)=0.312 degC, elapsed=1320s, expiry=4500s
+2020-05-09 10:53:59.622 UTC: I(TimingThread): timing uncertainty check: heuristic=-214.820, limit=550, max(|deltaT|)=0.321 degC, elapsed=1380s, expiry=4500s
+2020-05-09 10:54:59.899 UTC: I(TimingThread): timing uncertainty check: heuristic=-233.956, limit=550, max(|deltaT|)=0.331 degC, elapsed=1440s, expiry=4500s
+2020-05-09 10:56:00.747 UTC: I(TimingThread): timing uncertainty check: heuristic=-254.237, limit=550, max(|deltaT|)=0.349 degC, elapsed=1500s, expiry=4500s
+2020-05-09 10:57:01.696 UTC: I(TimingThread): timing uncertainty check: heuristic=-275.359, limit=550, max(|deltaT|)=0.362 degC, elapsed=1560s, expiry=4500s
+2020-05-09 10:58:02.548 UTC: I(TimingThread): timing uncertainty check: heuristic=-297.342, limit=550, max(|deltaT|)=0.380 degC, elapsed=1620s, expiry=4500s
+2020-05-09 10:59:03.575 UTC: I(TimingThread): timing uncertainty check: heuristic=-320.147, limit=550, max(|deltaT|)=0.391 degC, elapsed=1680s, expiry=4500s
+2020-05-09 11:00:04.614 UTC: I(TimingThread): timing uncertainty check: heuristic=-343.770, limit=550, max(|deltaT|)=0.401 degC, elapsed=1740s, expiry=4500s
+2020-05-09 11:01:04.966 UTC: I(TimingThread): timing uncertainty check: heuristic=-367.824, limit=550, max(|deltaT|)=0.415 degC, elapsed=1800s, expiry=4500s
+2020-05-09 11:02:05.817 UTC: I(TimingThread): timing uncertainty check: heuristic=-393.128, limit=550, max(|deltaT|)=0.426 degC, elapsed=1860s, expiry=4500s
+2020-05-09 11:03:06.731 UTC: I(TimingThread): timing uncertainty check: heuristic=-419.298, limit=550, max(|deltaT|)=0.445 degC, elapsed=1920s, expiry=4500s
+2020-05-09 11:04:07.587 UTC: I(TimingThread): timing uncertainty check: heuristic=-446.319, limit=550, max(|deltaT|)=0.455 degC, elapsed=1980s, expiry=4500s
+2020-05-09 11:05:08.630 UTC: I(TimingThread): timing uncertainty check: heuristic=-474.248, limit=550, max(|deltaT|)=0.473 degC, elapsed=2040s, expiry=4500s
+2020-05-09 11:06:09.661 UTC: I(TimingThread): timing uncertainty check: heuristic=-502.970, limit=550, max(|deltaT|)=0.482 degC, elapsed=2100s, expiry=4500s
+2020-05-09 11:07:10.051 UTC: I(TimingThread): timing uncertainty check: heuristic=-532.117, limit=550, max(|deltaT|)=0.503 degC, elapsed=2160s, expiry=3600s
+2020-05-09 11:08:10.887 UTC: I(TimingThread): timing uncertainty check: heuristic=-562.594, limit=550, max(|deltaT|)=0.512 degC, elapsed=2220s, expiry=3600s
+2020-05-09 11:08:10.895 UTC: I(TimingThread|freeRun): exit
+2020-05-09 11:08:10.907 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 11:08:13.876 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 11:08:27.872 UTC: I(TimingThread|ClockValidator): GNSS time valid after 14033ms
+2020-05-09 11:08:28.008 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.132s
+2020-05-09 11:08:28.015 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -109 counts (-5.7 us), drift ~ -9.0 us/hour (measured over 2268 s)
+2020-05-09 11:08:28.027 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.048 Hz
+2020-05-09 11:09:23.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +4.334 Hz, converge time = 56 s
+2020-05-09 11:09:24.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 11:09:24.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 11:10:24.722 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.303, limit=550, max(|deltaT|)=0.016 degC, elapsed=60s, expiry=7200s
+2020-05-09 11:11:25.726 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.273, limit=550, max(|deltaT|)=0.026 degC, elapsed=120s, expiry=7200s
+2020-05-09 11:12:26.574 UTC: I(TimingThread): timing uncertainty check: heuristic=-2.925, limit=550, max(|deltaT|)=0.044 degC, elapsed=180s, expiry=7200s
+2020-05-09 11:13:27.609 UTC: I(TimingThread): timing uncertainty check: heuristic=-5.350, limit=550, max(|deltaT|)=0.058 degC, elapsed=240s, expiry=7200s
+2020-05-09 11:14:28.652 UTC: I(TimingThread): timing uncertainty check: heuristic=-8.610, limit=550, max(|deltaT|)=0.066 degC, elapsed=300s, expiry=6300s
+2020-05-09 11:15:28.976 UTC: I(TimingThread): timing uncertainty check: heuristic=-12.592, limit=550, max(|deltaT|)=0.076 degC, elapsed=360s, expiry=6300s
+2020-05-09 11:16:29.824 UTC: I(TimingThread): timing uncertainty check: heuristic=-17.452, limit=550, max(|deltaT|)=0.094 degC, elapsed=420s, expiry=6300s
+2020-05-09 11:17:30.668 UTC: I(TimingThread): timing uncertainty check: heuristic=-23.205, limit=550, max(|deltaT|)=0.109 degC, elapsed=480s, expiry=6300s
+2020-05-09 11:18:31.605 UTC: I(TimingThread): timing uncertainty check: heuristic=-29.882, limit=550, max(|deltaT|)=0.123 degC, elapsed=540s, expiry=6300s
+2020-05-09 11:19:32.664 UTC: I(TimingThread): timing uncertainty check: heuristic=-37.348, limit=550, max(|deltaT|)=0.140 degC, elapsed=600s, expiry=5400s
+2020-05-09 11:20:33.707 UTC: I(TimingThread): timing uncertainty check: heuristic=-45.742, limit=550, max(|deltaT|)=0.151 degC, elapsed=660s, expiry=5400s
+2020-05-09 11:21:34.566 UTC: I(TimingThread): timing uncertainty check: heuristic=-55.022, limit=550, max(|deltaT|)=0.166 degC, elapsed=720s, expiry=5400s
+2020-05-09 11:22:34.922 UTC: I(TimingThread): timing uncertainty check: heuristic=-65.021, limit=550, max(|deltaT|)=0.180 degC, elapsed=780s, expiry=5400s
+2020-05-09 11:23:35.765 UTC: I(TimingThread): timing uncertainty check: heuristic=-76.009, limit=550, max(|deltaT|)=0.196 degC, elapsed=840s, expiry=5400s
+2020-05-09 11:24:36.664 UTC: I(TimingThread): timing uncertainty check: heuristic=-87.935, limit=550, max(|deltaT|)=0.212 degC, elapsed=900s, expiry=5400s
+2020-05-09 11:25:37.711 UTC: I(TimingThread): timing uncertainty check: heuristic=-100.710, limit=550, max(|deltaT|)=0.220 degC, elapsed=960s, expiry=5400s
+2020-05-09 11:26:38.554 UTC: I(TimingThread): timing uncertainty check: heuristic=-114.410, limit=550, max(|deltaT|)=0.240 degC, elapsed=1020s, expiry=5400s
+2020-05-09 11:27:39.582 UTC: I(TimingThread): timing uncertainty check: heuristic=-129.037, limit=550, max(|deltaT|)=0.249 degC, elapsed=1080s, expiry=5400s
+2020-05-09 11:28:40.609 UTC: I(TimingThread): timing uncertainty check: heuristic=-144.554, limit=550, max(|deltaT|)=0.274 degC, elapsed=1140s, expiry=4500s
+2020-05-09 11:29:40.840 UTC: I(TimingThread): timing uncertainty check: heuristic=-160.675, limit=550, max(|deltaT|)=0.285 degC, elapsed=1200s, expiry=4500s
+2020-05-09 11:30:41.683 UTC: I(TimingThread): timing uncertainty check: heuristic=-177.923, limit=550, max(|deltaT|)=0.297 degC, elapsed=1260s, expiry=4500s
+2020-05-09 11:31:42.703 UTC: I(TimingThread): timing uncertainty check: heuristic=-196.107, limit=550, max(|deltaT|)=0.315 degC, elapsed=1320s, expiry=4500s
+2020-05-09 11:32:43.550 UTC: I(TimingThread): timing uncertainty check: heuristic=-215.201, limit=550, max(|deltaT|)=0.327 degC, elapsed=1380s, expiry=4500s
+2020-05-09 11:33:44.593 UTC: I(TimingThread): timing uncertainty check: heuristic=-235.141, limit=550, max(|deltaT|)=0.340 degC, elapsed=1440s, expiry=4500s
+2020-05-09 11:34:45.652 UTC: I(TimingThread): timing uncertainty check: heuristic=-256.024, limit=550, max(|deltaT|)=0.353 degC, elapsed=1500s, expiry=4500s
+2020-05-09 11:35:45.957 UTC: I(TimingThread): timing uncertainty check: heuristic=-277.397, limit=550, max(|deltaT|)=0.368 degC, elapsed=1560s, expiry=4500s
+2020-05-09 11:36:46.808 UTC: I(TimingThread): timing uncertainty check: heuristic=-300.067, limit=550, max(|deltaT|)=0.389 degC, elapsed=1620s, expiry=4500s
+2020-05-09 11:37:47.660 UTC: I(TimingThread): timing uncertainty check: heuristic=-323.681, limit=550, max(|deltaT|)=0.401 degC, elapsed=1680s, expiry=4500s
+2020-05-09 11:38:48.609 UTC: I(TimingThread): timing uncertainty check: heuristic=-348.182, limit=550, max(|deltaT|)=0.414 degC, elapsed=1740s, expiry=4500s
+2020-05-09 11:39:49.636 UTC: I(TimingThread): timing uncertainty check: heuristic=-373.517, limit=550, max(|deltaT|)=0.434 degC, elapsed=1800s, expiry=4500s
+2020-05-09 11:40:50.691 UTC: I(TimingThread): timing uncertainty check: heuristic=-399.813, limit=550, max(|deltaT|)=0.446 degC, elapsed=1860s, expiry=4500s
+2020-05-09 11:41:51.539 UTC: I(TimingThread): timing uncertainty check: heuristic=-426.962, limit=550, max(|deltaT|)=0.460 degC, elapsed=1920s, expiry=4500s
+2020-05-09 11:42:51.879 UTC: I(TimingThread): timing uncertainty check: heuristic=-454.551, limit=550, max(|deltaT|)=0.474 degC, elapsed=1980s, expiry=4500s
+2020-05-09 11:43:52.730 UTC: I(TimingThread): timing uncertainty check: heuristic=-483.523, limit=550, max(|deltaT|)=0.490 degC, elapsed=2040s, expiry=4500s
+2020-05-09 11:44:53.636 UTC: I(TimingThread): timing uncertainty check: heuristic=-513.393, limit=550, max(|deltaT|)=0.500 degC, elapsed=2100s, expiry=3600s
+2020-05-09 11:45:54.675 UTC: I(TimingThread): timing uncertainty check: heuristic=-544.161, limit=550, max(|deltaT|)=0.517 degC, elapsed=2160s, expiry=3600s
+2020-05-09 11:46:55.730 UTC: I(TimingThread): timing uncertainty check: heuristic=-575.829, limit=550, max(|deltaT|)=0.534 degC, elapsed=2220s, expiry=3600s
+2020-05-09 11:46:55.738 UTC: I(TimingThread|freeRun): exit
+2020-05-09 11:46:55.750 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 11:46:58.851 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 11:47:09.871 UTC: I(TimingThread|ClockValidator): GNSS time valid after 11043ms
+2020-05-09 11:47:10.009 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.130s
+2020-05-09 11:47:10.020 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -164 counts (-8.5 us), drift ~ -13.6 us/hour (measured over 2266 s)
+2020-05-09 11:47:10.028 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.072 Hz
+2020-05-09 11:48:08.993 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +4.506 Hz, converge time = 59 s
+2020-05-09 11:48:09.005 UTC: I(TimingThread|discipline): exit
+2020-05-09 11:48:09.012 UTC: I(TimingThread|freeRun): enter
+2020-05-09 11:49:09.555 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.200, limit=550, max(|deltaT|)=0.016 degC, elapsed=60s, expiry=7200s
+2020-05-09 11:50:10.583 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.160, limit=550, max(|deltaT|)=0.034 degC, elapsed=120s, expiry=7200s
+2020-05-09 11:51:11.626 UTC: I(TimingThread): timing uncertainty check: heuristic=-2.919, limit=550, max(|deltaT|)=0.041 degC, elapsed=180s, expiry=7200s
+2020-05-09 11:52:12.684 UTC: I(TimingThread): timing uncertainty check: heuristic=-5.431, limit=550, max(|deltaT|)=0.055 degC, elapsed=240s, expiry=7200s
+2020-05-09 11:53:13.540 UTC: I(TimingThread): timing uncertainty check: heuristic=-8.723, limit=550, max(|deltaT|)=0.067 degC, elapsed=300s, expiry=6300s
+2020-05-09 11:54:13.786 UTC: I(TimingThread): timing uncertainty check: heuristic=-12.849, limit=550, max(|deltaT|)=0.083 degC, elapsed=360s, expiry=6300s
+2020-05-09 11:55:14.641 UTC: I(TimingThread): timing uncertainty check: heuristic=-17.890, limit=550, max(|deltaT|)=0.097 degC, elapsed=420s, expiry=6300s
+2020-05-09 11:56:15.634 UTC: I(TimingThread): timing uncertainty check: heuristic=-23.856, limit=550, max(|deltaT|)=0.111 degC, elapsed=480s, expiry=6300s
+2020-05-09 11:57:16.673 UTC: I(TimingThread): timing uncertainty check: heuristic=-30.672, limit=550, max(|deltaT|)=0.127 degC, elapsed=540s, expiry=5400s
+2020-05-09 11:58:17.704 UTC: I(TimingThread): timing uncertainty check: heuristic=-38.465, limit=550, max(|deltaT|)=0.142 degC, elapsed=600s, expiry=5400s
+2020-05-09 11:59:18.001 UTC: I(TimingThread): timing uncertainty check: heuristic=-46.963, limit=550, max(|deltaT|)=0.157 degC, elapsed=660s, expiry=5400s
+2020-05-09 12:00:18.833 UTC: I(TimingThread): timing uncertainty check: heuristic=-56.520, limit=550, max(|deltaT|)=0.176 degC, elapsed=720s, expiry=5400s
+2020-05-09 12:01:19.669 UTC: I(TimingThread): timing uncertainty check: heuristic=-66.952, limit=550, max(|deltaT|)=0.182 degC, elapsed=780s, expiry=5400s
+2020-05-09 12:02:20.591 UTC: I(TimingThread): timing uncertainty check: heuristic=-78.293, limit=550, max(|deltaT|)=0.198 degC, elapsed=840s, expiry=5400s
+2020-05-09 12:03:21.626 UTC: I(TimingThread): timing uncertainty check: heuristic=-90.613, limit=550, max(|deltaT|)=0.219 degC, elapsed=900s, expiry=5400s
+2020-05-09 12:04:22.684 UTC: I(TimingThread): timing uncertainty check: heuristic=-103.763, limit=550, max(|deltaT|)=0.229 degC, elapsed=960s, expiry=5400s
+2020-05-09 12:05:23.044 UTC: I(TimingThread): timing uncertainty check: heuristic=-117.529, limit=550, max(|deltaT|)=0.242 degC, elapsed=1020s, expiry=5400s
+2020-05-09 12:06:23.884 UTC: I(TimingThread): timing uncertainty check: heuristic=-132.388, limit=550, max(|deltaT|)=0.264 degC, elapsed=1080s, expiry=4500s
+2020-05-09 12:07:24.731 UTC: I(TimingThread): timing uncertainty check: heuristic=-148.165, limit=550, max(|deltaT|)=0.274 degC, elapsed=1140s, expiry=4500s
+2020-05-09 12:08:25.579 UTC: I(TimingThread): timing uncertainty check: heuristic=-164.825, limit=550, max(|deltaT|)=0.289 degC, elapsed=1200s, expiry=4500s
+2020-05-09 12:09:26.626 UTC: I(TimingThread): timing uncertainty check: heuristic=-182.428, limit=550, max(|deltaT|)=0.303 degC, elapsed=1260s, expiry=4500s
+2020-05-09 12:10:27.657 UTC: I(TimingThread): timing uncertainty check: heuristic=-200.867, limit=550, max(|deltaT|)=0.314 degC, elapsed=1320s, expiry=4500s
+2020-05-09 12:11:28.696 UTC: I(TimingThread): timing uncertainty check: heuristic=-220.254, limit=550, max(|deltaT|)=0.332 degC, elapsed=1380s, expiry=4500s
+2020-05-09 12:12:28.930 UTC: I(TimingThread): timing uncertainty check: heuristic=-240.196, limit=550, max(|deltaT|)=0.346 degC, elapsed=1440s, expiry=4500s
+2020-05-09 12:13:29.774 UTC: I(TimingThread): timing uncertainty check: heuristic=-261.218, limit=550, max(|deltaT|)=0.359 degC, elapsed=1500s, expiry=4500s
+2020-05-09 12:14:30.618 UTC: I(TimingThread): timing uncertainty check: heuristic=-283.170, limit=550, max(|deltaT|)=0.373 degC, elapsed=1560s, expiry=4500s
+2020-05-09 12:15:31.622 UTC: I(TimingThread): timing uncertainty check: heuristic=-306.025, limit=550, max(|deltaT|)=0.386 degC, elapsed=1620s, expiry=4500s
+2020-05-09 12:16:32.661 UTC: I(TimingThread): timing uncertainty check: heuristic=-329.726, limit=550, max(|deltaT|)=0.404 degC, elapsed=1680s, expiry=4500s
+2020-05-09 12:17:33.716 UTC: I(TimingThread): timing uncertainty check: heuristic=-354.301, limit=550, max(|deltaT|)=0.418 degC, elapsed=1740s, expiry=4500s
+2020-05-09 12:18:34.548 UTC: I(TimingThread): timing uncertainty check: heuristic=-379.811, limit=550, max(|deltaT|)=0.433 degC, elapsed=1800s, expiry=4500s
+2020-05-09 12:19:34.833 UTC: I(TimingThread): timing uncertainty check: heuristic=-405.734, limit=550, max(|deltaT|)=0.445 degC, elapsed=1860s, expiry=4500s
+2020-05-09 12:20:35.669 UTC: I(TimingThread): timing uncertainty check: heuristic=-432.893, limit=550, max(|deltaT|)=0.460 degC, elapsed=1920s, expiry=4500s
+2020-05-09 12:21:36.637 UTC: I(TimingThread): timing uncertainty check: heuristic=-460.927, limit=550, max(|deltaT|)=0.473 degC, elapsed=1980s, expiry=4500s
+2020-05-09 12:22:37.684 UTC: I(TimingThread): timing uncertainty check: heuristic=-489.832, limit=550, max(|deltaT|)=0.488 degC, elapsed=2040s, expiry=4500s
+2020-05-09 12:23:38.727 UTC: I(TimingThread): timing uncertainty check: heuristic=-519.499, limit=550, max(|deltaT|)=0.499 degC, elapsed=2100s, expiry=4500s
+2020-05-09 12:24:39.540 UTC: I(TimingThread): timing uncertainty check: heuristic=-550.013, limit=550, max(|deltaT|)=0.513 degC, elapsed=2160s, expiry=3600s
+2020-05-09 12:24:39.548 UTC: I(TimingThread|freeRun): exit
+2020-05-09 12:24:39.559 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 12:24:43.887 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 12:24:52.872 UTC: I(TimingThread|ClockValidator): GNSS time valid after 9011ms
+2020-05-09 12:24:53.008 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.128s
+2020-05-09 12:24:53.015 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -149 counts (-7.8 us), drift ~ -12.7 us/hour (measured over 2204 s)
+2020-05-09 12:24:53.027 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.068 Hz
+2020-05-09 12:25:50.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +4.674 Hz, converge time = 58 s
+2020-05-09 12:25:51.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 12:25:51.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 12:26:51.683 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.063, limit=550, max(|deltaT|)=0.011 degC, elapsed=60s, expiry=7200s
+2020-05-09 12:27:52.707 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.602, limit=550, max(|deltaT|)=0.026 degC, elapsed=120s, expiry=7200s
+2020-05-09 12:28:53.539 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.706, limit=550, max(|deltaT|)=0.028 degC, elapsed=180s, expiry=7200s
+2020-05-09 12:29:54.574 UTC: I(TimingThread): timing uncertainty check: heuristic=-3.551, limit=550, max(|deltaT|)=0.043 degC, elapsed=240s, expiry=7200s
+2020-05-09 12:30:54.871 UTC: I(TimingThread): timing uncertainty check: heuristic=-5.920, limit=550, max(|deltaT|)=0.052 degC, elapsed=300s, expiry=7200s
+2020-05-09 12:31:55.715 UTC: I(TimingThread): timing uncertainty check: heuristic=-9.030, limit=550, max(|deltaT|)=0.060 degC, elapsed=360s, expiry=7200s
+2020-05-09 12:32:56.664 UTC: I(TimingThread): timing uncertainty check: heuristic=-12.822, limit=550, max(|deltaT|)=0.074 degC, elapsed=420s, expiry=6300s
+2020-05-09 12:33:57.715 UTC: I(TimingThread): timing uncertainty check: heuristic=-17.405, limit=550, max(|deltaT|)=0.086 degC, elapsed=480s, expiry=6300s
+2020-05-09 12:34:58.550 UTC: I(TimingThread): timing uncertainty check: heuristic=-22.624, limit=550, max(|deltaT|)=0.099 degC, elapsed=540s, expiry=6300s
+2020-05-09 12:35:59.586 UTC: I(TimingThread): timing uncertainty check: heuristic=-28.562, limit=550, max(|deltaT|)=0.112 degC, elapsed=600s, expiry=6300s
+2020-05-09 12:36:59.945 UTC: I(TimingThread): timing uncertainty check: heuristic=-35.086, limit=550, max(|deltaT|)=0.120 degC, elapsed=660s, expiry=6300s
+2020-05-09 12:38:00.800 UTC: I(TimingThread): timing uncertainty check: heuristic=-42.349, limit=550, max(|deltaT|)=0.132 degC, elapsed=720s, expiry=5400s
+2020-05-09 12:39:01.718 UTC: I(TimingThread): timing uncertainty check: heuristic=-50.290, limit=550, max(|deltaT|)=0.140 degC, elapsed=780s, expiry=5400s
+2020-05-09 12:40:02.570 UTC: I(TimingThread): timing uncertainty check: heuristic=-58.787, limit=550, max(|deltaT|)=0.153 degC, elapsed=840s, expiry=5400s
+2020-05-09 12:41:03.605 UTC: I(TimingThread): timing uncertainty check: heuristic=-67.975, limit=550, max(|deltaT|)=0.167 degC, elapsed=900s, expiry=5400s
+2020-05-09 12:42:04.656 UTC: I(TimingThread): timing uncertainty check: heuristic=-77.832, limit=550, max(|deltaT|)=0.178 degC, elapsed=960s, expiry=5400s
+2020-05-09 12:43:05.703 UTC: I(TimingThread): timing uncertainty check: heuristic=-88.095, limit=550, max(|deltaT|)=0.182 degC, elapsed=1020s, expiry=5400s
+2020-05-09 12:44:06.558 UTC: I(TimingThread): timing uncertainty check: heuristic=-99.004, limit=550, max(|deltaT|)=0.191 degC, elapsed=1080s, expiry=5400s
+2020-05-09 12:45:06.789 UTC: I(TimingThread): timing uncertainty check: heuristic=-110.343, limit=550, max(|deltaT|)=0.202 degC, elapsed=1140s, expiry=5400s
+2020-05-09 12:46:07.648 UTC: I(TimingThread): timing uncertainty check: heuristic=-122.500, limit=550, max(|deltaT|)=0.210 degC, elapsed=1200s, expiry=5400s
+2020-05-09 12:47:08.691 UTC: I(TimingThread): timing uncertainty check: heuristic=-135.071, limit=550, max(|deltaT|)=0.218 degC, elapsed=1260s, expiry=5400s
+2020-05-09 12:48:09.566 UTC: I(TimingThread): timing uncertainty check: heuristic=-148.196, limit=550, max(|deltaT|)=0.225 degC, elapsed=1320s, expiry=5400s
+2020-05-09 12:49:10.613 UTC: I(TimingThread): timing uncertainty check: heuristic=-161.795, limit=550, max(|deltaT|)=0.236 degC, elapsed=1380s, expiry=5400s
+2020-05-09 12:50:11.672 UTC: I(TimingThread): timing uncertainty check: heuristic=-175.901, limit=550, max(|deltaT|)=0.240 degC, elapsed=1440s, expiry=5400s
+2020-05-09 12:51:11.937 UTC: I(TimingThread): timing uncertainty check: heuristic=-190.274, limit=550, max(|deltaT|)=0.250 degC, elapsed=1500s, expiry=5400s
+2020-05-09 12:52:12.781 UTC: I(TimingThread): timing uncertainty check: heuristic=-205.421, limit=550, max(|deltaT|)=0.258 degC, elapsed=1560s, expiry=4500s
+2020-05-09 12:53:13.629 UTC: I(TimingThread): timing uncertainty check: heuristic=-220.947, limit=550, max(|deltaT|)=0.266 degC, elapsed=1620s, expiry=4500s
+2020-05-09 12:54:14.621 UTC: I(TimingThread): timing uncertainty check: heuristic=-236.848, limit=550, max(|deltaT|)=0.270 degC, elapsed=1680s, expiry=4500s
+2020-05-09 12:55:15.664 UTC: I(TimingThread): timing uncertainty check: heuristic=-253.178, limit=550, max(|deltaT|)=0.280 degC, elapsed=1740s, expiry=4500s
+2020-05-09 12:56:16.711 UTC: I(TimingThread): timing uncertainty check: heuristic=-269.917, limit=550, max(|deltaT|)=0.287 degC, elapsed=1800s, expiry=4500s
+2020-05-09 12:57:17.562 UTC: I(TimingThread): timing uncertainty check: heuristic=-287.029, limit=550, max(|deltaT|)=0.291 degC, elapsed=1860s, expiry=4500s
+2020-05-09 12:58:17.851 UTC: I(TimingThread): timing uncertainty check: heuristic=-304.246, limit=550, max(|deltaT|)=0.299 degC, elapsed=1920s, expiry=4500s
+2020-05-09 12:59:18.699 UTC: I(TimingThread): timing uncertainty check: heuristic=-322.114, limit=550, max(|deltaT|)=0.305 degC, elapsed=1980s, expiry=4500s
+2020-05-09 13:00:19.621 UTC: I(TimingThread): timing uncertainty check: heuristic=-340.364, limit=550, max(|deltaT|)=0.309 degC, elapsed=2040s, expiry=4500s
+2020-05-09 13:01:20.672 UTC: I(TimingThread): timing uncertainty check: heuristic=-358.855, limit=550, max(|deltaT|)=0.314 degC, elapsed=2100s, expiry=4500s
+2020-05-09 13:02:21.715 UTC: I(TimingThread): timing uncertainty check: heuristic=-377.683, limit=550, max(|deltaT|)=0.324 degC, elapsed=2160s, expiry=4500s
+2020-05-09 13:03:22.562 UTC: I(TimingThread): timing uncertainty check: heuristic=-396.723, limit=550, max(|deltaT|)=0.324 degC, elapsed=2220s, expiry=4500s
+2020-05-09 13:04:22.922 UTC: I(TimingThread): timing uncertainty check: heuristic=-415.691, limit=550, max(|deltaT|)=0.328 degC, elapsed=2280s, expiry=4500s
+2020-05-09 13:05:23.765 UTC: I(TimingThread): timing uncertainty check: heuristic=-435.223, limit=550, max(|deltaT|)=0.330 degC, elapsed=2340s, expiry=4500s
+2020-05-09 13:06:24.672 UTC: I(TimingThread): timing uncertainty check: heuristic=-455.028, limit=550, max(|deltaT|)=0.338 degC, elapsed=2400s, expiry=4500s
+2020-05-09 13:07:25.707 UTC: I(TimingThread): timing uncertainty check: heuristic=-475.117, limit=550, max(|deltaT|)=0.346 degC, elapsed=2460s, expiry=4500s
+2020-05-09 13:08:26.543 UTC: I(TimingThread): timing uncertainty check: heuristic=-495.349, limit=550, max(|deltaT|)=0.346 degC, elapsed=2520s, expiry=4500s
+2020-05-09 13:09:27.590 UTC: I(TimingThread): timing uncertainty check: heuristic=-515.778, limit=550, max(|deltaT|)=0.346 degC, elapsed=2580s, expiry=4500s
+2020-05-09 13:10:28.617 UTC: I(TimingThread): timing uncertainty check: heuristic=-536.355, limit=550, max(|deltaT|)=0.349 degC, elapsed=2640s, expiry=4500s
+2020-05-09 13:11:28.840 UTC: I(TimingThread): timing uncertainty check: heuristic=-556.753, limit=550, max(|deltaT|)=0.354 degC, elapsed=2700s, expiry=4500s
+2020-05-09 13:11:28.847 UTC: I(TimingThread|freeRun): exit
+2020-05-09 13:11:28.859 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 13:11:31.847 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 13:11:45.840 UTC: I(TimingThread|ClockValidator): GNSS time valid after 14032ms
+2020-05-09 13:11:46.008 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.161s
+2020-05-09 13:11:46.015 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -55 counts (-2.9 us), drift ~ -3.7 us/hour (measured over 2755 s)
+2020-05-09 13:11:46.027 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.020 Hz
+2020-05-09 13:12:37.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +4.744 Hz, converge time = 52 s
+2020-05-09 13:12:38.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 13:12:38.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 13:13:38.726 UTC: I(TimingThread): timing uncertainty check: heuristic=+0.252, limit=550, max(|deltaT|)=0.025 degC, elapsed=60s, expiry=7200s
+2020-05-09 13:14:39.562 UTC: I(TimingThread): timing uncertainty check: heuristic=+0.436, limit=550, max(|deltaT|)=0.025 degC, elapsed=120s, expiry=7200s
+2020-05-09 13:15:40.617 UTC: I(TimingThread): timing uncertainty check: heuristic=+0.771, limit=550, max(|deltaT|)=0.025 degC, elapsed=180s, expiry=7200s
+2020-05-09 13:16:41.664 UTC: I(TimingThread): timing uncertainty check: heuristic=+1.122, limit=550, max(|deltaT|)=0.025 degC, elapsed=240s, expiry=7200s
+2020-05-09 13:17:42.058 UTC: I(TimingThread): timing uncertainty check: heuristic=+1.363, limit=550, max(|deltaT|)=0.025 degC, elapsed=300s, expiry=7200s
+2020-05-09 13:18:42.910 UTC: I(TimingThread): timing uncertainty check: heuristic=+1.636, limit=550, max(|deltaT|)=0.025 degC, elapsed=360s, expiry=7200s
+2020-05-09 13:19:43.761 UTC: I(TimingThread): timing uncertainty check: heuristic=+1.860, limit=550, max(|deltaT|)=0.025 degC, elapsed=420s, expiry=7200s
+2020-05-09 13:20:44.613 UTC: I(TimingThread): timing uncertainty check: heuristic=+2.046, limit=550, max(|deltaT|)=0.025 degC, elapsed=480s, expiry=7200s
+2020-05-09 13:21:45.640 UTC: I(TimingThread): timing uncertainty check: heuristic=+2.144, limit=550, max(|deltaT|)=0.025 degC, elapsed=540s, expiry=7200s
+2020-05-09 13:22:46.683 UTC: I(TimingThread): timing uncertainty check: heuristic=+2.298, limit=550, max(|deltaT|)=0.025 degC, elapsed=600s, expiry=7200s
+2020-05-09 13:23:47.726 UTC: I(TimingThread): timing uncertainty check: heuristic=+2.359, limit=550, max(|deltaT|)=0.025 degC, elapsed=660s, expiry=7200s
+2020-05-09 13:24:48.554 UTC: I(TimingThread): timing uncertainty check: heuristic=+2.519, limit=550, max(|deltaT|)=0.025 degC, elapsed=720s, expiry=7200s
+2020-05-09 13:25:48.855 UTC: I(TimingThread): timing uncertainty check: heuristic=+2.737, limit=550, max(|deltaT|)=0.025 degC, elapsed=780s, expiry=7200s
+2020-05-09 13:26:49.699 UTC: I(TimingThread): timing uncertainty check: heuristic=+3.054, limit=550, max(|deltaT|)=0.025 degC, elapsed=840s, expiry=7200s
+2020-05-09 13:27:50.644 UTC: I(TimingThread): timing uncertainty check: heuristic=+3.439, limit=550, max(|deltaT|)=0.025 degC, elapsed=900s, expiry=7200s
+2020-05-09 13:28:51.683 UTC: I(TimingThread): timing uncertainty check: heuristic=+4.067, limit=550, max(|deltaT|)=0.025 degC, elapsed=960s, expiry=7200s
+2020-05-09 13:29:52.707 UTC: I(TimingThread): timing uncertainty check: heuristic=+5.050, limit=550, max(|deltaT|)=0.027 degC, elapsed=1020s, expiry=7200s
+2020-05-09 13:30:53.543 UTC: I(TimingThread): timing uncertainty check: heuristic=+6.457, limit=550, max(|deltaT|)=0.035 degC, elapsed=1080s, expiry=7200s
+2020-05-09 13:31:53.902 UTC: I(TimingThread): timing uncertainty check: heuristic=+8.291, limit=550, max(|deltaT|)=0.047 degC, elapsed=1140s, expiry=7200s
+2020-05-09 13:32:54.746 UTC: I(TimingThread): timing uncertainty check: heuristic=+10.730, limit=550, max(|deltaT|)=0.052 degC, elapsed=1200s, expiry=7200s
+2020-05-09 13:33:55.625 UTC: I(TimingThread): timing uncertainty check: heuristic=+14.000, limit=550, max(|deltaT|)=0.068 degC, elapsed=1260s, expiry=6300s
+2020-05-09 13:34:56.672 UTC: I(TimingThread): timing uncertainty check: heuristic=+18.170, limit=550, max(|deltaT|)=0.082 degC, elapsed=1320s, expiry=6300s
+2020-05-09 13:35:57.715 UTC: I(TimingThread): timing uncertainty check: heuristic=+23.512, limit=550, max(|deltaT|)=0.111 degC, elapsed=1380s, expiry=6300s
+2020-05-09 13:36:58.558 UTC: I(TimingThread): timing uncertainty check: heuristic=+30.048, limit=550, max(|deltaT|)=0.124 degC, elapsed=1440s, expiry=6300s
+2020-05-09 13:37:59.617 UTC: I(TimingThread): timing uncertainty check: heuristic=+38.036, limit=550, max(|deltaT|)=0.149 degC, elapsed=1500s, expiry=5400s
+2020-05-09 13:38:59.836 UTC: I(TimingThread): timing uncertainty check: heuristic=+47.469, limit=550, max(|deltaT|)=0.174 degC, elapsed=1560s, expiry=5400s
+2020-05-09 13:39:20.754 UTC: I(BleProcessorThr|gecko_evt_le_connection_opened_id): address=D2:45:63:C8:CF:54, connection=1
+2020-05-09 13:39:20.777 UTC: I(BleProcessorThr|gecko_evt_le_connection_parameters_id): connection: 1, latency: 0, timeout: 72, interval: 30.00 ms, txsize: 27
+2020-05-09 13:39:20.789 UTC: I(BleProcessorThr|gecko_evt_le_connection_phy_status_id): connection: 1, phy: 1
+2020-05-09 13:39:20.925 UTC: I(BleProcessorThr|gecko_evt_gatt_mtu_exchanged_id): mtu: 185
+2020-05-09 13:39:23.414 UTC: I(BleProcessorThr|gecko_evt_le_connection_closed_id): connection=1, reason=0x0213
+2020-05-09 13:39:24.582 UTC: I(BleProcessorThr|gecko_evt_le_connection_opened_id): address=D2:45:63:C8:CF:54, connection=1
+2020-05-09 13:39:24.605 UTC: I(BleProcessorThr|gecko_evt_le_connection_parameters_id): connection: 1, latency: 0, timeout: 72, interval: 30.00 ms, txsize: 27
+2020-05-09 13:39:24.613 UTC: I(BleProcessorThr|gecko_evt_le_connection_phy_status_id): connection: 1, phy: 1
+2020-05-09 13:39:24.703 UTC: I(BleProcessorThr|gecko_evt_gatt_mtu_exchanged_id): mtu: 185
+2020-05-09 13:40:00.711 UTC: I(TimingThread): timing uncertainty check: heuristic=+58.966, limit=550, max(|deltaT|)=0.211 degC, elapsed=1620s, expiry=5400s
+2020-05-09 13:40:32.300 UTC: I(BleProcessorThr|gecko_evt_le_connection_closed_id): connection=1, reason=0x0213
+2020-05-09 13:41:01.547 UTC: I(TimingThread): timing uncertainty check: heuristic=+72.509, limit=550, max(|deltaT|)=0.252 degC, elapsed=1680s, expiry=4500s
+2020-05-09 13:42:02.574 UTC: I(TimingThread): timing uncertainty check: heuristic=+88.268, limit=550, max(|deltaT|)=0.285 degC, elapsed=1740s, expiry=4500s
+2020-05-09 13:43:03.597 UTC: I(TimingThread): timing uncertainty check: heuristic=+106.519, limit=550, max(|deltaT|)=0.324 degC, elapsed=1800s, expiry=4500s
+2020-05-09 13:44:04.644 UTC: I(TimingThread): timing uncertainty check: heuristic=+127.285, limit=550, max(|deltaT|)=0.371 degC, elapsed=1860s, expiry=4500s
+2020-05-09 13:45:04.898 UTC: I(TimingThread): timing uncertainty check: heuristic=+150.485, limit=550, max(|deltaT|)=0.415 degC, elapsed=1920s, expiry=4500s
+2020-05-09 13:46:05.738 UTC: I(TimingThread): timing uncertainty check: heuristic=+176.978, limit=550, max(|deltaT|)=0.471 degC, elapsed=1980s, expiry=4500s
+2020-05-09 13:47:06.578 UTC: I(TimingThread): timing uncertainty check: heuristic=+206.664, limit=550, max(|deltaT|)=0.515 degC, elapsed=2040s, expiry=3600s
+2020-05-09 13:48:07.578 UTC: I(TimingThread): timing uncertainty check: heuristic=+239.858, limit=550, max(|deltaT|)=0.577 degC, elapsed=2100s, expiry=3600s
+2020-05-09 13:49:08.609 UTC: I(TimingThread): timing uncertainty check: heuristic=+276.484, limit=550, max(|deltaT|)=0.634 degC, elapsed=2160s, expiry=3600s
+2020-05-09 13:50:09.648 UTC: I(TimingThread): timing uncertainty check: heuristic=+316.878, limit=550, max(|deltaT|)=0.698 degC, elapsed=2220s, expiry=3600s
+2020-05-09 13:51:09.957 UTC: I(TimingThread): timing uncertainty check: heuristic=+360.448, limit=550, max(|deltaT|)=0.760 degC, elapsed=2280s, expiry=3600s
+2020-05-09 13:52:10.804 UTC: I(TimingThread): timing uncertainty check: heuristic=+408.789, limit=550, max(|deltaT|)=0.833 degC, elapsed=2340s, expiry=3600s
+2020-05-09 13:53:11.730 UTC: I(TimingThread): timing uncertainty check: heuristic=+461.408, limit=550, max(|deltaT|)=0.903 degC, elapsed=2400s, expiry=3600s
+2020-05-09 13:54:12.566 UTC: I(TimingThread): timing uncertainty check: heuristic=+518.506, limit=550, max(|deltaT|)=0.971 degC, elapsed=2460s, expiry=3600s
+2020-05-09 13:55:13.601 UTC: I(TimingThread): timing uncertainty check: heuristic=+580.170, limit=550, max(|deltaT|)=1.061 degC, elapsed=2520s, expiry=2700s
+2020-05-09 13:55:13.609 UTC: I(TimingThread|freeRun): exit
+2020-05-09 13:55:13.621 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 13:55:16.875 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 13:55:27.851 UTC: I(TimingThread|ClockValidator): GNSS time valid after 11004ms
+2020-05-09 13:55:28.009 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.150s
+2020-05-09 13:55:28.016 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +582 counts (+30.3 us), drift ~ +42.5 us/hour (measured over 2570 s)
+2020-05-09 13:55:28.024 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.226 Hz
+2020-05-09 13:56:33.997 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.848 Hz, converge time = 66 s
+2020-05-09 13:56:34.005 UTC: I(TimingThread|discipline): exit
+2020-05-09 13:56:34.012 UTC: I(TimingThread|freeRun): enter
+2020-05-09 13:57:34.684 UTC: I(TimingThread): timing uncertainty check: heuristic=+1.822, limit=550, max(|deltaT|)=0.075 degC, elapsed=60s, expiry=6300s
+2020-05-09 13:58:35.735 UTC: I(TimingThread): timing uncertainty check: heuristic=+8.816, limit=550, max(|deltaT|)=0.163 degC, elapsed=120s, expiry=5400s
+2020-05-09 13:59:36.579 UTC: I(TimingThread): timing uncertainty check: heuristic=+21.280, limit=550, max(|deltaT|)=0.252 degC, elapsed=180s, expiry=4500s
+2020-05-09 14:00:37.622 UTC: I(TimingThread): timing uncertainty check: heuristic=+39.352, limit=550, max(|deltaT|)=0.345 degC, elapsed=240s, expiry=4500s
+2020-05-09 14:01:37.926 UTC: I(TimingThread): timing uncertainty check: heuristic=+62.569, limit=550, max(|deltaT|)=0.435 degC, elapsed=300s, expiry=4500s
+2020-05-09 14:02:38.774 UTC: I(TimingThread): timing uncertainty check: heuristic=+91.972, limit=550, max(|deltaT|)=0.528 degC, elapsed=360s, expiry=3600s
+2020-05-09 14:03:39.735 UTC: I(TimingThread): timing uncertainty check: heuristic=+127.235, limit=550, max(|deltaT|)=0.633 degC, elapsed=420s, expiry=3600s
+2020-05-09 14:04:40.575 UTC: I(TimingThread): timing uncertainty check: heuristic=+168.403, limit=550, max(|deltaT|)=0.727 degC, elapsed=480s, expiry=3600s
+2020-05-09 14:05:41.618 UTC: I(TimingThread): timing uncertainty check: heuristic=+215.662, limit=550, max(|deltaT|)=0.829 degC, elapsed=540s, expiry=3600s
+2020-05-09 14:06:42.676 UTC: I(TimingThread): timing uncertainty check: heuristic=+269.025, limit=550, max(|deltaT|)=0.923 degC, elapsed=600s, expiry=3600s
+2020-05-09 14:07:43.020 UTC: I(TimingThread): timing uncertainty check: heuristic=+327.675, limit=550, max(|deltaT|)=1.025 degC, elapsed=660s, expiry=2700s
+2020-05-09 14:08:43.880 UTC: I(TimingThread): timing uncertainty check: heuristic=+393.589, limit=550, max(|deltaT|)=1.131 degC, elapsed=720s, expiry=2700s
+2020-05-09 14:09:44.727 UTC: I(TimingThread): timing uncertainty check: heuristic=+465.960, limit=550, max(|deltaT|)=1.248 degC, elapsed=780s, expiry=2700s
+2020-05-09 14:10:45.645 UTC: I(TimingThread): timing uncertainty check: heuristic=+544.844, limit=550, max(|deltaT|)=1.349 degC, elapsed=840s, expiry=2700s
+2020-05-09 14:11:46.708 UTC: I(TimingThread): timing uncertainty check: heuristic=+630.368, limit=550, max(|deltaT|)=1.459 degC, elapsed=900s, expiry=2700s
+2020-05-09 14:11:46.716 UTC: I(TimingThread|freeRun): exit
+2020-05-09 14:11:46.727 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 14:11:49.958 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 14:11:57.946 UTC: I(TimingThread|ClockValidator): GNSS time valid after 8007ms
+2020-05-09 14:11:58.009 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.055s
+2020-05-09 14:11:58.016 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +318 counts (+16.6 us), drift ~ +64.5 us/hour (measured over 924 s)
+2020-05-09 14:11:58.028 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.344 Hz
+2020-05-09 14:12:59.993 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.104 Hz, converge time = 62 s
+2020-05-09 14:13:00.001 UTC: I(TimingThread|discipline): exit
+2020-05-09 14:13:00.012 UTC: I(TimingThread|freeRun): enter
+2020-05-09 14:14:00.661 UTC: I(TimingThread): timing uncertainty check: heuristic=+3.633, limit=550, max(|deltaT|)=0.121 degC, elapsed=60s, expiry=6300s
+2020-05-09 14:15:01.704 UTC: I(TimingThread): timing uncertainty check: heuristic=+14.321, limit=550, max(|deltaT|)=0.244 degC, elapsed=120s, expiry=5400s
+2020-05-09 14:16:02.571 UTC: I(TimingThread): timing uncertainty check: heuristic=+32.060, limit=550, max(|deltaT|)=0.349 degC, elapsed=180s, expiry=4500s
+2020-05-09 14:17:03.626 UTC: I(TimingThread): timing uncertainty check: heuristic=+56.917, limit=550, max(|deltaT|)=0.464 degC, elapsed=240s, expiry=4500s
+2020-05-09 14:18:03.911 UTC: I(TimingThread): timing uncertainty check: heuristic=+88.345, limit=550, max(|deltaT|)=0.582 degC, elapsed=300s, expiry=3600s
+2020-05-09 14:19:04.751 UTC: I(TimingThread): timing uncertainty check: heuristic=+127.352, limit=550, max(|deltaT|)=0.700 degC, elapsed=360s, expiry=3600s
+2020-05-09 14:20:05.727 UTC: I(TimingThread): timing uncertainty check: heuristic=+173.587, limit=550, max(|deltaT|)=0.822 degC, elapsed=420s, expiry=3600s
+2020-05-09 14:21:06.559 UTC: I(TimingThread): timing uncertainty check: heuristic=+226.968, limit=550, max(|deltaT|)=0.940 degC, elapsed=480s, expiry=3600s
+2020-05-09 14:22:07.606 UTC: I(TimingThread): timing uncertainty check: heuristic=+287.653, limit=550, max(|deltaT|)=1.056 degC, elapsed=540s, expiry=2700s
+2020-05-09 14:23:08.665 UTC: I(TimingThread): timing uncertainty check: heuristic=+355.543, limit=550, max(|deltaT|)=1.171 degC, elapsed=600s, expiry=2700s
+2020-05-09 14:24:08.973 UTC: I(TimingThread): timing uncertainty check: heuristic=+429.419, limit=550, max(|deltaT|)=1.286 degC, elapsed=660s, expiry=2700s
+2020-05-09 14:25:09.829 UTC: I(TimingThread): timing uncertainty check: heuristic=+511.841, limit=550, max(|deltaT|)=1.411 degC, elapsed=720s, expiry=2700s
+2020-05-09 14:26:10.692 UTC: I(TimingThread): timing uncertainty check: heuristic=+601.561, limit=550, max(|deltaT|)=1.533 degC, elapsed=780s, expiry=2700s
+2020-05-09 14:26:10.700 UTC: I(TimingThread|freeRun): exit
+2020-05-09 14:26:10.712 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 14:26:14.981 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 14:26:27.950 UTC: I(TimingThread|ClockValidator): GNSS time valid after 13000ms
+2020-05-09 14:26:27.958 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +254 counts (+13.2 us), drift ~ +58.9 us/hour (measured over 808 s)
+2020-05-09 14:26:27.969 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.314 Hz
+2020-05-09 14:26:30.001 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.051s
+2020-05-09 14:27:29.997 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +2.489 Hz, converge time = 62 s
+2020-05-09 14:27:30.001 UTC: I(TimingThread|discipline): exit
+2020-05-09 14:27:30.012 UTC: I(TimingThread|freeRun): enter
+2020-05-09 14:28:30.649 UTC: I(TimingThread): timing uncertainty check: heuristic=+3.753, limit=550, max(|deltaT|)=0.125 degC, elapsed=60s, expiry=6300s
+2020-05-09 14:29:31.688 UTC: I(TimingThread): timing uncertainty check: heuristic=+15.125, limit=550, max(|deltaT|)=0.252 degC, elapsed=120s, expiry=4500s
+2020-05-09 14:30:32.711 UTC: I(TimingThread): timing uncertainty check: heuristic=+34.059, limit=550, max(|deltaT|)=0.370 degC, elapsed=180s, expiry=4500s
+2020-05-09 14:31:33.551 UTC: I(TimingThread): timing uncertainty check: heuristic=+60.423, limit=550, max(|deltaT|)=0.491 degC, elapsed=240s, expiry=4500s
+2020-05-09 14:32:33.887 UTC: I(TimingThread): timing uncertainty check: heuristic=+93.624, limit=550, max(|deltaT|)=0.615 degC, elapsed=300s, expiry=3600s
+2020-05-09 14:33:34.735 UTC: I(TimingThread): timing uncertainty check: heuristic=+134.720, limit=550, max(|deltaT|)=0.733 degC, elapsed=360s, expiry=3600s
+2020-05-09 14:34:35.649 UTC: I(TimingThread): timing uncertainty check: heuristic=+183.135, limit=550, max(|deltaT|)=0.854 degC, elapsed=420s, expiry=3600s
+2020-05-09 14:35:36.696 UTC: I(TimingThread): timing uncertainty check: heuristic=+238.894, limit=550, max(|deltaT|)=0.973 degC, elapsed=480s, expiry=3600s
+2020-05-09 14:36:37.540 UTC: I(TimingThread): timing uncertainty check: heuristic=+302.028, limit=550, max(|deltaT|)=1.096 degC, elapsed=540s, expiry=2700s
+2020-05-09 14:37:38.579 UTC: I(TimingThread): timing uncertainty check: heuristic=+372.544, limit=550, max(|deltaT|)=1.220 degC, elapsed=600s, expiry=2700s
+2020-05-09 14:38:38.981 UTC: I(TimingThread): timing uncertainty check: heuristic=+449.079, limit=550, max(|deltaT|)=1.336 degC, elapsed=660s, expiry=2700s
+2020-05-09 14:39:39.829 UTC: I(TimingThread): timing uncertainty check: heuristic=+534.182, limit=550, max(|deltaT|)=1.456 degC, elapsed=720s, expiry=2700s
+2020-05-09 14:40:40.696 UTC: I(TimingThread): timing uncertainty check: heuristic=+626.693, limit=550, max(|deltaT|)=1.574 degC, elapsed=780s, expiry=2700s
+2020-05-09 14:40:40.704 UTC: I(TimingThread|freeRun): exit
+2020-05-09 14:40:40.715 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 14:40:42.954 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 14:40:45.954 UTC: I(TimingThread|ClockValidator): GNSS time valid after 3007ms
+2020-05-09 14:40:45.961 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +172 counts (+9.0 us), drift ~ +40.5 us/hour (measured over 796 s)
+2020-05-09 14:40:45.973 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.216 Hz
+2020-05-09 14:41:01.001 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.051s
+2020-05-09 14:41:44.997 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +2.073 Hz, converge time = 59 s
+2020-05-09 14:41:45.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 14:41:45.012 UTC: I(TimingThread|freeRun): enter
+2020-05-09 14:42:45.731 UTC: I(TimingThread): timing uncertainty check: heuristic=+4.167, limit=550, max(|deltaT|)=0.127 degC, elapsed=60s, expiry=5400s
+2020-05-09 14:43:46.579 UTC: I(TimingThread): timing uncertainty check: heuristic=+15.918, limit=550, max(|deltaT|)=0.261 degC, elapsed=120s, expiry=4500s
+2020-05-09 14:44:47.626 UTC: I(TimingThread): timing uncertainty check: heuristic=+35.163, limit=550, max(|deltaT|)=0.381 degC, elapsed=180s, expiry=4500s
+2020-05-09 14:45:48.012 UTC: I(TimingThread): timing uncertainty check: heuristic=+61.404, limit=550, max(|deltaT|)=0.494 degC, elapsed=240s, expiry=4500s
+2020-05-09 14:46:48.868 UTC: I(TimingThread): timing uncertainty check: heuristic=+95.500, limit=550, max(|deltaT|)=0.623 degC, elapsed=300s, expiry=3600s
+2020-05-09 14:47:49.723 UTC: I(TimingThread): timing uncertainty check: heuristic=+136.983, limit=550, max(|deltaT|)=0.745 degC, elapsed=360s, expiry=3600s
+2020-05-09 14:48:50.602 UTC: I(TimingThread): timing uncertainty check: heuristic=+185.779, limit=550, max(|deltaT|)=0.864 degC, elapsed=420s, expiry=3600s
+2020-05-09 14:49:51.665 UTC: I(TimingThread): timing uncertainty check: heuristic=+242.022, limit=550, max(|deltaT|)=0.985 degC, elapsed=480s, expiry=3600s
+2020-05-09 14:50:52.715 UTC: I(TimingThread): timing uncertainty check: heuristic=+305.547, limit=550, max(|deltaT|)=1.103 degC, elapsed=540s, expiry=2700s
+2020-05-09 14:51:53.559 UTC: I(TimingThread): timing uncertainty check: heuristic=+376.383, limit=550, max(|deltaT|)=1.223 degC, elapsed=600s, expiry=2700s
+2020-05-09 14:52:54.618 UTC: I(TimingThread): timing uncertainty check: heuristic=+454.425, limit=550, max(|deltaT|)=1.339 degC, elapsed=660s, expiry=2700s
+2020-05-09 14:53:54.872 UTC: I(TimingThread): timing uncertainty check: heuristic=+538.238, limit=550, max(|deltaT|)=1.457 degC, elapsed=720s, expiry=2700s
+2020-05-09 14:54:55.731 UTC: I(TimingThread): timing uncertainty check: heuristic=+630.456, limit=550, max(|deltaT|)=1.571 degC, elapsed=780s, expiry=2700s
+2020-05-09 14:54:55.735 UTC: I(TimingThread|freeRun): exit
+2020-05-09 14:54:55.747 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 14:54:57.954 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 14:55:00.954 UTC: I(TimingThread|ClockValidator): GNSS time valid after 3008ms
+2020-05-09 14:55:00.961 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +102 counts (+5.3 us), drift ~ +24.0 us/hour (measured over 796 s)
+2020-05-09 14:55:00.973 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.128 Hz
+2020-05-09 14:55:36.001 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.051s
+2020-05-09 14:55:56.997 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +1.845 Hz, converge time = 56 s
+2020-05-09 14:55:57.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 14:55:57.016 UTC: I(TimingThread|freeRun): enter
+2020-05-09 14:56:57.684 UTC: I(TimingThread): timing uncertainty check: heuristic=+3.799, limit=550, max(|deltaT|)=0.122 degC, elapsed=60s, expiry=6300s
+2020-05-09 14:57:58.547 UTC: I(TimingThread): timing uncertainty check: heuristic=+14.623, limit=550, max(|deltaT|)=0.243 degC, elapsed=120s, expiry=5400s
+2020-05-09 14:58:59.614 UTC: I(TimingThread): timing uncertainty check: heuristic=+32.344, limit=550, max(|deltaT|)=0.349 degC, elapsed=180s, expiry=4500s
+2020-05-09 15:00:00.665 UTC: I(TimingThread): timing uncertainty check: heuristic=+56.926, limit=550, max(|deltaT|)=0.456 degC, elapsed=240s, expiry=4500s
+2020-05-09 15:01:00.961 UTC: I(TimingThread): timing uncertainty check: heuristic=+87.529, limit=550, max(|deltaT|)=0.567 degC, elapsed=300s, expiry=3600s
+2020-05-09 15:02:01.821 UTC: I(TimingThread): timing uncertainty check: heuristic=+125.116, limit=550, max(|deltaT|)=0.675 degC, elapsed=360s, expiry=3600s
+2020-05-09 15:03:02.680 UTC: I(TimingThread): timing uncertainty check: heuristic=+169.153, limit=550, max(|deltaT|)=0.770 degC, elapsed=420s, expiry=3600s
+2020-05-09 15:04:03.653 UTC: I(TimingThread): timing uncertainty check: heuristic=+219.496, limit=550, max(|deltaT|)=0.879 degC, elapsed=480s, expiry=3600s
+2020-05-09 15:05:04.719 UTC: I(TimingThread): timing uncertainty check: heuristic=+276.174, limit=550, max(|deltaT|)=0.980 degC, elapsed=540s, expiry=3600s
+2020-05-09 15:06:05.571 UTC: I(TimingThread): timing uncertainty check: heuristic=+338.892, limit=550, max(|deltaT|)=1.078 degC, elapsed=600s, expiry=2700s
+2020-05-09 15:07:06.637 UTC: I(TimingThread): timing uncertainty check: heuristic=+407.713, limit=550, max(|deltaT|)=1.178 degC, elapsed=660s, expiry=2700s
+2020-05-09 15:08:06.965 UTC: I(TimingThread): timing uncertainty check: heuristic=+481.231, limit=550, max(|deltaT|)=1.278 degC, elapsed=720s, expiry=2700s
+2020-05-09 15:09:07.829 UTC: I(TimingThread): timing uncertainty check: heuristic=+561.829, limit=550, max(|deltaT|)=1.373 degC, elapsed=780s, expiry=2700s
+2020-05-09 15:09:07.836 UTC: I(TimingThread|freeRun): exit
+2020-05-09 15:09:07.852 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 15:09:09.954 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 15:09:13.954 UTC: I(TimingThread|ClockValidator): GNSS time valid after 4009ms
+2020-05-09 15:09:13.961 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +32 counts (+1.7 us), drift ~ +7.5 us/hour (measured over 797 s)
+2020-05-09 15:09:13.973 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.040 Hz
+2020-05-09 15:10:02.954 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +1.805 Hz, converge time = 49 s
+2020-05-09 15:10:02.961 UTC: I(TimingThread|discipline): exit
+2020-05-09 15:10:02.969 UTC: I(TimingThread|freeRun): enter
+2020-05-09 15:11:03.586 UTC: I(TimingThread): timing uncertainty check: heuristic=+3.550, limit=550, max(|deltaT|)=0.105 degC, elapsed=60s, expiry=6300s
+2020-05-09 15:12:04.618 UTC: I(TimingThread): timing uncertainty check: heuristic=+12.989, limit=550, max(|deltaT|)=0.209 degC, elapsed=120s, expiry=5400s
+2020-05-09 15:13:05.665 UTC: I(TimingThread): timing uncertainty check: heuristic=+28.311, limit=550, max(|deltaT|)=0.298 degC, elapsed=180s, expiry=4500s
+2020-05-09 15:14:06.715 UTC: I(TimingThread): timing uncertainty check: heuristic=+49.395, limit=550, max(|deltaT|)=0.394 degC, elapsed=240s, expiry=4500s
+2020-05-09 15:15:07.586 UTC: I(TimingThread): timing uncertainty check: heuristic=+76.199, limit=550, max(|deltaT|)=0.485 degC, elapsed=300s, expiry=4500s
+2020-05-09 15:16:07.895 UTC: I(TimingThread): timing uncertainty check: heuristic=+108.110, limit=550, max(|deltaT|)=0.578 degC, elapsed=360s, expiry=3600s
+2020-05-09 15:17:08.758 UTC: I(TimingThread): timing uncertainty check: heuristic=+146.064, limit=550, max(|deltaT|)=0.667 degC, elapsed=420s, expiry=3600s
+2020-05-09 15:18:09.629 UTC: I(TimingThread): timing uncertainty check: heuristic=+189.684, limit=550, max(|deltaT|)=0.759 degC, elapsed=480s, expiry=3600s
+2020-05-09 15:19:10.618 UTC: I(TimingThread): timing uncertainty check: heuristic=+238.820, limit=550, max(|deltaT|)=0.853 degC, elapsed=540s, expiry=3600s
+2020-05-09 15:20:11.692 UTC: I(TimingThread): timing uncertainty check: heuristic=+293.579, limit=550, max(|deltaT|)=0.947 degC, elapsed=600s, expiry=3600s
+2020-05-09 15:21:12.551 UTC: I(TimingThread): timing uncertainty check: heuristic=+353.903, limit=550, max(|deltaT|)=1.043 degC, elapsed=660s, expiry=2700s
+2020-05-09 15:22:13.602 UTC: I(TimingThread): timing uncertainty check: heuristic=+419.731, limit=550, max(|deltaT|)=1.124 degC, elapsed=720s, expiry=2700s
+2020-05-09 15:23:13.989 UTC: I(TimingThread): timing uncertainty check: heuristic=+489.900, limit=550, max(|deltaT|)=1.225 degC, elapsed=780s, expiry=2700s
+2020-05-09 15:24:14.864 UTC: I(TimingThread): timing uncertainty check: heuristic=+566.624, limit=550, max(|deltaT|)=1.305 degC, elapsed=840s, expiry=2700s
+2020-05-09 15:24:14.876 UTC: I(TimingThread|freeRun): exit
+2020-05-09 15:24:14.887 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 15:24:16.907 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 15:24:19.907 UTC: I(TimingThread|ClockValidator): GNSS time valid after 3007ms
+2020-05-09 15:24:20.008 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.093s
+2020-05-09 15:24:20.015 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +6 counts (+0.3 us), drift ~ +1.3 us/hour (measured over 857 s)
+2020-05-09 15:24:20.023 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.007 Hz
+2020-05-09 15:24:52.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +1.848 Hz, converge time = 33 s
+2020-05-09 15:24:53.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 15:24:53.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 15:25:53.793 UTC: I(TimingThread): timing uncertainty check: heuristic=+3.247, limit=550, max(|deltaT|)=0.097 degC, elapsed=60s, expiry=6300s
+2020-05-09 15:26:54.672 UTC: I(TimingThread): timing uncertainty check: heuristic=+12.041, limit=550, max(|deltaT|)=0.193 degC, elapsed=120s, expiry=5400s
+2020-05-09 15:27:55.625 UTC: I(TimingThread): timing uncertainty check: heuristic=+26.332, limit=550, max(|deltaT|)=0.281 degC, elapsed=180s, expiry=4500s
+2020-05-09 15:28:56.695 UTC: I(TimingThread): timing uncertainty check: heuristic=+46.089, limit=550, max(|deltaT|)=0.368 degC, elapsed=240s, expiry=4500s
+2020-05-09 15:29:57.562 UTC: I(TimingThread): timing uncertainty check: heuristic=+71.205, limit=550, max(|deltaT|)=0.454 degC, elapsed=300s, expiry=4500s
+2020-05-09 15:30:58.621 UTC: I(TimingThread): timing uncertainty check: heuristic=+101.730, limit=550, max(|deltaT|)=0.543 degC, elapsed=360s, expiry=3600s
+2020-05-09 15:31:59.011 UTC: I(TimingThread): timing uncertainty check: heuristic=+136.895, limit=550, max(|deltaT|)=0.630 degC, elapsed=420s, expiry=3600s
+2020-05-09 15:32:59.883 UTC: I(TimingThread): timing uncertainty check: heuristic=+177.967, limit=550, max(|deltaT|)=0.718 degC, elapsed=480s, expiry=3600s
+2020-05-09 15:34:00.758 UTC: I(TimingThread): timing uncertainty check: heuristic=+224.352, limit=550, max(|deltaT|)=0.803 degC, elapsed=540s, expiry=3600s
+2020-05-09 15:35:01.633 UTC: I(TimingThread): timing uncertainty check: heuristic=+276.008, limit=550, max(|deltaT|)=0.887 degC, elapsed=600s, expiry=3600s
+2020-05-09 15:36:02.687 UTC: I(TimingThread): timing uncertainty check: heuristic=+332.933, limit=550, max(|deltaT|)=0.982 degC, elapsed=660s, expiry=3600s
+2020-05-09 15:37:03.562 UTC: I(TimingThread): timing uncertainty check: heuristic=+395.054, limit=550, max(|deltaT|)=1.060 degC, elapsed=720s, expiry=2700s
+2020-05-09 15:38:04.617 UTC: I(TimingThread): timing uncertainty check: heuristic=+462.505, limit=550, max(|deltaT|)=1.151 degC, elapsed=780s, expiry=2700s
+2020-05-09 15:39:05.672 UTC: I(TimingThread): timing uncertainty check: heuristic=+535.256, limit=550, max(|deltaT|)=1.236 degC, elapsed=840s, expiry=2700s
+2020-05-09 15:40:06.539 UTC: I(TimingThread): timing uncertainty check: heuristic=+613.211, limit=550, max(|deltaT|)=1.327 degC, elapsed=900s, expiry=2700s
+2020-05-09 15:40:06.547 UTC: I(TimingThread|freeRun): exit
+2020-05-09 15:40:06.554 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 15:40:09.945 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 15:40:12.945 UTC: I(TimingThread|ClockValidator): GNSS time valid after 3006ms
+2020-05-09 15:40:13.009 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.056s
+2020-05-09 15:40:13.020 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -14 counts (-0.7 us), drift ~ -2.9 us/hour (measured over 920 s)
+2020-05-09 15:40:13.028 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.015 Hz
+2020-05-09 15:40:55.997 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +1.913 Hz, converge time = 43 s
+2020-05-09 15:40:56.005 UTC: I(TimingThread|discipline): exit
+2020-05-09 15:40:56.012 UTC: I(TimingThread|freeRun): enter
+2020-05-09 15:41:56.716 UTC: I(TimingThread): timing uncertainty check: heuristic=+2.536, limit=550, max(|deltaT|)=0.086 degC, elapsed=60s, expiry=6300s
+2020-05-09 15:42:57.587 UTC: I(TimingThread): timing uncertainty check: heuristic=+10.469, limit=550, max(|deltaT|)=0.175 degC, elapsed=120s, expiry=5400s
+2020-05-09 15:43:58.645 UTC: I(TimingThread): timing uncertainty check: heuristic=+23.813, limit=550, max(|deltaT|)=0.264 degC, elapsed=180s, expiry=4500s
+2020-05-09 15:44:59.727 UTC: I(TimingThread): timing uncertainty check: heuristic=+42.362, limit=550, max(|deltaT|)=0.349 degC, elapsed=240s, expiry=4500s
+2020-05-09 15:46:00.634 UTC: I(TimingThread): timing uncertainty check: heuristic=+66.228, limit=550, max(|deltaT|)=0.435 degC, elapsed=300s, expiry=4500s
+2020-05-09 15:47:00.954 UTC: I(TimingThread): timing uncertainty check: heuristic=+94.840, limit=550, max(|deltaT|)=0.519 degC, elapsed=360s, expiry=3600s
+2020-05-09 15:48:01.829 UTC: I(TimingThread): timing uncertainty check: heuristic=+129.111, limit=550, max(|deltaT|)=0.606 degC, elapsed=420s, expiry=3600s
+2020-05-09 15:49:02.708 UTC: I(TimingThread): timing uncertainty check: heuristic=+168.488, limit=550, max(|deltaT|)=0.686 degC, elapsed=480s, expiry=3600s
+2020-05-09 15:50:03.665 UTC: I(TimingThread): timing uncertainty check: heuristic=+213.147, limit=550, max(|deltaT|)=0.774 degC, elapsed=540s, expiry=3600s
+2020-05-09 15:51:04.727 UTC: I(TimingThread): timing uncertainty check: heuristic=+262.859, limit=550, max(|deltaT|)=0.860 degC, elapsed=600s, expiry=3600s
+2020-05-09 15:52:05.591 UTC: I(TimingThread): timing uncertainty check: heuristic=+317.746, limit=550, max(|deltaT|)=0.944 degC, elapsed=660s, expiry=3600s
+2020-05-09 15:53:06.637 UTC: I(TimingThread): timing uncertainty check: heuristic=+377.760, limit=550, max(|deltaT|)=1.024 degC, elapsed=720s, expiry=2700s
+2020-05-09 15:54:07.716 UTC: I(TimingThread): timing uncertainty check: heuristic=+442.805, limit=550, max(|deltaT|)=1.118 degC, elapsed=780s, expiry=2700s
+2020-05-09 15:55:08.579 UTC: I(TimingThread): timing uncertainty check: heuristic=+512.923, limit=550, max(|deltaT|)=1.192 degC, elapsed=840s, expiry=2700s
+2020-05-09 15:56:08.848 UTC: I(TimingThread): timing uncertainty check: heuristic=+586.845, limit=550, max(|deltaT|)=1.275 degC, elapsed=900s, expiry=2700s
+2020-05-09 15:56:08.856 UTC: I(TimingThread|freeRun): exit
+2020-05-09 15:56:08.868 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 15:56:12.946 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 15:56:14.946 UTC: I(TimingThread|ClockValidator): GNSS time valid after 2004ms
+2020-05-09 15:56:15.008 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.054s
+2020-05-09 15:56:15.015 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -64 counts (-3.3 us), drift ~ -13.1 us/hour (measured over 919 s)
+2020-05-09 15:56:15.027 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.070 Hz
+2020-05-09 15:57:07.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +2.083 Hz, converge time = 53 s
+2020-05-09 15:57:08.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 15:57:08.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 15:58:08.687 UTC: I(TimingThread): timing uncertainty check: heuristic=+3.204, limit=550, max(|deltaT|)=0.093 degC, elapsed=60s, expiry=6300s
+2020-05-09 15:59:09.629 UTC: I(TimingThread): timing uncertainty check: heuristic=+11.622, limit=550, max(|deltaT|)=0.181 degC, elapsed=120s, expiry=5400s
+2020-05-09 16:00:10.695 UTC: I(TimingThread): timing uncertainty check: heuristic=+24.983, limit=550, max(|deltaT|)=0.259 degC, elapsed=180s, expiry=4500s
+2020-05-09 16:01:11.550 UTC: I(TimingThread): timing uncertainty check: heuristic=+43.357, limit=550, max(|deltaT|)=0.344 degC, elapsed=240s, expiry=4500s
+2020-05-09 16:02:12.617 UTC: I(TimingThread): timing uncertainty check: heuristic=+66.731, limit=550, max(|deltaT|)=0.424 degC, elapsed=300s, expiry=4500s
+2020-05-09 16:03:13.703 UTC: I(TimingThread): timing uncertainty check: heuristic=+94.858, limit=550, max(|deltaT|)=0.502 degC, elapsed=360s, expiry=3600s
+2020-05-09 16:04:14.578 UTC: I(TimingThread): timing uncertainty check: heuristic=+127.790, limit=550, max(|deltaT|)=0.577 degC, elapsed=420s, expiry=3600s
+2020-05-09 16:05:14.847 UTC: I(TimingThread): timing uncertainty check: heuristic=+164.856, limit=550, max(|deltaT|)=0.656 degC, elapsed=480s, expiry=3600s
+2020-05-09 16:06:15.722 UTC: I(TimingThread): timing uncertainty check: heuristic=+207.208, limit=550, max(|deltaT|)=0.737 degC, elapsed=540s, expiry=3600s
+2020-05-09 16:07:16.726 UTC: I(TimingThread): timing uncertainty check: heuristic=+254.296, limit=550, max(|deltaT|)=0.814 degC, elapsed=600s, expiry=3600s
+2020-05-09 16:08:17.593 UTC: I(TimingThread): timing uncertainty check: heuristic=+306.080, limit=550, max(|deltaT|)=0.891 degC, elapsed=660s, expiry=3600s
+2020-05-09 16:09:18.679 UTC: I(TimingThread): timing uncertainty check: heuristic=+362.465, limit=550, max(|deltaT|)=0.966 degC, elapsed=720s, expiry=3600s
+2020-05-09 16:10:19.543 UTC: I(TimingThread): timing uncertainty check: heuristic=+423.502, limit=550, max(|deltaT|)=1.040 degC, elapsed=780s, expiry=2700s
+2020-05-09 16:11:20.609 UTC: I(TimingThread): timing uncertainty check: heuristic=+489.180, limit=550, max(|deltaT|)=1.117 degC, elapsed=840s, expiry=2700s
+2020-05-09 16:12:20.988 UTC: I(TimingThread): timing uncertainty check: heuristic=+558.230, limit=550, max(|deltaT|)=1.191 degC, elapsed=900s, expiry=2700s
+2020-05-09 16:12:20.996 UTC: I(TimingThread|freeRun): exit
+2020-05-09 16:12:21.008 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 16:12:25.945 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 16:12:26.945 UTC: I(TimingThread|ClockValidator): GNSS time valid after 1002ms
+2020-05-09 16:12:27.008 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.055s
+2020-05-09 16:12:27.015 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -76 counts (-4.0 us), drift ~ -15.5 us/hour (measured over 919 s)
+2020-05-09 16:12:27.027 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.083 Hz
+2020-05-09 16:13:20.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +2.316 Hz, converge time = 54 s
+2020-05-09 16:13:21.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 16:13:21.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 16:14:21.824 UTC: I(TimingThread): timing uncertainty check: heuristic=+2.552, limit=550, max(|deltaT|)=0.083 degC, elapsed=60s, expiry=6300s
+2020-05-09 16:15:22.699 UTC: I(TimingThread): timing uncertainty check: heuristic=+9.825, limit=550, max(|deltaT|)=0.158 degC, elapsed=120s, expiry=5400s
+2020-05-09 16:16:23.629 UTC: I(TimingThread): timing uncertainty check: heuristic=+21.676, limit=550, max(|deltaT|)=0.241 degC, elapsed=180s, expiry=5400s
+2020-05-09 16:17:24.687 UTC: I(TimingThread): timing uncertainty check: heuristic=+38.158, limit=550, max(|deltaT|)=0.315 degC, elapsed=240s, expiry=4500s
+2020-05-09 16:18:25.547 UTC: I(TimingThread): timing uncertainty check: heuristic=+59.218, limit=550, max(|deltaT|)=0.384 degC, elapsed=300s, expiry=4500s
+2020-05-09 16:19:26.601 UTC: I(TimingThread): timing uncertainty check: heuristic=+84.745, limit=550, max(|deltaT|)=0.457 degC, elapsed=360s, expiry=4500s
+2020-05-09 16:20:27.675 UTC: I(TimingThread): timing uncertainty check: heuristic=+114.684, limit=550, max(|deltaT|)=0.531 degC, elapsed=420s, expiry=3600s
+2020-05-09 16:21:27.968 UTC: I(TimingThread): timing uncertainty check: heuristic=+148.402, limit=550, max(|deltaT|)=0.598 degC, elapsed=480s, expiry=3600s
+2020-05-09 16:22:28.847 UTC: I(TimingThread): timing uncertainty check: heuristic=+187.069, limit=550, max(|deltaT|)=0.677 degC, elapsed=540s, expiry=3600s
+2020-05-09 16:23:29.718 UTC: I(TimingThread): timing uncertainty check: heuristic=+230.143, limit=550, max(|deltaT|)=0.744 degC, elapsed=600s, expiry=3600s
+2020-05-09 16:24:30.699 UTC: I(TimingThread): timing uncertainty check: heuristic=+277.493, limit=550, max(|deltaT|)=0.812 degC, elapsed=660s, expiry=3600s
+2020-05-09 16:25:31.570 UTC: I(TimingThread): timing uncertainty check: heuristic=+329.169, limit=550, max(|deltaT|)=0.887 degC, elapsed=720s, expiry=3600s
+2020-05-09 16:26:32.652 UTC: I(TimingThread): timing uncertainty check: heuristic=+385.121, limit=550, max(|deltaT|)=0.950 degC, elapsed=780s, expiry=3600s
+2020-05-09 16:27:33.730 UTC: I(TimingThread): timing uncertainty check: heuristic=+445.212, limit=550, max(|deltaT|)=1.021 degC, elapsed=840s, expiry=2700s
+2020-05-09 16:28:34.609 UTC: I(TimingThread): timing uncertainty check: heuristic=+509.469, limit=550, max(|deltaT|)=1.090 degC, elapsed=900s, expiry=2700s
+2020-05-09 16:29:35.023 UTC: I(TimingThread): timing uncertainty check: heuristic=+576.674, limit=550, max(|deltaT|)=1.158 degC, elapsed=960s, expiry=2700s
+2020-05-09 16:29:35.031 UTC: I(TimingThread|freeRun): exit
+2020-05-09 16:29:35.043 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 16:29:36.941 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 16:29:39.941 UTC: I(TimingThread|ClockValidator): GNSS time valid after 3006ms
+2020-05-09 16:29:40.008 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.059s
+2020-05-09 16:29:40.015 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -76 counts (-4.0 us), drift ~ -14.6 us/hour (measured over 979 s)
+2020-05-09 16:29:40.027 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.078 Hz
+2020-05-09 16:30:33.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +2.493 Hz, converge time = 54 s
+2020-05-09 16:30:34.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 16:30:34.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 16:31:33.937 UTC: I(TimingThread): timing uncertainty check: heuristic=+2.048, limit=550, max(|deltaT|)=0.071 degC, elapsed=60s, expiry=6300s
+2020-05-09 16:32:34.824 UTC: I(TimingThread): timing uncertainty check: heuristic=+8.323, limit=550, max(|deltaT|)=0.140 degC, elapsed=120s, expiry=5400s
+2020-05-09 16:33:35.707 UTC: I(TimingThread): timing uncertainty check: heuristic=+18.515, limit=550, max(|deltaT|)=0.211 degC, elapsed=180s, expiry=5400s
+2020-05-09 16:34:36.586 UTC: I(TimingThread): timing uncertainty check: heuristic=+32.589, limit=550, max(|deltaT|)=0.265 degC, elapsed=240s, expiry=4500s
+2020-05-09 16:35:37.621 UTC: I(TimingThread): timing uncertainty check: heuristic=+50.479, limit=550, max(|deltaT|)=0.326 degC, elapsed=300s, expiry=4500s
+2020-05-09 16:36:38.707 UTC: I(TimingThread): timing uncertainty check: heuristic=+72.110, limit=550, max(|deltaT|)=0.388 degC, elapsed=360s, expiry=4500s
+2020-05-09 16:37:39.609 UTC: I(TimingThread): timing uncertainty check: heuristic=+97.394, limit=550, max(|deltaT|)=0.447 degC, elapsed=420s, expiry=4500s
+2020-05-09 16:38:40.683 UTC: I(TimingThread): timing uncertainty check: heuristic=+126.278, limit=550, max(|deltaT|)=0.505 degC, elapsed=480s, expiry=3600s
+2020-05-09 16:39:41.570 UTC: I(TimingThread): timing uncertainty check: heuristic=+158.841, limit=550, max(|deltaT|)=0.565 degC, elapsed=540s, expiry=3600s
+2020-05-09 16:40:41.910 UTC: I(TimingThread): timing uncertainty check: heuristic=+194.307, limit=550, max(|deltaT|)=0.625 degC, elapsed=600s, expiry=3600s
+2020-05-09 16:41:42.804 UTC: I(TimingThread): timing uncertainty check: heuristic=+233.803, limit=550, max(|deltaT|)=0.680 degC, elapsed=660s, expiry=3600s
+2020-05-09 16:42:43.691 UTC: I(TimingThread): timing uncertainty check: heuristic=+276.815, limit=550, max(|deltaT|)=0.738 degC, elapsed=720s, expiry=3600s
+2020-05-09 16:43:44.668 UTC: I(TimingThread): timing uncertainty check: heuristic=+323.258, limit=550, max(|deltaT|)=0.794 degC, elapsed=780s, expiry=3600s
+2020-05-09 16:44:45.554 UTC: I(TimingThread): timing uncertainty check: heuristic=+373.243, limit=550, max(|deltaT|)=0.850 degC, elapsed=840s, expiry=3600s
+2020-05-09 16:45:46.640 UTC: I(TimingThread): timing uncertainty check: heuristic=+426.695, limit=550, max(|deltaT|)=0.902 degC, elapsed=900s, expiry=3600s
+2020-05-09 16:46:47.718 UTC: I(TimingThread): timing uncertainty check: heuristic=+483.552, limit=550, max(|deltaT|)=0.966 degC, elapsed=960s, expiry=3600s
+2020-05-09 16:47:48.621 UTC: I(TimingThread): timing uncertainty check: heuristic=+543.761, limit=550, max(|deltaT|)=1.019 degC, elapsed=1020s, expiry=2700s
+2020-05-09 16:48:49.035 UTC: I(TimingThread): timing uncertainty check: heuristic=+606.290, limit=550, max(|deltaT|)=1.074 degC, elapsed=1080s, expiry=2700s
+2020-05-09 16:48:49.043 UTC: I(TimingThread|freeRun): exit
+2020-05-09 16:48:49.054 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 16:48:51.933 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 16:48:54.933 UTC: I(TimingThread|ClockValidator): GNSS time valid after 3007ms
+2020-05-09 16:48:55.009 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.068s
+2020-05-09 16:48:55.020 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -139 counts (-7.2 us), drift ~ -23.7 us/hour (measured over 1101 s)
+2020-05-09 16:48:55.032 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.126 Hz
+2020-05-09 16:49:51.997 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +2.770 Hz, converge time = 57 s
+2020-05-09 16:49:52.005 UTC: I(TimingThread|discipline): exit
+2020-05-09 16:49:52.012 UTC: I(TimingThread|freeRun): enter
+2020-05-09 16:50:52.583 UTC: I(TimingThread): timing uncertainty check: heuristic=+1.871, limit=550, max(|deltaT|)=0.060 degC, elapsed=60s, expiry=7200s
+2020-05-09 16:51:53.661 UTC: I(TimingThread): timing uncertainty check: heuristic=+7.195, limit=550, max(|deltaT|)=0.120 degC, elapsed=120s, expiry=6300s
+2020-05-09 16:52:54.579 UTC: I(TimingThread): timing uncertainty check: heuristic=+16.012, limit=550, max(|deltaT|)=0.175 degC, elapsed=180s, expiry=5400s
+2020-05-09 16:53:55.684 UTC: I(TimingThread): timing uncertainty check: heuristic=+28.290, limit=550, max(|deltaT|)=0.230 degC, elapsed=240s, expiry=5400s
+2020-05-09 16:54:56.602 UTC: I(TimingThread): timing uncertainty check: heuristic=+43.983, limit=550, max(|deltaT|)=0.287 degC, elapsed=300s, expiry=4500s
+2020-05-09 16:55:57.716 UTC: I(TimingThread): timing uncertainty check: heuristic=+63.026, limit=550, max(|deltaT|)=0.341 degC, elapsed=360s, expiry=4500s
+2020-05-09 16:56:58.634 UTC: I(TimingThread): timing uncertainty check: heuristic=+85.398, limit=550, max(|deltaT|)=0.395 degC, elapsed=420s, expiry=4500s
+2020-05-09 16:57:59.540 UTC: I(TimingThread): timing uncertainty check: heuristic=+111.131, limit=550, max(|deltaT|)=0.449 degC, elapsed=480s, expiry=4500s
+2020-05-09 16:58:59.837 UTC: I(TimingThread): timing uncertainty check: heuristic=+139.663, limit=550, max(|deltaT|)=0.508 degC, elapsed=540s, expiry=3600s
+2020-05-09 17:00:00.747 UTC: I(TimingThread): timing uncertainty check: heuristic=+171.986, limit=550, max(|deltaT|)=0.560 degC, elapsed=600s, expiry=3600s
+2020-05-09 17:01:01.669 UTC: I(TimingThread): timing uncertainty check: heuristic=+207.657, limit=550, max(|deltaT|)=0.617 degC, elapsed=660s, expiry=3600s
+2020-05-09 17:02:02.575 UTC: I(TimingThread): timing uncertainty check: heuristic=+246.526, limit=550, max(|deltaT|)=0.669 degC, elapsed=720s, expiry=3600s
+2020-05-09 17:03:03.676 UTC: I(TimingThread): timing uncertainty check: heuristic=+288.609, limit=550, max(|deltaT|)=0.724 degC, elapsed=780s, expiry=3600s
+2020-05-09 17:04:04.610 UTC: I(TimingThread): timing uncertainty check: heuristic=+333.911, limit=550, max(|deltaT|)=0.771 degC, elapsed=840s, expiry=3600s
+2020-05-09 17:05:05.731 UTC: I(TimingThread): timing uncertainty check: heuristic=+382.420, limit=550, max(|deltaT|)=0.820 degC, elapsed=900s, expiry=3600s
+2020-05-09 17:06:06.645 UTC: I(TimingThread): timing uncertainty check: heuristic=+434.110, limit=550, max(|deltaT|)=0.878 degC, elapsed=960s, expiry=3600s
+2020-05-09 17:07:07.551 UTC: I(TimingThread): timing uncertainty check: heuristic=+488.958, limit=550, max(|deltaT|)=0.927 degC, elapsed=1020s, expiry=3600s
+2020-05-09 17:08:08.009 UTC: I(TimingThread): timing uncertainty check: heuristic=+545.876, limit=550, max(|deltaT|)=0.974 degC, elapsed=1080s, expiry=3600s
+2020-05-09 17:09:08.919 UTC: I(TimingThread): timing uncertainty check: heuristic=+606.692, limit=550, max(|deltaT|)=1.030 degC, elapsed=1140s, expiry=2700s
+2020-05-09 17:09:08.926 UTC: I(TimingThread|freeRun): exit
+2020-05-09 17:09:08.938 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 17:09:10.926 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 17:09:21.926 UTC: I(TimingThread|ClockValidator): GNSS time valid after 11018ms
+2020-05-09 17:09:22.009 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.071s
+2020-05-09 17:09:22.016 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -129 counts (-6.7 us), drift ~ -20.7 us/hour (measured over 1170 s)
+2020-05-09 17:09:22.028 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.110 Hz
+2020-05-09 17:10:18.997 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.030 Hz, converge time = 57 s
+2020-05-09 17:10:19.005 UTC: I(TimingThread|discipline): exit
+2020-05-09 17:10:19.016 UTC: I(TimingThread|freeRun): enter
+2020-05-09 17:11:19.864 UTC: I(TimingThread): timing uncertainty check: heuristic=+2.016, limit=550, max(|deltaT|)=0.062 degC, elapsed=60s, expiry=7200s
+2020-05-09 17:12:20.782 UTC: I(TimingThread): timing uncertainty check: heuristic=+7.132, limit=550, max(|deltaT|)=0.108 degC, elapsed=120s, expiry=6300s
+2020-05-09 17:13:21.688 UTC: I(TimingThread): timing uncertainty check: heuristic=+15.124, limit=550, max(|deltaT|)=0.161 degC, elapsed=180s, expiry=5400s
+2020-05-09 17:14:22.680 UTC: I(TimingThread): timing uncertainty check: heuristic=+25.911, limit=550, max(|deltaT|)=0.201 degC, elapsed=240s, expiry=5400s
+2020-05-09 17:15:23.602 UTC: I(TimingThread): timing uncertainty check: heuristic=+39.423, limit=550, max(|deltaT|)=0.250 degC, elapsed=300s, expiry=4500s
+2020-05-09 17:16:24.704 UTC: I(TimingThread): timing uncertainty check: heuristic=+55.609, limit=550, max(|deltaT|)=0.292 degC, elapsed=360s, expiry=4500s
+2020-05-09 17:17:25.606 UTC: I(TimingThread): timing uncertainty check: heuristic=+74.350, limit=550, max(|deltaT|)=0.332 degC, elapsed=420s, expiry=4500s
+2020-05-09 17:18:26.719 UTC: I(TimingThread): timing uncertainty check: heuristic=+95.588, limit=550, max(|deltaT|)=0.373 degC, elapsed=480s, expiry=4500s
+2020-05-09 17:19:27.626 UTC: I(TimingThread): timing uncertainty check: heuristic=+119.264, limit=550, max(|deltaT|)=0.412 degC, elapsed=540s, expiry=4500s
+2020-05-09 17:20:28.005 UTC: I(TimingThread): timing uncertainty check: heuristic=+144.969, limit=550, max(|deltaT|)=0.451 degC, elapsed=600s, expiry=4500s
+2020-05-09 17:21:28.907 UTC: I(TimingThread): timing uncertainty check: heuristic=+173.460, limit=550, max(|deltaT|)=0.497 degC, elapsed=660s, expiry=4500s
+2020-05-09 17:22:29.805 UTC: I(TimingThread): timing uncertainty check: heuristic=+204.366, limit=550, max(|deltaT|)=0.532 degC, elapsed=720s, expiry=3600s
+2020-05-09 17:23:30.700 UTC: I(TimingThread): timing uncertainty check: heuristic=+237.613, limit=550, max(|deltaT|)=0.565 degC, elapsed=780s, expiry=3600s
+2020-05-09 17:24:31.688 UTC: I(TimingThread): timing uncertainty check: heuristic=+273.260, limit=550, max(|deltaT|)=0.605 degC, elapsed=840s, expiry=3600s
+2020-05-09 17:25:32.606 UTC: I(TimingThread): timing uncertainty check: heuristic=+311.111, limit=550, max(|deltaT|)=0.640 degC, elapsed=900s, expiry=3600s
+2020-05-09 17:26:33.708 UTC: I(TimingThread): timing uncertainty check: heuristic=+351.300, limit=550, max(|deltaT|)=0.679 degC, elapsed=960s, expiry=3600s
+2020-05-09 17:27:34.618 UTC: I(TimingThread): timing uncertainty check: heuristic=+393.723, limit=550, max(|deltaT|)=0.721 degC, elapsed=1020s, expiry=3600s
+2020-05-09 17:28:35.727 UTC: I(TimingThread): timing uncertainty check: heuristic=+438.333, limit=550, max(|deltaT|)=0.751 degC, elapsed=1080s, expiry=3600s
+2020-05-09 17:29:36.637 UTC: I(TimingThread): timing uncertainty check: heuristic=+485.007, limit=550, max(|deltaT|)=0.783 degC, elapsed=1140s, expiry=3600s
+2020-05-09 17:30:37.551 UTC: I(TimingThread): timing uncertainty check: heuristic=+533.804, limit=550, max(|deltaT|)=0.821 degC, elapsed=1200s, expiry=3600s
+2020-05-09 17:31:37.919 UTC: I(TimingThread): timing uncertainty check: heuristic=+583.617, limit=550, max(|deltaT|)=0.851 degC, elapsed=1260s, expiry=3600s
+2020-05-09 17:31:37.926 UTC: I(TimingThread|freeRun): exit
+2020-05-09 17:31:37.938 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 17:31:42.919 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 17:31:43.919 UTC: I(TimingThread|ClockValidator): GNSS time valid after 1002ms
+2020-05-09 17:31:43.926 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=29, residual=-19353 counts (-1007.97 us)
+2020-05-09 17:31:44.919 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=28, residual=-19353 counts (-1007.97 us)
+2020-05-09 17:31:45.919 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=27, residual=-19353 counts (-1007.97 us)
+2020-05-09 17:31:46.919 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=26, residual=-19353 counts (-1007.97 us)
+2020-05-09 17:31:47.919 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=25, residual=-19354 counts (-1008.02 us)
+2020-05-09 17:31:48.919 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=24, residual=-19354 counts (-1008.02 us)
+2020-05-09 17:31:49.919 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=23, residual=-19354 counts (-1008.02 us)
+2020-05-09 17:31:50.919 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 17:31:51.919 UTC: I(TimingThread|ClockValidator): GNSS time valid after 1002ms
+2020-05-09 17:31:51.926 UTC: W(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off abort
+2020-05-09 17:31:52.018 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.080s
+2020-05-09 17:31:52.025 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -155 counts (-8.1 us), drift ~ -22.5 us/hour (measured over 1293 s)
+2020-05-09 17:31:52.033 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.120 Hz
+2020-05-09 17:32:49.994 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.300 Hz, converge time = 58 s
+2020-05-09 17:32:50.002 UTC: I(TimingThread|discipline): exit
+2020-05-09 17:32:50.010 UTC: I(TimingThread|freeRun): enter
+2020-05-09 17:33:50.838 UTC: I(TimingThread): timing uncertainty check: heuristic=+1.651, limit=550, max(|deltaT|)=0.048 degC, elapsed=60s, expiry=7200s
+2020-05-09 17:34:51.736 UTC: I(TimingThread): timing uncertainty check: heuristic=+5.373, limit=550, max(|deltaT|)=0.081 degC, elapsed=120s, expiry=6300s
+2020-05-09 17:35:52.627 UTC: I(TimingThread): timing uncertainty check: heuristic=+10.900, limit=550, max(|deltaT|)=0.114 degC, elapsed=180s, expiry=6300s
+2020-05-09 17:36:53.674 UTC: I(TimingThread): timing uncertainty check: heuristic=+18.202, limit=550, max(|deltaT|)=0.140 degC, elapsed=240s, expiry=5400s
+2020-05-09 17:37:54.592 UTC: I(TimingThread): timing uncertainty check: heuristic=+27.168, limit=550, max(|deltaT|)=0.169 degC, elapsed=300s, expiry=5400s
+2020-05-09 17:38:55.713 UTC: I(TimingThread): timing uncertainty check: heuristic=+37.775, limit=550, max(|deltaT|)=0.190 degC, elapsed=360s, expiry=5400s
+2020-05-09 17:39:56.615 UTC: I(TimingThread): timing uncertainty check: heuristic=+49.919, limit=550, max(|deltaT|)=0.214 degC, elapsed=420s, expiry=5400s
+2020-05-09 17:40:57.725 UTC: I(TimingThread): timing uncertainty check: heuristic=+63.600, limit=550, max(|deltaT|)=0.245 degC, elapsed=480s, expiry=5400s
+2020-05-09 17:41:58.643 UTC: I(TimingThread): timing uncertainty check: heuristic=+78.651, limit=550, max(|deltaT|)=0.261 degC, elapsed=540s, expiry=4500s
+2020-05-09 17:42:59.545 UTC: I(TimingThread): timing uncertainty check: heuristic=+95.237, limit=550, max(|deltaT|)=0.286 degC, elapsed=600s, expiry=4500s
+2020-05-09 17:43:59.818 UTC: I(TimingThread): timing uncertainty check: heuristic=+112.854, limit=550, max(|deltaT|)=0.308 degC, elapsed=660s, expiry=4500s
+2020-05-09 17:45:00.709 UTC: I(TimingThread): timing uncertainty check: heuristic=+132.169, limit=550, max(|deltaT|)=0.328 degC, elapsed=720s, expiry=4500s
+2020-05-09 17:46:01.607 UTC: I(TimingThread): timing uncertainty check: heuristic=+152.933, limit=550, max(|deltaT|)=0.357 degC, elapsed=780s, expiry=4500s
+2020-05-09 17:47:02.701 UTC: I(TimingThread): timing uncertainty check: heuristic=+175.059, limit=550, max(|deltaT|)=0.381 degC, elapsed=840s, expiry=4500s
+2020-05-09 17:48:03.603 UTC: I(TimingThread): timing uncertainty check: heuristic=+198.575, limit=550, max(|deltaT|)=0.402 degC, elapsed=900s, expiry=4500s
+2020-05-09 17:49:04.701 UTC: I(TimingThread): timing uncertainty check: heuristic=+223.432, limit=550, max(|deltaT|)=0.420 degC, elapsed=960s, expiry=4500s
+2020-05-09 17:50:05.603 UTC: I(TimingThread): timing uncertainty check: heuristic=+249.700, limit=550, max(|deltaT|)=0.448 degC, elapsed=1020s, expiry=4500s
+2020-05-09 17:51:06.725 UTC: I(TimingThread): timing uncertainty check: heuristic=+277.374, limit=550, max(|deltaT|)=0.469 degC, elapsed=1080s, expiry=4500s
+2020-05-09 17:52:07.627 UTC: I(TimingThread): timing uncertainty check: heuristic=+306.504, limit=550, max(|deltaT|)=0.492 degC, elapsed=1140s, expiry=4500s
+2020-05-09 17:53:07.893 UTC: I(TimingThread): timing uncertainty check: heuristic=+336.497, limit=550, max(|deltaT|)=0.515 degC, elapsed=1200s, expiry=3600s
+2020-05-09 17:54:08.787 UTC: I(TimingThread): timing uncertainty check: heuristic=+368.437, limit=550, max(|deltaT|)=0.538 degC, elapsed=1260s, expiry=3600s
+2020-05-09 17:55:09.701 UTC: I(TimingThread): timing uncertainty check: heuristic=+401.849, limit=550, max(|deltaT|)=0.568 degC, elapsed=1320s, expiry=3600s
+2020-05-09 17:56:10.584 UTC: I(TimingThread): timing uncertainty check: heuristic=+436.696, limit=550, max(|deltaT|)=0.588 degC, elapsed=1380s, expiry=3600s
+2020-05-09 17:57:11.666 UTC: I(TimingThread): timing uncertainty check: heuristic=+472.953, limit=550, max(|deltaT|)=0.612 degC, elapsed=1440s, expiry=3600s
+2020-05-09 17:58:12.564 UTC: I(TimingThread): timing uncertainty check: heuristic=+510.674, limit=550, max(|deltaT|)=0.634 degC, elapsed=1500s, expiry=3600s
+2020-05-09 17:59:13.678 UTC: I(TimingThread): timing uncertainty check: heuristic=+549.751, limit=550, max(|deltaT|)=0.654 degC, elapsed=1560s, expiry=3600s
+2020-05-09 18:00:14.600 UTC: I(TimingThread): timing uncertainty check: heuristic=+590.366, limit=550, max(|deltaT|)=0.681 degC, elapsed=1620s, expiry=3600s
+2020-05-09 18:00:14.607 UTC: I(TimingThread|freeRun): exit
+2020-05-09 18:00:14.615 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 18:00:19.896 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 18:00:21.896 UTC: I(TimingThread|ClockValidator): GNSS time valid after 2003ms
+2020-05-09 18:00:21.904 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=29, residual=-19374 counts (-1009.06 us)
+2020-05-09 18:00:22.896 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=28, residual=-19374 counts (-1009.06 us)
+2020-05-09 18:00:23.896 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=27, residual=-19374 counts (-1009.06 us)
+2020-05-09 18:00:24.896 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=26, residual=-19374 counts (-1009.06 us)
+2020-05-09 18:00:25.896 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=25, residual=-19375 counts (-1009.11 us)
+2020-05-09 18:00:26.896 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 18:00:27.896 UTC: I(TimingThread|ClockValidator): GNSS time valid after 1001ms
+2020-05-09 18:00:27.904 UTC: W(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off abort
+2020-05-09 18:00:28.019 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.103s
+2020-05-09 18:00:28.026 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -175 counts (-9.1 us), drift ~ -19.8 us/hour (measured over 1658 s)
+2020-05-09 18:00:28.034 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.106 Hz
+2020-05-09 18:01:25.995 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.555 Hz, converge time = 58 s
+2020-05-09 18:01:26.003 UTC: I(TimingThread|discipline): exit
+2020-05-09 18:01:26.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 18:02:26.694 UTC: I(TimingThread): timing uncertainty check: heuristic=+0.874, limit=550, max(|deltaT|)=0.031 degC, elapsed=60s, expiry=7200s
+2020-05-09 18:03:27.608 UTC: I(TimingThread): timing uncertainty check: heuristic=+3.427, limit=550, max(|deltaT|)=0.057 degC, elapsed=120s, expiry=7200s
+2020-05-09 18:04:28.534 UTC: I(TimingThread): timing uncertainty check: heuristic=+7.516, limit=550, max(|deltaT|)=0.084 degC, elapsed=180s, expiry=6300s
+2020-05-09 18:05:29.644 UTC: I(TimingThread): timing uncertainty check: heuristic=+13.090, limit=550, max(|deltaT|)=0.108 degC, elapsed=240s, expiry=6300s
+2020-05-09 18:06:30.565 UTC: I(TimingThread): timing uncertainty check: heuristic=+20.048, limit=550, max(|deltaT|)=0.129 degC, elapsed=300s, expiry=5400s
+2020-05-09 18:07:31.046 UTC: I(TimingThread): timing uncertainty check: heuristic=+28.280, limit=550, max(|deltaT|)=0.153 degC, elapsed=360s, expiry=5400s
+2020-05-09 18:08:31.944 UTC: I(TimingThread): timing uncertainty check: heuristic=+37.985, limit=550, max(|deltaT|)=0.174 degC, elapsed=420s, expiry=5400s
+2020-05-09 18:09:32.854 UTC: I(TimingThread): timing uncertainty check: heuristic=+49.000, limit=550, max(|deltaT|)=0.196 degC, elapsed=480s, expiry=5400s
+2020-05-09 18:10:33.761 UTC: I(TimingThread): timing uncertainty check: heuristic=+61.367, limit=550, max(|deltaT|)=0.215 degC, elapsed=540s, expiry=5400s
+2020-05-09 18:11:34.733 UTC: I(TimingThread): timing uncertainty check: heuristic=+75.009, limit=550, max(|deltaT|)=0.239 degC, elapsed=600s, expiry=5400s
+2020-05-09 18:12:35.640 UTC: I(TimingThread): timing uncertainty check: heuristic=+89.935, limit=550, max(|deltaT|)=0.261 degC, elapsed=660s, expiry=4500s
+2020-05-09 18:13:36.554 UTC: I(TimingThread): timing uncertainty check: heuristic=+106.130, limit=550, max(|deltaT|)=0.280 degC, elapsed=720s, expiry=4500s
+2020-05-09 18:14:37.683 UTC: I(TimingThread): timing uncertainty check: heuristic=+123.432, limit=550, max(|deltaT|)=0.298 degC, elapsed=780s, expiry=4500s
+2020-05-09 18:15:38.597 UTC: I(TimingThread): timing uncertainty check: heuristic=+141.830, limit=550, max(|deltaT|)=0.315 degC, elapsed=840s, expiry=4500s
+2020-05-09 18:16:39.694 UTC: I(TimingThread): timing uncertainty check: heuristic=+161.394, limit=550, max(|deltaT|)=0.337 degC, elapsed=900s, expiry=4500s
+2020-05-09 18:17:40.624 UTC: I(TimingThread): timing uncertainty check: heuristic=+181.881, limit=550, max(|deltaT|)=0.349 degC, elapsed=960s, expiry=4500s
+2020-05-09 18:18:41.038 UTC: I(TimingThread): timing uncertainty check: heuristic=+202.987, limit=550, max(|deltaT|)=0.366 degC, elapsed=1020s, expiry=4500s
+2020-05-09 18:19:41.936 UTC: I(TimingThread): timing uncertainty check: heuristic=+225.267, limit=550, max(|deltaT|)=0.378 degC, elapsed=1080s, expiry=4500s
+2020-05-09 18:20:42.847 UTC: I(TimingThread): timing uncertainty check: heuristic=+248.396, limit=550, max(|deltaT|)=0.396 degC, elapsed=1140s, expiry=4500s
+2020-05-09 18:21:43.753 UTC: I(TimingThread): timing uncertainty check: heuristic=+272.256, limit=550, max(|deltaT|)=0.402 degC, elapsed=1200s, expiry=4500s
+2020-05-09 18:22:44.659 UTC: I(TimingThread): timing uncertainty check: heuristic=+296.763, limit=550, max(|deltaT|)=0.412 degC, elapsed=1260s, expiry=4500s
+2020-05-09 18:23:45.686 UTC: I(TimingThread): timing uncertainty check: heuristic=+321.900, limit=550, max(|deltaT|)=0.427 degC, elapsed=1320s, expiry=4500s
+2020-05-09 18:24:46.589 UTC: I(TimingThread): timing uncertainty check: heuristic=+347.660, limit=550, max(|deltaT|)=0.435 degC, elapsed=1380s, expiry=4500s
+2020-05-09 18:25:47.718 UTC: I(TimingThread): timing uncertainty check: heuristic=+373.930, limit=550, max(|deltaT|)=0.446 degC, elapsed=1440s, expiry=4500s
+2020-05-09 18:26:48.636 UTC: I(TimingThread): timing uncertainty check: heuristic=+400.802, limit=550, max(|deltaT|)=0.452 degC, elapsed=1500s, expiry=4500s
+2020-05-09 18:27:49.550 UTC: I(TimingThread): timing uncertainty check: heuristic=+428.220, limit=550, max(|deltaT|)=0.463 degC, elapsed=1560s, expiry=4500s
+2020-05-09 18:28:50.667 UTC: I(TimingThread): timing uncertainty check: heuristic=+456.244, limit=550, max(|deltaT|)=0.473 degC, elapsed=1620s, expiry=4500s
+2020-05-09 18:29:51.581 UTC: I(TimingThread): timing uncertainty check: heuristic=+484.718, limit=550, max(|deltaT|)=0.479 degC, elapsed=1680s, expiry=4500s
+2020-05-09 18:30:51.921 UTC: I(TimingThread): timing uncertainty check: heuristic=+513.199, limit=550, max(|deltaT|)=0.483 degC, elapsed=1740s, expiry=4500s
+2020-05-09 18:31:52.827 UTC: I(TimingThread): timing uncertainty check: heuristic=+542.676, limit=550, max(|deltaT|)=0.494 degC, elapsed=1800s, expiry=4500s
+2020-05-09 18:32:53.733 UTC: I(TimingThread): timing uncertainty check: heuristic=+572.656, limit=550, max(|deltaT|)=0.502 degC, elapsed=1860s, expiry=3600s
+2020-05-09 18:32:53.741 UTC: I(TimingThread|freeRun): exit
+2020-05-09 18:32:53.753 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 18:32:56.897 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 18:33:09.882 UTC: I(TimingThread|ClockValidator): GNSS time valid after 13008ms
+2020-05-09 18:33:10.008 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.118s
+2020-05-09 18:33:10.015 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -135 counts (-7.0 us), drift ~ -13.3 us/hour (measured over 1904 s)
+2020-05-09 18:33:10.023 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.071 Hz
+2020-05-09 18:34:06.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.776 Hz, converge time = 57 s
+2020-05-09 18:34:07.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 18:34:07.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 18:35:07.672 UTC: I(TimingThread): timing uncertainty check: heuristic=+0.290, limit=550, max(|deltaT|)=0.016 degC, elapsed=60s, expiry=7200s
+2020-05-09 18:36:08.578 UTC: I(TimingThread): timing uncertainty check: heuristic=+1.316, limit=550, max(|deltaT|)=0.028 degC, elapsed=120s, expiry=7200s
+2020-05-09 18:37:09.675 UTC: I(TimingThread): timing uncertainty check: heuristic=+3.053, limit=550, max(|deltaT|)=0.040 degC, elapsed=180s, expiry=7200s
+2020-05-09 18:38:10.582 UTC: I(TimingThread): timing uncertainty check: heuristic=+5.532, limit=550, max(|deltaT|)=0.048 degC, elapsed=240s, expiry=7200s
+2020-05-09 18:39:11.695 UTC: I(TimingThread): timing uncertainty check: heuristic=+8.572, limit=550, max(|deltaT|)=0.062 degC, elapsed=300s, expiry=7200s
+2020-05-09 18:40:12.601 UTC: I(TimingThread): timing uncertainty check: heuristic=+12.246, limit=550, max(|deltaT|)=0.075 degC, elapsed=360s, expiry=6300s
+2020-05-09 18:41:13.715 UTC: I(TimingThread): timing uncertainty check: heuristic=+16.497, limit=550, max(|deltaT|)=0.081 degC, elapsed=420s, expiry=6300s
+2020-05-09 18:42:13.984 UTC: I(TimingThread): timing uncertainty check: heuristic=+21.345, limit=550, max(|deltaT|)=0.093 degC, elapsed=480s, expiry=6300s
+2020-05-09 18:43:14.894 UTC: I(TimingThread): timing uncertainty check: heuristic=+26.846, limit=550, max(|deltaT|)=0.102 degC, elapsed=540s, expiry=6300s
+2020-05-09 18:44:15.797 UTC: I(TimingThread): timing uncertainty check: heuristic=+32.979, limit=550, max(|deltaT|)=0.111 degC, elapsed=600s, expiry=6300s
+2020-05-09 18:45:16.699 UTC: I(TimingThread): timing uncertainty check: heuristic=+39.701, limit=550, max(|deltaT|)=0.119 degC, elapsed=660s, expiry=6300s
+2020-05-09 18:46:17.679 UTC: I(TimingThread): timing uncertainty check: heuristic=+46.958, limit=550, max(|deltaT|)=0.129 degC, elapsed=720s, expiry=5400s
+2020-05-09 18:47:18.597 UTC: I(TimingThread): timing uncertainty check: heuristic=+54.777, limit=550, max(|deltaT|)=0.138 degC, elapsed=780s, expiry=5400s
+2020-05-09 18:48:19.718 UTC: I(TimingThread): timing uncertainty check: heuristic=+63.203, limit=550, max(|deltaT|)=0.150 degC, elapsed=840s, expiry=5400s
+2020-05-09 18:49:20.613 UTC: I(TimingThread): timing uncertainty check: heuristic=+72.215, limit=550, max(|deltaT|)=0.156 degC, elapsed=900s, expiry=5400s
+2020-05-09 18:50:21.711 UTC: I(TimingThread): timing uncertainty check: heuristic=+81.747, limit=550, max(|deltaT|)=0.165 degC, elapsed=960s, expiry=5400s
+2020-05-09 18:51:22.597 UTC: I(TimingThread): timing uncertainty check: heuristic=+91.813, limit=550, max(|deltaT|)=0.176 degC, elapsed=1020s, expiry=5400s
+2020-05-09 18:52:22.992 UTC: I(TimingThread): timing uncertainty check: heuristic=+102.238, limit=550, max(|deltaT|)=0.186 degC, elapsed=1080s, expiry=5400s
+2020-05-09 18:53:23.890 UTC: I(TimingThread): timing uncertainty check: heuristic=+113.303, limit=550, max(|deltaT|)=0.190 degC, elapsed=1140s, expiry=5400s
+2020-05-09 18:54:24.781 UTC: I(TimingThread): timing uncertainty check: heuristic=+124.803, limit=550, max(|deltaT|)=0.203 degC, elapsed=1200s, expiry=5400s
+2020-05-09 18:55:25.675 UTC: I(TimingThread): timing uncertainty check: heuristic=+136.860, limit=550, max(|deltaT|)=0.211 degC, elapsed=1260s, expiry=5400s
+2020-05-09 18:56:26.652 UTC: I(TimingThread): timing uncertainty check: heuristic=+149.413, limit=550, max(|deltaT|)=0.217 degC, elapsed=1320s, expiry=5400s
+2020-05-09 18:57:27.550 UTC: I(TimingThread): timing uncertainty check: heuristic=+162.397, limit=550, max(|deltaT|)=0.224 degC, elapsed=1380s, expiry=5400s
+2020-05-09 18:58:28.644 UTC: I(TimingThread): timing uncertainty check: heuristic=+175.839, limit=550, max(|deltaT|)=0.230 degC, elapsed=1440s, expiry=5400s
+2020-05-09 18:59:29.550 UTC: I(TimingThread): timing uncertainty check: heuristic=+189.769, limit=550, max(|deltaT|)=0.238 degC, elapsed=1500s, expiry=5400s
+2020-05-09 19:00:30.652 UTC: I(TimingThread): timing uncertainty check: heuristic=+204.134, limit=550, max(|deltaT|)=0.247 degC, elapsed=1560s, expiry=5400s
+2020-05-09 19:01:31.543 UTC: I(TimingThread): timing uncertainty check: heuristic=+219.015, limit=550, max(|deltaT|)=0.263 degC, elapsed=1620s, expiry=4500s
+2020-05-09 19:02:31.957 UTC: I(TimingThread): timing uncertainty check: heuristic=+234.072, limit=550, max(|deltaT|)=0.264 degC, elapsed=1680s, expiry=4500s
+2020-05-09 19:03:32.847 UTC: I(TimingThread): timing uncertainty check: heuristic=+249.865, limit=550, max(|deltaT|)=0.268 degC, elapsed=1740s, expiry=4500s
+2020-05-09 19:04:33.750 UTC: I(TimingThread): timing uncertainty check: heuristic=+266.154, limit=550, max(|deltaT|)=0.280 degC, elapsed=1800s, expiry=4500s
+2020-05-09 19:05:34.726 UTC: I(TimingThread): timing uncertainty check: heuristic=+282.903, limit=550, max(|deltaT|)=0.285 degC, elapsed=1860s, expiry=4500s
+2020-05-09 19:06:35.621 UTC: I(TimingThread): timing uncertainty check: heuristic=+300.224, limit=550, max(|deltaT|)=0.300 degC, elapsed=1920s, expiry=4500s
+2020-05-09 19:07:36.715 UTC: I(TimingThread): timing uncertainty check: heuristic=+318.091, limit=550, max(|deltaT|)=0.306 degC, elapsed=1980s, expiry=4500s
+2020-05-09 19:08:37.613 UTC: I(TimingThread): timing uncertainty check: heuristic=+336.522, limit=550, max(|deltaT|)=0.312 degC, elapsed=2040s, expiry=4500s
+2020-05-09 19:09:38.726 UTC: I(TimingThread): timing uncertainty check: heuristic=+355.635, limit=550, max(|deltaT|)=0.325 degC, elapsed=2100s, expiry=4500s
+2020-05-09 19:10:39.621 UTC: I(TimingThread): timing uncertainty check: heuristic=+375.215, limit=550, max(|deltaT|)=0.332 degC, elapsed=2160s, expiry=4500s
+2020-05-09 19:11:40.023 UTC: I(TimingThread): timing uncertainty check: heuristic=+395.136, limit=550, max(|deltaT|)=0.345 degC, elapsed=2220s, expiry=4500s
+2020-05-09 19:12:40.922 UTC: I(TimingThread): timing uncertainty check: heuristic=+416.140, limit=550, max(|deltaT|)=0.358 degC, elapsed=2280s, expiry=4500s
+2020-05-09 19:13:41.812 UTC: I(TimingThread): timing uncertainty check: heuristic=+437.844, limit=550, max(|deltaT|)=0.367 degC, elapsed=2340s, expiry=4500s
+2020-05-09 19:14:42.711 UTC: I(TimingThread): timing uncertainty check: heuristic=+460.269, limit=550, max(|deltaT|)=0.380 degC, elapsed=2400s, expiry=4500s
+2020-05-09 19:15:43.707 UTC: I(TimingThread): timing uncertainty check: heuristic=+483.400, limit=550, max(|deltaT|)=0.389 degC, elapsed=2460s, expiry=4500s
+2020-05-09 19:16:44.621 UTC: I(TimingThread): timing uncertainty check: heuristic=+507.278, limit=550, max(|deltaT|)=0.402 degC, elapsed=2520s, expiry=4500s
+2020-05-09 19:17:45.539 UTC: I(TimingThread): timing uncertainty check: heuristic=+531.835, limit=550, max(|deltaT|)=0.416 degC, elapsed=2580s, expiry=4500s
+2020-05-09 19:18:46.664 UTC: I(TimingThread): timing uncertainty check: heuristic=+557.108, limit=550, max(|deltaT|)=0.428 degC, elapsed=2640s, expiry=4500s
+2020-05-09 19:18:46.672 UTC: I(TimingThread|freeRun): exit
+2020-05-09 19:18:46.679 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 19:18:50.824 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 19:19:03.836 UTC: I(TimingThread|ClockValidator): GNSS time valid after 13028ms
+2020-05-09 19:19:04.007 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.164s
+2020-05-09 19:19:04.014 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -82 counts (-4.3 us), drift ~ -5.7 us/hour (measured over 2697 s)
+2020-05-09 19:19:04.022 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.030 Hz
+2020-05-09 19:19:57.995 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.906 Hz, converge time = 54 s
+2020-05-09 19:19:58.003 UTC: I(TimingThread|discipline): exit
+2020-05-09 19:19:58.010 UTC: I(TimingThread|freeRun): enter
+2020-05-09 19:20:58.663 UTC: I(TimingThread): timing uncertainty check: heuristic=+0.399, limit=550, max(|deltaT|)=0.020 degC, elapsed=60s, expiry=7200s
+2020-05-09 19:21:59.573 UTC: I(TimingThread): timing uncertainty check: heuristic=+1.651, limit=550, max(|deltaT|)=0.031 degC, elapsed=120s, expiry=7200s
+2020-05-09 19:23:00.686 UTC: I(TimingThread): timing uncertainty check: heuristic=+3.715, limit=550, max(|deltaT|)=0.041 degC, elapsed=180s, expiry=7200s
+2020-05-09 19:24:01.596 UTC: I(TimingThread): timing uncertainty check: heuristic=+6.433, limit=550, max(|deltaT|)=0.053 degC, elapsed=240s, expiry=7200s
+2020-05-09 19:25:02.706 UTC: I(TimingThread): timing uncertainty check: heuristic=+9.714, limit=550, max(|deltaT|)=0.065 degC, elapsed=300s, expiry=6300s
+2020-05-09 19:26:03.624 UTC: I(TimingThread): timing uncertainty check: heuristic=+13.555, limit=550, max(|deltaT|)=0.077 degC, elapsed=360s, expiry=6300s
+2020-05-09 19:27:04.549 UTC: I(TimingThread): timing uncertainty check: heuristic=+17.924, limit=550, max(|deltaT|)=0.081 degC, elapsed=420s, expiry=6300s
+2020-05-09 19:28:05.663 UTC: I(TimingThread): timing uncertainty check: heuristic=+22.746, limit=550, max(|deltaT|)=0.092 degC, elapsed=480s, expiry=6300s
+2020-05-09 19:29:05.944 UTC: I(TimingThread): timing uncertainty check: heuristic=+27.994, limit=550, max(|deltaT|)=0.098 degC, elapsed=540s, expiry=6300s
+2020-05-09 19:30:06.846 UTC: I(TimingThread): timing uncertainty check: heuristic=+33.886, limit=550, max(|deltaT|)=0.108 degC, elapsed=600s, expiry=6300s
+2020-05-09 19:31:07.753 UTC: I(TimingThread): timing uncertainty check: heuristic=+40.185, limit=550, max(|deltaT|)=0.115 degC, elapsed=660s, expiry=6300s
+2020-05-09 19:32:08.710 UTC: I(TimingThread): timing uncertainty check: heuristic=+47.050, limit=550, max(|deltaT|)=0.124 degC, elapsed=720s, expiry=6300s
+2020-05-09 19:33:09.620 UTC: I(TimingThread): timing uncertainty check: heuristic=+54.345, limit=550, max(|deltaT|)=0.131 degC, elapsed=780s, expiry=5400s
+2020-05-09 19:34:10.542 UTC: I(TimingThread): timing uncertainty check: heuristic=+62.115, limit=550, max(|deltaT|)=0.139 degC, elapsed=840s, expiry=5400s
+2020-05-09 19:35:11.655 UTC: I(TimingThread): timing uncertainty check: heuristic=+70.434, limit=550, max(|deltaT|)=0.151 degC, elapsed=900s, expiry=5400s
+2020-05-09 19:36:12.577 UTC: I(TimingThread): timing uncertainty check: heuristic=+79.115, limit=550, max(|deltaT|)=0.151 degC, elapsed=960s, expiry=5400s
+2020-05-09 19:37:13.690 UTC: I(TimingThread): timing uncertainty check: heuristic=+88.268, limit=550, max(|deltaT|)=0.161 degC, elapsed=1020s, expiry=5400s
+2020-05-09 19:38:14.608 UTC: I(TimingThread): timing uncertainty check: heuristic=+97.761, limit=550, max(|deltaT|)=0.164 degC, elapsed=1080s, expiry=5400s
+2020-05-09 19:39:15.034 UTC: I(TimingThread): timing uncertainty check: heuristic=+107.362, limit=550, max(|deltaT|)=0.172 degC, elapsed=1140s, expiry=5400s
+2020-05-09 19:40:15.948 UTC: I(TimingThread): timing uncertainty check: heuristic=+117.241, limit=550, max(|deltaT|)=0.175 degC, elapsed=1200s, expiry=5400s
+2020-05-09 19:41:16.862 UTC: I(TimingThread): timing uncertainty check: heuristic=+127.186, limit=550, max(|deltaT|)=0.175 degC, elapsed=1260s, expiry=5400s
+2020-05-09 19:42:17.776 UTC: I(TimingThread): timing uncertainty check: heuristic=+137.107, limit=550, max(|deltaT|)=0.175 degC, elapsed=1320s, expiry=5400s
+2020-05-09 19:43:18.690 UTC: I(TimingThread): timing uncertainty check: heuristic=+146.797, limit=550, max(|deltaT|)=0.175 degC, elapsed=1380s, expiry=5400s
+2020-05-09 19:44:19.710 UTC: I(TimingThread): timing uncertainty check: heuristic=+156.185, limit=550, max(|deltaT|)=0.175 degC, elapsed=1440s, expiry=5400s
+2020-05-09 19:45:20.616 UTC: I(TimingThread): timing uncertainty check: heuristic=+165.105, limit=550, max(|deltaT|)=0.175 degC, elapsed=1500s, expiry=5400s
+2020-05-09 19:46:21.714 UTC: I(TimingThread): timing uncertainty check: heuristic=+173.416, limit=550, max(|deltaT|)=0.175 degC, elapsed=1560s, expiry=5400s
+2020-05-09 19:47:22.635 UTC: I(TimingThread): timing uncertainty check: heuristic=+180.889, limit=550, max(|deltaT|)=0.175 degC, elapsed=1620s, expiry=5400s
+2020-05-09 19:48:23.549 UTC: I(TimingThread): timing uncertainty check: heuristic=+187.418, limit=550, max(|deltaT|)=0.175 degC, elapsed=1680s, expiry=5400s
+2020-05-09 19:49:24.663 UTC: I(TimingThread): timing uncertainty check: heuristic=+192.836, limit=550, max(|deltaT|)=0.175 degC, elapsed=1740s, expiry=5400s
+2020-05-09 19:50:25.581 UTC: I(TimingThread): timing uncertainty check: heuristic=+197.086, limit=550, max(|deltaT|)=0.175 degC, elapsed=1800s, expiry=5400s
+2020-05-09 19:51:25.944 UTC: I(TimingThread): timing uncertainty check: heuristic=+199.904, limit=550, max(|deltaT|)=0.175 degC, elapsed=1860s, expiry=5400s
+2020-05-09 19:52:26.858 UTC: I(TimingThread): timing uncertainty check: heuristic=+201.182, limit=550, max(|deltaT|)=0.175 degC, elapsed=1920s, expiry=5400s
+2020-05-09 19:53:27.760 UTC: I(TimingThread): timing uncertainty check: heuristic=+200.751, limit=550, max(|deltaT|)=0.175 degC, elapsed=1980s, expiry=5400s
+2020-05-09 19:54:28.674 UTC: I(TimingThread): timing uncertainty check: heuristic=+198.454, limit=550, max(|deltaT|)=0.175 degC, elapsed=2040s, expiry=5400s
+2020-05-09 19:55:29.596 UTC: I(TimingThread): timing uncertainty check: heuristic=+194.133, limit=550, max(|deltaT|)=0.175 degC, elapsed=2100s, expiry=5400s
+2020-05-09 19:56:30.639 UTC: I(TimingThread): timing uncertainty check: heuristic=+187.744, limit=550, max(|deltaT|)=0.175 degC, elapsed=2160s, expiry=5400s
+2020-05-09 19:57:31.569 UTC: I(TimingThread): timing uncertainty check: heuristic=+179.048, limit=550, max(|deltaT|)=0.175 degC, elapsed=2220s, expiry=5400s
+2020-05-09 19:58:32.702 UTC: I(TimingThread): timing uncertainty check: heuristic=+167.987, limit=550, max(|deltaT|)=0.205 degC, elapsed=2280s, expiry=5400s
+2020-05-09 19:59:33.624 UTC: I(TimingThread): timing uncertainty check: heuristic=+154.534, limit=550, max(|deltaT|)=0.242 degC, elapsed=2340s, expiry=5400s
+2020-05-09 20:00:34.538 UTC: I(TimingThread): timing uncertainty check: heuristic=+138.489, limit=550, max(|deltaT|)=0.291 degC, elapsed=2400s, expiry=4500s
+2020-05-09 20:01:35.674 UTC: I(TimingThread): timing uncertainty check: heuristic=+119.814, limit=550, max(|deltaT|)=0.333 degC, elapsed=2460s, expiry=4500s
+2020-05-09 20:02:36.600 UTC: I(TimingThread): timing uncertainty check: heuristic=+98.389, limit=550, max(|deltaT|)=0.378 degC, elapsed=2520s, expiry=4500s
+2020-05-09 20:03:36.913 UTC: I(TimingThread): timing uncertainty check: heuristic=+74.623, limit=550, max(|deltaT|)=0.421 degC, elapsed=2580s, expiry=4500s
+2020-05-09 20:04:37.827 UTC: I(TimingThread): timing uncertainty check: heuristic=+47.628, limit=550, max(|deltaT|)=0.468 degC, elapsed=2640s, expiry=4500s
+2020-05-09 20:05:38.733 UTC: I(TimingThread): timing uncertainty check: heuristic=+17.710, limit=550, max(|deltaT|)=0.515 degC, elapsed=2700s, expiry=3600s
+2020-05-09 20:06:39.667 UTC: I(TimingThread): timing uncertainty check: heuristic=-15.115, limit=550, max(|deltaT|)=0.566 degC, elapsed=2760s, expiry=3600s
+2020-05-09 20:07:40.577 UTC: I(TimingThread): timing uncertainty check: heuristic=-50.863, limit=550, max(|deltaT|)=0.614 degC, elapsed=2820s, expiry=3600s
+2020-05-09 20:08:41.698 UTC: I(TimingThread): timing uncertainty check: heuristic=-89.588, limit=550, max(|deltaT|)=0.661 degC, elapsed=2880s, expiry=3600s
+2020-05-09 20:09:42.616 UTC: I(TimingThread): timing uncertainty check: heuristic=-131.287, limit=550, max(|deltaT|)=0.709 degC, elapsed=2940s, expiry=3600s
+2020-05-09 20:10:43.721 UTC: I(TimingThread): timing uncertainty check: heuristic=-175.948, limit=550, max(|deltaT|)=0.756 degC, elapsed=3000s, expiry=3600s
+2020-05-09 20:11:44.620 UTC: I(TimingThread): timing uncertainty check: heuristic=-223.602, limit=550, max(|deltaT|)=0.813 degC, elapsed=3060s, expiry=3600s
+2020-05-09 20:12:45.053 UTC: I(TimingThread): timing uncertainty check: heuristic=-273.391, limit=550, max(|deltaT|)=0.859 degC, elapsed=3120s, expiry=3600s
+2020-05-09 20:13:45.944 UTC: I(TimingThread): timing uncertainty check: heuristic=-327.072, limit=550, max(|deltaT|)=0.910 degC, elapsed=3180s, expiry=3600s
+2020-05-09 20:14:46.839 UTC: I(TimingThread): timing uncertainty check: heuristic=-383.813, limit=550, max(|deltaT|)=0.956 degC, elapsed=3240s, expiry=3600s
+2020-05-09 20:15:47.737 UTC: I(TimingThread): timing uncertainty check: heuristic=-443.471, limit=550, max(|deltaT|)=1.005 degC, elapsed=3300s, expiry=2700s
+2020-05-09 20:15:47.745 UTC: I(TimingThread|freeRun): exit
+2020-05-09 20:15:47.757 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 20:15:53.870 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 20:16:03.796 UTC: I(TimingThread|ClockValidator): GNSS time valid after 9942ms
+2020-05-09 20:16:04.008 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.205s
+2020-05-09 20:16:04.015 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = -278 counts (-14.5 us), drift ~ -15.5 us/hour (measured over 3366 s)
+2020-05-09 20:16:04.027 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by +0.083 Hz
+2020-05-09 20:17:04.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +4.139 Hz, converge time = 61 s
+2020-05-09 20:17:05.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 20:17:05.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 20:18:05.730 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.395, limit=550, max(|deltaT|)=0.050 degC, elapsed=60s, expiry=7200s
+2020-05-09 20:19:06.625 UTC: I(TimingThread): timing uncertainty check: heuristic=-5.600, limit=550, max(|deltaT|)=0.096 degC, elapsed=120s, expiry=6300s
+2020-05-09 20:20:07.675 UTC: I(TimingThread): timing uncertainty check: heuristic=-12.661, limit=550, max(|deltaT|)=0.144 degC, elapsed=180s, expiry=5400s
+2020-05-09 20:21:08.558 UTC: I(TimingThread): timing uncertainty check: heuristic=-22.739, limit=550, max(|deltaT|)=0.187 degC, elapsed=240s, expiry=5400s
+2020-05-09 20:22:09.640 UTC: I(TimingThread): timing uncertainty check: heuristic=-35.887, limit=550, max(|deltaT|)=0.243 degC, elapsed=300s, expiry=5400s
+2020-05-09 20:23:10.734 UTC: I(TimingThread): timing uncertainty check: heuristic=-52.139, limit=550, max(|deltaT|)=0.292 degC, elapsed=360s, expiry=4500s
+2020-05-09 20:24:11.629 UTC: I(TimingThread): timing uncertainty check: heuristic=-71.453, limit=550, max(|deltaT|)=0.342 degC, elapsed=420s, expiry=4500s
+2020-05-09 20:25:11.988 UTC: I(TimingThread): timing uncertainty check: heuristic=-93.431, limit=550, max(|deltaT|)=0.395 degC, elapsed=480s, expiry=4500s
+2020-05-09 20:26:12.886 UTC: I(TimingThread): timing uncertainty check: heuristic=-119.016, limit=550, max(|deltaT|)=0.453 degC, elapsed=540s, expiry=4500s
+2020-05-09 20:27:13.793 UTC: I(TimingThread): timing uncertainty check: heuristic=-147.655, limit=550, max(|deltaT|)=0.495 degC, elapsed=600s, expiry=4500s
+2020-05-09 20:28:14.695 UTC: I(TimingThread): timing uncertainty check: heuristic=-179.362, limit=550, max(|deltaT|)=0.546 degC, elapsed=660s, expiry=3600s
+2020-05-09 20:29:15.597 UTC: I(TimingThread): timing uncertainty check: heuristic=-214.197, limit=550, max(|deltaT|)=0.601 degC, elapsed=720s, expiry=3600s
+2020-05-09 20:30:16.664 UTC: I(TimingThread): timing uncertainty check: heuristic=-252.204, limit=550, max(|deltaT|)=0.651 degC, elapsed=780s, expiry=3600s
+2020-05-09 20:31:17.562 UTC: I(TimingThread): timing uncertainty check: heuristic=-293.206, limit=550, max(|deltaT|)=0.699 degC, elapsed=840s, expiry=3600s
+2020-05-09 20:32:18.675 UTC: I(TimingThread): timing uncertainty check: heuristic=-337.382, limit=550, max(|deltaT|)=0.755 degC, elapsed=900s, expiry=3600s
+2020-05-09 20:33:19.586 UTC: I(TimingThread): timing uncertainty check: heuristic=-384.573, limit=550, max(|deltaT|)=0.800 degC, elapsed=960s, expiry=3600s
+2020-05-09 20:34:20.691 UTC: I(TimingThread): timing uncertainty check: heuristic=-434.896, limit=550, max(|deltaT|)=0.855 degC, elapsed=1020s, expiry=3600s
+2020-05-09 20:35:21.601 UTC: I(TimingThread): timing uncertainty check: heuristic=-488.374, limit=550, max(|deltaT|)=0.903 degC, elapsed=1080s, expiry=3600s
+2020-05-09 20:36:21.929 UTC: I(TimingThread): timing uncertainty check: heuristic=-543.985, limit=550, max(|deltaT|)=0.959 degC, elapsed=1140s, expiry=3600s
+2020-05-09 20:37:22.836 UTC: I(TimingThread): timing uncertainty check: heuristic=-603.518, limit=550, max(|deltaT|)=1.006 degC, elapsed=1200s, expiry=2700s
+2020-05-09 20:37:22.840 UTC: I(TimingThread|freeRun): exit
+2020-05-09 20:37:22.851 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 20:37:24.922 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 20:37:28.922 UTC: I(TimingThread|ClockValidator): GNSS time valid after 4007ms
+2020-05-09 20:37:28.929 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=29, residual=-19200 counts (-1000 us)
+2020-05-09 20:37:29.922 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=28, residual=-19200 counts (-1000 us)
+2020-05-09 20:37:30.922 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=27, residual=-19200 counts (-1000 us)
+2020-05-09 20:37:31.922 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=26, residual=-19200 counts (-1000 us)
+2020-05-09 20:37:32.922 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=25, residual=-19199 counts (-999.948 us)
+2020-05-09 20:37:33.922 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=24, residual=-19199 counts (-999.948 us)
+2020-05-09 20:37:34.922 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=23, residual=-19200 counts (-1000 us)
+2020-05-09 20:37:35.922 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=22, residual=-19199 counts (-999.948 us)
+2020-05-09 20:37:36.922 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=21, residual=-19200 counts (-1000 us)
+2020-05-09 20:37:37.922 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=20, residual=-19199 counts (-999.948 us)
+2020-05-09 20:37:38.922 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 20:37:39.922 UTC: I(TimingThread|ClockValidator): GNSS time valid after 1001ms
+2020-05-09 20:37:39.929 UTC: W(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off abort
+2020-05-09 20:37:40.020 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.079s
+2020-05-09 20:37:40.027 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +1 counts (+0.1 us), drift ~ +0.2 us/hour (measured over 1235 s)
+2020-05-09 20:37:40.039 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.001 Hz
+2020-05-09 20:38:09.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +4.188 Hz, converge time = 30 s
+2020-05-09 20:38:10.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 20:38:10.016 UTC: I(TimingThread|freeRun): enter
+2020-05-09 20:39:10.770 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.574, limit=550, max(|deltaT|)=0.058 degC, elapsed=60s, expiry=7200s
+2020-05-09 20:40:11.672 UTC: I(TimingThread): timing uncertainty check: heuristic=-6.133, limit=550, max(|deltaT|)=0.100 degC, elapsed=120s, expiry=6300s
+2020-05-09 20:41:12.660 UTC: I(TimingThread): timing uncertainty check: heuristic=-13.666, limit=550, max(|deltaT|)=0.150 degC, elapsed=180s, expiry=5400s
+2020-05-09 20:42:13.582 UTC: I(TimingThread): timing uncertainty check: heuristic=-24.131, limit=550, max(|deltaT|)=0.201 degC, elapsed=240s, expiry=5400s
+2020-05-09 20:43:14.703 UTC: I(TimingThread): timing uncertainty check: heuristic=-37.673, limit=550, max(|deltaT|)=0.250 degC, elapsed=300s, expiry=5400s
+2020-05-09 20:44:15.613 UTC: I(TimingThread): timing uncertainty check: heuristic=-54.164, limit=550, max(|deltaT|)=0.301 degC, elapsed=360s, expiry=4500s
+2020-05-09 20:45:16.535 UTC: I(TimingThread): timing uncertainty check: heuristic=-73.592, limit=550, max(|deltaT|)=0.348 degC, elapsed=420s, expiry=4500s
+2020-05-09 20:46:17.660 UTC: I(TimingThread): timing uncertainty check: heuristic=-95.994, limit=550, max(|deltaT|)=0.396 degC, elapsed=480s, expiry=4500s
+2020-05-09 20:47:18.570 UTC: I(TimingThread): timing uncertainty check: heuristic=-121.281, limit=550, max(|deltaT|)=0.440 degC, elapsed=540s, expiry=4500s
+2020-05-09 20:48:18.910 UTC: I(TimingThread): timing uncertainty check: heuristic=-148.984, limit=550, max(|deltaT|)=0.489 degC, elapsed=600s, expiry=4500s
+2020-05-09 20:49:19.809 UTC: I(TimingThread): timing uncertainty check: heuristic=-179.986, limit=550, max(|deltaT|)=0.534 degC, elapsed=660s, expiry=3600s
+2020-05-09 20:50:20.711 UTC: I(TimingThread): timing uncertainty check: heuristic=-213.718, limit=550, max(|deltaT|)=0.582 degC, elapsed=720s, expiry=3600s
+2020-05-09 20:51:21.609 UTC: I(TimingThread): timing uncertainty check: heuristic=-250.164, limit=550, max(|deltaT|)=0.621 degC, elapsed=780s, expiry=3600s
+2020-05-09 20:52:22.652 UTC: I(TimingThread): timing uncertainty check: heuristic=-289.195, limit=550, max(|deltaT|)=0.665 degC, elapsed=840s, expiry=3600s
+2020-05-09 20:53:23.555 UTC: I(TimingThread): timing uncertainty check: heuristic=-330.871, limit=550, max(|deltaT|)=0.706 degC, elapsed=900s, expiry=3600s
+2020-05-09 20:54:24.676 UTC: I(TimingThread): timing uncertainty check: heuristic=-375.025, limit=550, max(|deltaT|)=0.749 degC, elapsed=960s, expiry=3600s
+2020-05-09 20:55:25.594 UTC: I(TimingThread): timing uncertainty check: heuristic=-421.643, limit=550, max(|deltaT|)=0.787 degC, elapsed=1020s, expiry=3600s
+2020-05-09 20:56:26.699 UTC: I(TimingThread): timing uncertainty check: heuristic=-470.715, limit=550, max(|deltaT|)=0.832 degC, elapsed=1080s, expiry=3600s
+2020-05-09 20:57:27.617 UTC: I(TimingThread): timing uncertainty check: heuristic=-522.141, limit=550, max(|deltaT|)=0.873 degC, elapsed=1140s, expiry=3600s
+2020-05-09 20:58:28.547 UTC: I(TimingThread): timing uncertainty check: heuristic=-575.761, limit=550, max(|deltaT|)=0.900 degC, elapsed=1200s, expiry=3600s
+2020-05-09 20:58:28.555 UTC: I(TimingThread|freeRun): exit
+2020-05-09 20:58:28.566 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 20:58:31.926 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 20:58:34.926 UTC: I(TimingThread|ClockValidator): GNSS time valid after 3005ms
+2020-05-09 20:58:34.934 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=29, residual=-19113 counts (-995.469 us)
+2020-05-09 20:58:35.926 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=28, residual=-19113 counts (-995.469 us)
+2020-05-09 20:58:36.926 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=27, residual=-19112 counts (-995.417 us)
+2020-05-09 20:58:37.926 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=26, residual=-19112 counts (-995.417 us)
+2020-05-09 20:58:38.926 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 20:58:39.926 UTC: I(TimingThread|ClockValidator): GNSS time valid after 1002ms
+2020-05-09 20:58:39.934 UTC: W(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off abort
+2020-05-09 20:58:40.022 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.073s
+2020-05-09 20:58:40.029 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +88 counts (+4.6 us), drift ~ +13.4 us/hour (measured over 1230 s)
+2020-05-09 20:58:40.037 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.072 Hz
+2020-05-09 20:59:34.994 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +4.067 Hz, converge time = 55 s
+2020-05-09 20:59:35.002 UTC: I(TimingThread|discipline): exit
+2020-05-09 20:59:35.014 UTC: I(TimingThread|freeRun): enter
+2020-05-09 21:00:35.607 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.775, limit=550, max(|deltaT|)=0.031 degC, elapsed=60s, expiry=7200s
+2020-05-09 21:01:36.705 UTC: I(TimingThread): timing uncertainty check: heuristic=-3.485, limit=550, max(|deltaT|)=0.062 degC, elapsed=120s, expiry=7200s
+2020-05-09 21:02:37.627 UTC: I(TimingThread): timing uncertainty check: heuristic=-8.090, limit=550, max(|deltaT|)=0.098 degC, elapsed=180s, expiry=6300s
+2020-05-09 21:03:38.717 UTC: I(TimingThread): timing uncertainty check: heuristic=-14.605, limit=550, max(|deltaT|)=0.129 degC, elapsed=240s, expiry=5400s
+2020-05-09 21:04:39.615 UTC: I(TimingThread): timing uncertainty check: heuristic=-23.075, limit=550, max(|deltaT|)=0.158 degC, elapsed=300s, expiry=5400s
+2020-05-09 21:05:39.943 UTC: I(TimingThread): timing uncertainty check: heuristic=-33.304, limit=550, max(|deltaT|)=0.191 degC, elapsed=360s, expiry=5400s
+2020-05-09 21:06:40.846 UTC: I(TimingThread): timing uncertainty check: heuristic=-45.572, limit=550, max(|deltaT|)=0.218 degC, elapsed=420s, expiry=5400s
+2020-05-09 21:07:41.748 UTC: I(TimingThread): timing uncertainty check: heuristic=-59.771, limit=550, max(|deltaT|)=0.257 degC, elapsed=480s, expiry=4500s
+2020-05-09 21:08:42.639 UTC: I(TimingThread): timing uncertainty check: heuristic=-75.770, limit=550, max(|deltaT|)=0.286 degC, elapsed=540s, expiry=4500s
+2020-05-09 21:09:43.689 UTC: I(TimingThread): timing uncertainty check: heuristic=-93.592, limit=550, max(|deltaT|)=0.313 degC, elapsed=600s, expiry=4500s
+2020-05-09 21:10:44.600 UTC: I(TimingThread): timing uncertainty check: heuristic=-113.094, limit=550, max(|deltaT|)=0.337 degC, elapsed=660s, expiry=4500s
+2020-05-09 21:11:45.674 UTC: I(TimingThread): timing uncertainty check: heuristic=-134.331, limit=550, max(|deltaT|)=0.368 degC, elapsed=720s, expiry=4500s
+2020-05-09 21:12:46.553 UTC: I(TimingThread): timing uncertainty check: heuristic=-157.277, limit=550, max(|deltaT|)=0.393 degC, elapsed=780s, expiry=4500s
+2020-05-09 21:13:47.650 UTC: I(TimingThread): timing uncertainty check: heuristic=-181.887, limit=550, max(|deltaT|)=0.419 degC, elapsed=840s, expiry=4500s
+2020-05-09 21:14:48.561 UTC: I(TimingThread): timing uncertainty check: heuristic=-208.106, limit=550, max(|deltaT|)=0.446 degC, elapsed=900s, expiry=4500s
+2020-05-09 21:15:48.897 UTC: I(TimingThread): timing uncertainty check: heuristic=-235.390, limit=550, max(|deltaT|)=0.471 degC, elapsed=960s, expiry=4500s
+2020-05-09 21:16:49.791 UTC: I(TimingThread): timing uncertainty check: heuristic=-264.651, limit=550, max(|deltaT|)=0.496 degC, elapsed=1020s, expiry=4500s
+2020-05-09 21:17:50.693 UTC: I(TimingThread): timing uncertainty check: heuristic=-295.381, limit=550, max(|deltaT|)=0.520 degC, elapsed=1080s, expiry=3600s
+2020-05-09 21:18:51.600 UTC: I(TimingThread): timing uncertainty check: heuristic=-327.652, limit=550, max(|deltaT|)=0.547 degC, elapsed=1140s, expiry=3600s
+2020-05-09 21:19:52.666 UTC: I(TimingThread): timing uncertainty check: heuristic=-361.329, limit=550, max(|deltaT|)=0.571 degC, elapsed=1200s, expiry=3600s
+2020-05-09 21:20:53.568 UTC: I(TimingThread): timing uncertainty check: heuristic=-396.444, limit=550, max(|deltaT|)=0.591 degC, elapsed=1260s, expiry=3600s
+2020-05-09 21:21:54.674 UTC: I(TimingThread): timing uncertainty check: heuristic=-432.977, limit=550, max(|deltaT|)=0.613 degC, elapsed=1320s, expiry=3600s
+2020-05-09 21:22:55.592 UTC: I(TimingThread): timing uncertainty check: heuristic=-470.869, limit=550, max(|deltaT|)=0.634 degC, elapsed=1380s, expiry=3600s
+2020-05-09 21:23:56.713 UTC: I(TimingThread): timing uncertainty check: heuristic=-510.095, limit=550, max(|deltaT|)=0.667 degC, elapsed=1440s, expiry=3600s
+2020-05-09 21:24:57.623 UTC: I(TimingThread): timing uncertainty check: heuristic=-550.633, limit=550, max(|deltaT|)=0.681 degC, elapsed=1500s, expiry=3600s
+2020-05-09 21:24:57.631 UTC: I(TimingThread|freeRun): exit
+2020-05-09 21:24:57.643 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 21:24:59.908 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 21:25:02.908 UTC: I(TimingThread|ClockValidator): GNSS time valid after 3004ms
+2020-05-09 21:25:02.916 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=29, residual=-19165 counts (-998.177 us)
+2020-05-09 21:25:03.908 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=28, residual=-19165 counts (-998.177 us)
+2020-05-09 21:25:04.908 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=27, residual=-19165 counts (-998.177 us)
+2020-05-09 21:25:05.908 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=26, residual=-19165 counts (-998.177 us)
+2020-05-09 21:25:06.908 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=25, residual=-19165 counts (-998.177 us)
+2020-05-09 21:25:07.908 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=24, residual=-19165 counts (-998.177 us)
+2020-05-09 21:25:08.908 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 21:25:09.908 UTC: I(TimingThread|ClockValidator): GNSS time valid after 1002ms
+2020-05-09 21:25:09.916 UTC: W(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off abort
+2020-05-09 21:25:10.022 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.094s
+2020-05-09 21:25:10.029 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +35 counts (+1.8 us), drift ~ +4.3 us/hour (measured over 1535 s)
+2020-05-09 21:25:10.041 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.023 Hz
+2020-05-09 21:25:58.994 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.994 Hz, converge time = 49 s
+2020-05-09 21:25:59.002 UTC: I(TimingThread|discipline): exit
+2020-05-09 21:25:59.014 UTC: I(TimingThread|freeRun): enter
+2020-05-09 21:26:59.576 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.857, limit=550, max(|deltaT|)=0.028 degC, elapsed=60s, expiry=7200s
+2020-05-09 21:28:00.654 UTC: I(TimingThread): timing uncertainty check: heuristic=-2.770, limit=550, max(|deltaT|)=0.046 degC, elapsed=120s, expiry=7200s
+2020-05-09 21:29:01.557 UTC: I(TimingThread): timing uncertainty check: heuristic=-5.877, limit=550, max(|deltaT|)=0.063 degC, elapsed=180s, expiry=6300s
+2020-05-09 21:30:02.658 UTC: I(TimingThread): timing uncertainty check: heuristic=-10.214, limit=550, max(|deltaT|)=0.087 degC, elapsed=240s, expiry=6300s
+2020-05-09 21:31:03.561 UTC: I(TimingThread): timing uncertainty check: heuristic=-15.693, limit=550, max(|deltaT|)=0.105 degC, elapsed=300s, expiry=6300s
+2020-05-09 21:32:04.682 UTC: I(TimingThread): timing uncertainty check: heuristic=-22.447, limit=550, max(|deltaT|)=0.125 degC, elapsed=360s, expiry=6300s
+2020-05-09 21:33:05.572 UTC: I(TimingThread): timing uncertainty check: heuristic=-30.506, limit=550, max(|deltaT|)=0.146 degC, elapsed=420s, expiry=5400s
+2020-05-09 21:34:05.857 UTC: I(TimingThread): timing uncertainty check: heuristic=-39.635, limit=550, max(|deltaT|)=0.168 degC, elapsed=480s, expiry=5400s
+2020-05-09 21:35:06.764 UTC: I(TimingThread): timing uncertainty check: heuristic=-50.232, limit=550, max(|deltaT|)=0.196 degC, elapsed=540s, expiry=5400s
+2020-05-09 21:36:07.662 UTC: I(TimingThread): timing uncertainty check: heuristic=-62.123, limit=550, max(|deltaT|)=0.215 degC, elapsed=600s, expiry=5400s
+2020-05-09 21:37:08.568 UTC: I(TimingThread): timing uncertainty check: heuristic=-75.400, limit=550, max(|deltaT|)=0.231 degC, elapsed=660s, expiry=5400s
+2020-05-09 21:38:09.666 UTC: I(TimingThread): timing uncertainty check: heuristic=-90.029, limit=550, max(|deltaT|)=0.261 degC, elapsed=720s, expiry=4500s
+2020-05-09 21:39:10.572 UTC: I(TimingThread): timing uncertainty check: heuristic=-106.059, limit=550, max(|deltaT|)=0.282 degC, elapsed=780s, expiry=4500s
+2020-05-09 21:40:11.674 UTC: I(TimingThread): timing uncertainty check: heuristic=-123.504, limit=550, max(|deltaT|)=0.305 degC, elapsed=840s, expiry=4500s
+2020-05-09 21:41:12.600 UTC: I(TimingThread): timing uncertainty check: heuristic=-142.287, limit=550, max(|deltaT|)=0.325 degC, elapsed=900s, expiry=4500s
+2020-05-09 21:42:13.068 UTC: I(TimingThread): timing uncertainty check: heuristic=-162.151, limit=550, max(|deltaT|)=0.346 degC, elapsed=960s, expiry=4500s
+2020-05-09 21:43:13.971 UTC: I(TimingThread): timing uncertainty check: heuristic=-183.806, limit=550, max(|deltaT|)=0.372 degC, elapsed=1020s, expiry=4500s
+2020-05-09 21:44:14.873 UTC: I(TimingThread): timing uncertainty check: heuristic=-206.988, limit=550, max(|deltaT|)=0.395 degC, elapsed=1080s, expiry=4500s
+2020-05-09 21:45:15.779 UTC: I(TimingThread): timing uncertainty check: heuristic=-231.597, limit=550, max(|deltaT|)=0.421 degC, elapsed=1140s, expiry=4500s
+2020-05-09 21:46:16.682 UTC: I(TimingThread): timing uncertainty check: heuristic=-257.605, limit=550, max(|deltaT|)=0.441 degC, elapsed=1200s, expiry=4500s
+2020-05-09 21:47:17.654 UTC: I(TimingThread): timing uncertainty check: heuristic=-285.150, limit=550, max(|deltaT|)=0.471 degC, elapsed=1260s, expiry=4500s
+2020-05-09 21:48:18.557 UTC: I(TimingThread): timing uncertainty check: heuristic=-314.219, limit=550, max(|deltaT|)=0.495 degC, elapsed=1320s, expiry=4500s
+2020-05-09 21:49:19.654 UTC: I(TimingThread): timing uncertainty check: heuristic=-344.656, limit=550, max(|deltaT|)=0.516 degC, elapsed=1380s, expiry=3600s
+2020-05-09 21:50:20.576 UTC: I(TimingThread): timing uncertainty check: heuristic=-376.624, limit=550, max(|deltaT|)=0.544 degC, elapsed=1440s, expiry=3600s
+2020-05-09 21:51:21.678 UTC: I(TimingThread): timing uncertainty check: heuristic=-410.122, limit=550, max(|deltaT|)=0.568 degC, elapsed=1500s, expiry=3600s
+2020-05-09 21:52:22.564 UTC: I(TimingThread): timing uncertainty check: heuristic=-444.950, limit=550, max(|deltaT|)=0.591 degC, elapsed=1560s, expiry=3600s
+2020-05-09 21:53:22.982 UTC: I(TimingThread): timing uncertainty check: heuristic=-480.652, limit=550, max(|deltaT|)=0.614 degC, elapsed=1620s, expiry=3600s
+2020-05-09 21:54:23.877 UTC: I(TimingThread): timing uncertainty check: heuristic=-518.321, limit=550, max(|deltaT|)=0.644 degC, elapsed=1680s, expiry=3600s
+2020-05-09 21:55:24.775 UTC: I(TimingThread): timing uncertainty check: heuristic=-557.333, limit=550, max(|deltaT|)=0.667 degC, elapsed=1740s, expiry=3600s
+2020-05-09 21:55:24.783 UTC: I(TimingThread|freeRun): exit
+2020-05-09 21:55:24.795 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 21:55:27.897 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 21:55:30.893 UTC: I(TimingThread|ClockValidator): GNSS time valid after 3005ms
+2020-05-09 21:55:30.900 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=29, residual=-19170 counts (-998.438 us)
+2020-05-09 21:55:31.897 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=28, residual=-19170 counts (-998.438 us)
+2020-05-09 21:55:32.897 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=27, residual=-19169 counts (-998.385 us)
+2020-05-09 21:55:33.897 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=26, residual=-19169 counts (-998.385 us)
+2020-05-09 21:55:34.897 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=25, residual=-19169 counts (-998.385 us)
+2020-05-09 21:55:35.893 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=24, residual=-19169 counts (-998.385 us)
+2020-05-09 21:55:36.893 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=23, residual=-19169 counts (-998.385 us)
+2020-05-09 21:55:37.893 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=22, residual=-19169 counts (-998.385 us)
+2020-05-09 21:55:38.897 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 21:55:39.897 UTC: I(TimingThread|ClockValidator): GNSS time valid after 1002ms
+2020-05-09 21:55:39.900 UTC: W(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off abort
+2020-05-09 21:55:40.017 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.105s
+2020-05-09 21:55:40.024 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +31 counts (+1.6 us), drift ~ +3.3 us/hour (measured over 1781 s)
+2020-05-09 21:55:40.036 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.017 Hz
+2020-05-09 21:56:27.997 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.927 Hz, converge time = 48 s
+2020-05-09 21:56:28.005 UTC: I(TimingThread|discipline): exit
+2020-05-09 21:56:28.017 UTC: I(TimingThread|freeRun): enter
+2020-05-09 21:57:28.708 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.126, limit=550, max(|deltaT|)=0.041 degC, elapsed=60s, expiry=7200s
+2020-05-09 21:58:29.688 UTC: I(TimingThread): timing uncertainty check: heuristic=-3.469, limit=550, max(|deltaT|)=0.065 degC, elapsed=120s, expiry=6300s
+2020-05-09 21:59:30.595 UTC: I(TimingThread): timing uncertainty check: heuristic=-7.114, limit=550, max(|deltaT|)=0.083 degC, elapsed=180s, expiry=6300s
+2020-05-09 22:00:31.704 UTC: I(TimingThread): timing uncertainty check: heuristic=-11.870, limit=550, max(|deltaT|)=0.100 degC, elapsed=240s, expiry=6300s
+2020-05-09 22:01:32.614 UTC: I(TimingThread): timing uncertainty check: heuristic=-18.115, limit=550, max(|deltaT|)=0.121 degC, elapsed=300s, expiry=6300s
+2020-05-09 22:02:33.724 UTC: I(TimingThread): timing uncertainty check: heuristic=-25.566, limit=550, max(|deltaT|)=0.138 degC, elapsed=360s, expiry=5400s
+2020-05-09 22:03:34.618 UTC: I(TimingThread): timing uncertainty check: heuristic=-34.331, limit=550, max(|deltaT|)=0.161 degC, elapsed=420s, expiry=5400s
+2020-05-09 22:04:35.001 UTC: I(TimingThread): timing uncertainty check: heuristic=-44.101, limit=550, max(|deltaT|)=0.185 degC, elapsed=480s, expiry=5400s
+2020-05-09 22:05:35.899 UTC: I(TimingThread): timing uncertainty check: heuristic=-55.472, limit=550, max(|deltaT|)=0.201 degC, elapsed=540s, expiry=5400s
+2020-05-09 22:06:36.794 UTC: I(TimingThread): timing uncertainty check: heuristic=-68.129, limit=550, max(|deltaT|)=0.227 degC, elapsed=600s, expiry=5400s
+2020-05-09 22:07:37.688 UTC: I(TimingThread): timing uncertainty check: heuristic=-82.082, limit=550, max(|deltaT|)=0.252 degC, elapsed=660s, expiry=4500s
+2020-05-09 22:08:38.649 UTC: I(TimingThread): timing uncertainty check: heuristic=-97.385, limit=550, max(|deltaT|)=0.266 degC, elapsed=720s, expiry=4500s
+2020-05-09 22:09:39.548 UTC: I(TimingThread): timing uncertainty check: heuristic=-113.973, limit=550, max(|deltaT|)=0.286 degC, elapsed=780s, expiry=4500s
+2020-05-09 22:10:40.649 UTC: I(TimingThread): timing uncertainty check: heuristic=-131.827, limit=550, max(|deltaT|)=0.305 degC, elapsed=840s, expiry=4500s
+2020-05-09 22:11:41.536 UTC: I(TimingThread): timing uncertainty check: heuristic=-150.918, limit=550, max(|deltaT|)=0.327 degC, elapsed=900s, expiry=4500s
+2020-05-09 22:12:42.634 UTC: I(TimingThread): timing uncertainty check: heuristic=-171.221, limit=550, max(|deltaT|)=0.349 degC, elapsed=960s, expiry=4500s
+2020-05-09 22:13:43.052 UTC: I(TimingThread): timing uncertainty check: heuristic=-192.436, limit=550, max(|deltaT|)=0.371 degC, elapsed=1020s, expiry=4500s
+2020-05-09 22:14:43.942 UTC: I(TimingThread): timing uncertainty check: heuristic=-215.220, limit=550, max(|deltaT|)=0.390 degC, elapsed=1080s, expiry=4500s
+2020-05-09 22:15:44.837 UTC: I(TimingThread): timing uncertainty check: heuristic=-239.229, limit=550, max(|deltaT|)=0.410 degC, elapsed=1140s, expiry=4500s
+2020-05-09 22:16:45.727 UTC: I(TimingThread): timing uncertainty check: heuristic=-264.437, limit=550, max(|deltaT|)=0.429 degC, elapsed=1200s, expiry=4500s
+2020-05-09 22:17:46.692 UTC: I(TimingThread): timing uncertainty check: heuristic=-290.856, limit=550, max(|deltaT|)=0.450 degC, elapsed=1260s, expiry=4500s
+2020-05-09 22:18:47.595 UTC: I(TimingThread): timing uncertainty check: heuristic=-318.530, limit=550, max(|deltaT|)=0.466 degC, elapsed=1320s, expiry=4500s
+2020-05-09 22:19:48.700 UTC: I(TimingThread): timing uncertainty check: heuristic=-347.456, limit=550, max(|deltaT|)=0.488 degC, elapsed=1380s, expiry=4500s
+2020-05-09 22:20:49.602 UTC: I(TimingThread): timing uncertainty check: heuristic=-377.602, limit=550, max(|deltaT|)=0.510 degC, elapsed=1440s, expiry=3600s
+2020-05-09 22:21:50.681 UTC: I(TimingThread): timing uncertainty check: heuristic=-409.070, limit=550, max(|deltaT|)=0.533 degC, elapsed=1500s, expiry=3600s
+2020-05-09 22:22:51.567 UTC: I(TimingThread): timing uncertainty check: heuristic=-441.777, limit=550, max(|deltaT|)=0.551 degC, elapsed=1560s, expiry=3600s
+2020-05-09 22:23:51.993 UTC: I(TimingThread): timing uncertainty check: heuristic=-475.281, limit=550, max(|deltaT|)=0.572 degC, elapsed=1620s, expiry=3600s
+2020-05-09 22:24:52.888 UTC: I(TimingThread): timing uncertainty check: heuristic=-510.685, limit=550, max(|deltaT|)=0.598 degC, elapsed=1680s, expiry=3600s
+2020-05-09 22:25:53.786 UTC: I(TimingThread): timing uncertainty check: heuristic=-547.364, limit=550, max(|deltaT|)=0.618 degC, elapsed=1740s, expiry=3600s
+2020-05-09 22:26:54.688 UTC: I(TimingThread): timing uncertainty check: heuristic=-585.399, limit=550, max(|deltaT|)=0.640 degC, elapsed=1800s, expiry=3600s
+2020-05-09 22:26:54.692 UTC: I(TimingThread|freeRun): exit
+2020-05-09 22:26:54.704 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 22:26:57.892 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 22:27:09.892 UTC: I(TimingThread|ClockValidator): GNSS time valid after 12023ms
+2020-05-09 22:27:10.008 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.109s
+2020-05-09 22:27:10.019 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +45 counts (+2.3 us), drift ~ +4.6 us/hour (measured over 1842 s)
+2020-05-09 22:27:10.027 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.024 Hz
+2020-05-09 22:27:59.996 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.902 Hz, converge time = 50 s
+2020-05-09 22:28:00.004 UTC: I(TimingThread|discipline): exit
+2020-05-09 22:28:00.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 22:29:00.730 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.367, limit=550, max(|deltaT|)=0.023 degC, elapsed=60s, expiry=7200s
+2020-05-09 22:30:01.636 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.936, limit=550, max(|deltaT|)=0.041 degC, elapsed=120s, expiry=7200s
+2020-05-09 22:31:02.722 UTC: I(TimingThread): timing uncertainty check: heuristic=-4.942, limit=550, max(|deltaT|)=0.063 degC, elapsed=180s, expiry=6300s
+2020-05-09 22:32:03.617 UTC: I(TimingThread): timing uncertainty check: heuristic=-9.444, limit=550, max(|deltaT|)=0.092 degC, elapsed=240s, expiry=6300s
+2020-05-09 22:33:04.718 UTC: I(TimingThread): timing uncertainty check: heuristic=-15.432, limit=550, max(|deltaT|)=0.123 degC, elapsed=300s, expiry=6300s
+2020-05-09 22:34:05.625 UTC: I(TimingThread): timing uncertainty check: heuristic=-23.083, limit=550, max(|deltaT|)=0.147 degC, elapsed=360s, expiry=5400s
+2020-05-09 22:35:05.980 UTC: I(TimingThread): timing uncertainty check: heuristic=-32.178, limit=550, max(|deltaT|)=0.175 degC, elapsed=420s, expiry=5400s
+2020-05-09 22:36:06.875 UTC: I(TimingThread): timing uncertainty check: heuristic=-43.025, limit=550, max(|deltaT|)=0.200 degC, elapsed=480s, expiry=5400s
+2020-05-09 22:37:07.765 UTC: I(TimingThread): timing uncertainty check: heuristic=-55.633, limit=550, max(|deltaT|)=0.227 degC, elapsed=540s, expiry=5400s
+2020-05-09 22:38:08.656 UTC: I(TimingThread): timing uncertainty check: heuristic=-70.010, limit=550, max(|deltaT|)=0.253 degC, elapsed=600s, expiry=4500s
+2020-05-09 22:39:09.629 UTC: I(TimingThread): timing uncertainty check: heuristic=-86.185, limit=550, max(|deltaT|)=0.282 degC, elapsed=660s, expiry=4500s
+2020-05-09 22:40:10.722 UTC: I(TimingThread): timing uncertainty check: heuristic=-104.117, limit=550, max(|deltaT|)=0.313 degC, elapsed=720s, expiry=4500s
+2020-05-09 22:41:11.609 UTC: I(TimingThread): timing uncertainty check: heuristic=-123.851, limit=550, max(|deltaT|)=0.342 degC, elapsed=780s, expiry=4500s
+2020-05-09 22:42:12.707 UTC: I(TimingThread): timing uncertainty check: heuristic=-145.379, limit=550, max(|deltaT|)=0.375 degC, elapsed=840s, expiry=4500s
+2020-05-09 22:43:13.601 UTC: I(TimingThread): timing uncertainty check: heuristic=-168.774, limit=550, max(|deltaT|)=0.404 degC, elapsed=900s, expiry=4500s
+2020-05-09 22:44:14.008 UTC: I(TimingThread): timing uncertainty check: heuristic=-193.561, limit=550, max(|deltaT|)=0.433 degC, elapsed=960s, expiry=4500s
+2020-05-09 22:45:14.914 UTC: I(TimingThread): timing uncertainty check: heuristic=-220.608, limit=550, max(|deltaT|)=0.461 degC, elapsed=1020s, expiry=4500s
+2020-05-09 22:46:15.808 UTC: I(TimingThread): timing uncertainty check: heuristic=-249.495, limit=550, max(|deltaT|)=0.495 degC, elapsed=1080s, expiry=4500s
+2020-05-09 22:47:16.695 UTC: I(TimingThread): timing uncertainty check: heuristic=-280.219, limit=550, max(|deltaT|)=0.521 degC, elapsed=1140s, expiry=3600s
+2020-05-09 22:48:17.652 UTC: I(TimingThread): timing uncertainty check: heuristic=-312.734, limit=550, max(|deltaT|)=0.548 degC, elapsed=1200s, expiry=3600s
+2020-05-09 22:49:18.543 UTC: I(TimingThread): timing uncertainty check: heuristic=-347.170, limit=550, max(|deltaT|)=0.586 degC, elapsed=1260s, expiry=3600s
+2020-05-09 22:50:19.644 UTC: I(TimingThread): timing uncertainty check: heuristic=-383.375, limit=550, max(|deltaT|)=0.614 degC, elapsed=1320s, expiry=3600s
+2020-05-09 22:51:20.718 UTC: I(TimingThread): timing uncertainty check: heuristic=-421.494, limit=550, max(|deltaT|)=0.641 degC, elapsed=1380s, expiry=3600s
+2020-05-09 22:52:21.633 UTC: I(TimingThread): timing uncertainty check: heuristic=-461.451, limit=550, max(|deltaT|)=0.675 degC, elapsed=1440s, expiry=3600s
+2020-05-09 22:53:22.047 UTC: I(TimingThread): timing uncertainty check: heuristic=-502.545, limit=550, max(|deltaT|)=0.704 degC, elapsed=1500s, expiry=3600s
+2020-05-09 22:54:22.953 UTC: I(TimingThread): timing uncertainty check: heuristic=-546.071, limit=550, max(|deltaT|)=0.733 degC, elapsed=1560s, expiry=3600s
+2020-05-09 22:55:23.863 UTC: I(TimingThread): timing uncertainty check: heuristic=-591.437, limit=550, max(|deltaT|)=0.770 degC, elapsed=1620s, expiry=3600s
+2020-05-09 22:55:23.871 UTC: I(TimingThread|freeRun): exit
+2020-05-09 22:55:23.883 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 22:55:28.953 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 22:55:39.902 UTC: I(TimingThread|ClockValidator): GNSS time valid after 10969ms
+2020-05-09 22:55:40.007 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.097s
+2020-05-09 22:55:40.018 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +78 counts (+4.1 us), drift ~ +8.8 us/hour (measured over 1660 s)
+2020-05-09 22:55:40.026 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.047 Hz
+2020-05-09 22:56:34.995 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.805 Hz, converge time = 55 s
+2020-05-09 22:56:35.003 UTC: I(TimingThread|discipline): exit
+2020-05-09 22:56:35.014 UTC: I(TimingThread|freeRun): enter
+2020-05-09 22:57:35.768 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.031, limit=550, max(|deltaT|)=0.037 degC, elapsed=60s, expiry=7200s
+2020-05-09 22:58:36.663 UTC: I(TimingThread): timing uncertainty check: heuristic=-3.718, limit=550, max(|deltaT|)=0.066 degC, elapsed=120s, expiry=6300s
+2020-05-09 22:59:37.706 UTC: I(TimingThread): timing uncertainty check: heuristic=-7.989, limit=550, max(|deltaT|)=0.087 degC, elapsed=180s, expiry=6300s
+2020-05-09 23:00:38.592 UTC: I(TimingThread): timing uncertainty check: heuristic=-14.037, limit=550, max(|deltaT|)=0.116 degC, elapsed=240s, expiry=6300s
+2020-05-09 23:01:39.678 UTC: I(TimingThread): timing uncertainty check: heuristic=-21.845, limit=550, max(|deltaT|)=0.147 degC, elapsed=300s, expiry=5400s
+2020-05-09 23:02:40.542 UTC: I(TimingThread): timing uncertainty check: heuristic=-31.312, limit=550, max(|deltaT|)=0.177 degC, elapsed=360s, expiry=5400s
+2020-05-09 23:03:41.628 UTC: I(TimingThread): timing uncertainty check: heuristic=-42.648, limit=550, max(|deltaT|)=0.206 degC, elapsed=420s, expiry=5400s
+2020-05-09 23:04:41.975 UTC: I(TimingThread): timing uncertainty check: heuristic=-55.574, limit=550, max(|deltaT|)=0.240 degC, elapsed=480s, expiry=5400s
+2020-05-09 23:05:42.870 UTC: I(TimingThread): timing uncertainty check: heuristic=-70.451, limit=550, max(|deltaT|)=0.262 degC, elapsed=540s, expiry=4500s
+2020-05-09 23:06:43.760 UTC: I(TimingThread): timing uncertainty check: heuristic=-87.132, limit=550, max(|deltaT|)=0.294 degC, elapsed=600s, expiry=4500s
+2020-05-09 23:07:44.721 UTC: I(TimingThread): timing uncertainty check: heuristic=-105.592, limit=550, max(|deltaT|)=0.322 degC, elapsed=660s, expiry=4500s
+2020-05-09 23:08:45.612 UTC: I(TimingThread): timing uncertainty check: heuristic=-125.896, limit=550, max(|deltaT|)=0.352 degC, elapsed=720s, expiry=4500s
+2020-05-09 23:09:46.710 UTC: I(TimingThread): timing uncertainty check: heuristic=-148.020, limit=550, max(|deltaT|)=0.381 degC, elapsed=780s, expiry=4500s
+2020-05-09 23:10:47.589 UTC: I(TimingThread): timing uncertainty check: heuristic=-171.914, limit=550, max(|deltaT|)=0.408 degC, elapsed=840s, expiry=4500s
+2020-05-09 23:11:48.667 UTC: I(TimingThread): timing uncertainty check: heuristic=-197.735, limit=550, max(|deltaT|)=0.449 degC, elapsed=900s, expiry=4500s
+2020-05-09 23:12:49.089 UTC: I(TimingThread): timing uncertainty check: heuristic=-224.936, limit=550, max(|deltaT|)=0.469 degC, elapsed=960s, expiry=4500s
+2020-05-09 23:13:50.589 UTC: I(TimingThread): timing uncertainty check: heuristic=-254.835, limit=550, max(|deltaT|)=0.503 degC, elapsed=1020s, expiry=3600s
+2020-05-09 23:14:50.842 UTC: I(TimingThread): timing uncertainty check: heuristic=-285.600, limit=550, max(|deltaT|)=0.530 degC, elapsed=1080s, expiry=3600s
+2020-05-09 23:15:51.725 UTC: I(TimingThread): timing uncertainty check: heuristic=-318.726, limit=550, max(|deltaT|)=0.564 degC, elapsed=1140s, expiry=3600s
+2020-05-09 23:16:52.608 UTC: I(TimingThread): timing uncertainty check: heuristic=-353.689, limit=550, max(|deltaT|)=0.590 degC, elapsed=1200s, expiry=3600s
+2020-05-09 23:17:53.635 UTC: I(TimingThread): timing uncertainty check: heuristic=-390.514, limit=550, max(|deltaT|)=0.623 degC, elapsed=1260s, expiry=3600s
+2020-05-09 23:18:54.721 UTC: I(TimingThread): timing uncertainty check: heuristic=-429.150, limit=550, max(|deltaT|)=0.649 degC, elapsed=1320s, expiry=3600s
+2020-05-09 23:19:55.604 UTC: I(TimingThread): timing uncertainty check: heuristic=-469.559, limit=550, max(|deltaT|)=0.680 degC, elapsed=1380s, expiry=3600s
+2020-05-09 23:20:56.714 UTC: I(TimingThread): timing uncertainty check: heuristic=-511.875, limit=550, max(|deltaT|)=0.717 degC, elapsed=1440s, expiry=3600s
+2020-05-09 23:21:57.608 UTC: I(TimingThread): timing uncertainty check: heuristic=-555.940, limit=550, max(|deltaT|)=0.746 degC, elapsed=1500s, expiry=3600s
+2020-05-09 23:21:57.616 UTC: I(TimingThread|freeRun): exit
+2020-05-09 23:21:57.628 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 23:22:00.909 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 23:22:03.909 UTC: I(TimingThread|ClockValidator): GNSS time valid after 3005ms
+2020-05-09 23:22:03.917 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=29, residual=-19159 counts (-997.865 us)
+2020-05-09 23:22:04.909 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=28, residual=-19159 counts (-997.865 us)
+2020-05-09 23:22:05.909 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=27, residual=-19159 counts (-997.865 us)
+2020-05-09 23:22:06.909 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=26, residual=-19159 counts (-997.865 us)
+2020-05-09 23:22:07.909 UTC: I(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off, remaining=25, residual=-19159 counts (-997.865 us)
+2020-05-09 23:22:08.909 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 23:22:09.909 UTC: I(TimingThread|ClockValidator): GNSS time valid after 1002ms
+2020-05-09 23:22:09.921 UTC: W(TimingThread|ClockValidator): PGFW-767: FPGA clock jamset hold-off abort
+2020-05-09 23:22:10.023 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.091s
+2020-05-09 23:22:10.030 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +41 counts (+2.1 us), drift ~ +5.0 us/hour (measured over 1535 s)
+2020-05-09 23:22:10.042 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.027 Hz
+2020-05-09 23:23:00.995 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.778 Hz, converge time = 51 s
+2020-05-09 23:23:01.003 UTC: I(TimingThread|discipline): exit
+2020-05-09 23:23:01.015 UTC: I(TimingThread|freeRun): enter
+2020-05-09 23:24:01.573 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.945, limit=550, max(|deltaT|)=0.034 degC, elapsed=60s, expiry=7200s
+2020-05-09 23:25:02.636 UTC: I(TimingThread): timing uncertainty check: heuristic=-3.615, limit=550, max(|deltaT|)=0.059 degC, elapsed=120s, expiry=7200s
+2020-05-09 23:26:03.730 UTC: I(TimingThread): timing uncertainty check: heuristic=-7.900, limit=550, max(|deltaT|)=0.088 degC, elapsed=180s, expiry=6300s
+2020-05-09 23:27:04.632 UTC: I(TimingThread): timing uncertainty check: heuristic=-13.898, limit=550, max(|deltaT|)=0.114 degC, elapsed=240s, expiry=6300s
+2020-05-09 23:28:05.546 UTC: I(TimingThread): timing uncertainty check: heuristic=-21.690, limit=550, max(|deltaT|)=0.146 degC, elapsed=300s, expiry=5400s
+2020-05-09 23:29:06.659 UTC: I(TimingThread): timing uncertainty check: heuristic=-31.277, limit=550, max(|deltaT|)=0.175 degC, elapsed=360s, expiry=5400s
+2020-05-09 23:30:07.558 UTC: I(TimingThread): timing uncertainty check: heuristic=-42.620, limit=550, max(|deltaT|)=0.205 degC, elapsed=420s, expiry=5400s
+2020-05-09 23:31:07.843 UTC: I(TimingThread): timing uncertainty check: heuristic=-55.545, limit=550, max(|deltaT|)=0.234 degC, elapsed=480s, expiry=5400s
+2020-05-09 23:32:08.749 UTC: I(TimingThread): timing uncertainty check: heuristic=-70.452, limit=550, max(|deltaT|)=0.266 degC, elapsed=540s, expiry=4500s
+2020-05-09 23:33:09.648 UTC: I(TimingThread): timing uncertainty check: heuristic=-87.142, limit=550, max(|deltaT|)=0.293 degC, elapsed=600s, expiry=4500s
+2020-05-09 23:34:10.718 UTC: I(TimingThread): timing uncertainty check: heuristic=-105.634, limit=550, max(|deltaT|)=0.320 degC, elapsed=660s, expiry=4500s
+2020-05-09 23:35:11.589 UTC: I(TimingThread): timing uncertainty check: heuristic=-125.867, limit=550, max(|deltaT|)=0.351 degC, elapsed=720s, expiry=4500s
+2020-05-09 23:36:12.659 UTC: I(TimingThread): timing uncertainty check: heuristic=-147.834, limit=550, max(|deltaT|)=0.376 degC, elapsed=780s, expiry=4500s
+2020-05-09 23:37:13.562 UTC: I(TimingThread): timing uncertainty check: heuristic=-171.534, limit=550, max(|deltaT|)=0.406 degC, elapsed=840s, expiry=4500s
+2020-05-09 23:38:14.659 UTC: I(TimingThread): timing uncertainty check: heuristic=-196.994, limit=550, max(|deltaT|)=0.436 degC, elapsed=900s, expiry=4500s
+2020-05-09 23:39:15.534 UTC: I(TimingThread): timing uncertainty check: heuristic=-224.158, limit=550, max(|deltaT|)=0.464 degC, elapsed=960s, expiry=4500s
+2020-05-09 23:40:15.874 UTC: I(TimingThread): timing uncertainty check: heuristic=-252.460, limit=550, max(|deltaT|)=0.491 degC, elapsed=1020s, expiry=4500s
+2020-05-09 23:41:16.757 UTC: I(TimingThread): timing uncertainty check: heuristic=-282.891, limit=550, max(|deltaT|)=0.520 degC, elapsed=1080s, expiry=3600s
+2020-05-09 23:42:17.644 UTC: I(TimingThread): timing uncertainty check: heuristic=-314.917, limit=550, max(|deltaT|)=0.548 degC, elapsed=1140s, expiry=3600s
+2020-05-09 23:43:18.608 UTC: I(TimingThread): timing uncertainty check: heuristic=-348.558, limit=550, max(|deltaT|)=0.566 degC, elapsed=1200s, expiry=3600s
+2020-05-09 23:44:19.694 UTC: I(TimingThread): timing uncertainty check: heuristic=-383.704, limit=550, max(|deltaT|)=0.593 degC, elapsed=1260s, expiry=3600s
+2020-05-09 23:45:20.569 UTC: I(TimingThread): timing uncertainty check: heuristic=-420.303, limit=550, max(|deltaT|)=0.619 degC, elapsed=1320s, expiry=3600s
+2020-05-09 23:46:21.648 UTC: I(TimingThread): timing uncertainty check: heuristic=-458.404, limit=550, max(|deltaT|)=0.641 degC, elapsed=1380s, expiry=3600s
+2020-05-09 23:47:22.065 UTC: I(TimingThread): timing uncertainty check: heuristic=-497.284, limit=550, max(|deltaT|)=0.660 degC, elapsed=1440s, expiry=3600s
+2020-05-09 23:48:22.948 UTC: I(TimingThread): timing uncertainty check: heuristic=-538.232, limit=550, max(|deltaT|)=0.688 degC, elapsed=1500s, expiry=3600s
+2020-05-09 23:49:23.827 UTC: I(TimingThread): timing uncertainty check: heuristic=-580.482, limit=550, max(|deltaT|)=0.710 degC, elapsed=1560s, expiry=3600s
+2020-05-09 23:49:23.835 UTC: I(TimingThread|freeRun): exit
+2020-05-09 23:49:23.851 UTC: I(TimingThread|discipline): enter, wait for PPS
+2020-05-09 23:49:27.909 UTC: I(TimingThread|ClockValidator): wait for valid GNSS time
+2020-05-09 23:49:29.905 UTC: I(TimingThread|ClockValidator): GNSS time valid after 2004ms
+2020-05-09 23:49:30.007 UTC: I(TimingThread|ClockValidator): jamset RTC to GNSS time, T_rtc-T_gnss=-0.094s
+2020-05-09 23:49:30.014 UTC: I(TimingThread): PLL: begin, VCXO tick residual (rel. GNSS) = +109 counts (+5.7 us), drift ~ +12.9 us/hour (measured over 1589 s)
+2020-05-09 23:49:30.026 UTC: I(TimingThread): PLL: compensate for clock acceleration: boost frequency offset by -0.069 Hz
+2020-05-09 23:50:25.995 UTC: I(TimingThread): PLL: end, VCXO frequency offset ~ +3.660 Hz, converge time = 56 s
+2020-05-09 23:50:26.003 UTC: I(TimingThread|discipline): exit
+2020-05-09 23:50:26.014 UTC: I(TimingThread|freeRun): enter
+2020-05-09 23:51:26.725 UTC: I(TimingThread): timing uncertainty check: heuristic=-0.295, limit=550, max(|deltaT|)=0.017 degC, elapsed=60s, expiry=7200s
+2020-05-09 23:52:27.639 UTC: I(TimingThread): timing uncertainty check: heuristic=-1.745, limit=550, max(|deltaT|)=0.037 degC, elapsed=120s, expiry=7200s
+2020-05-09 23:53:28.710 UTC: I(TimingThread): timing uncertainty check: heuristic=-4.255, limit=550, max(|deltaT|)=0.058 degC, elapsed=180s, expiry=7200s
+2020-05-09 23:54:29.600 UTC: I(TimingThread): timing uncertainty check: heuristic=-7.802, limit=550, max(|deltaT|)=0.072 degC, elapsed=240s, expiry=6300s
+2020-05-09 23:55:30.694 UTC: I(TimingThread): timing uncertainty check: heuristic=-12.451, limit=550, max(|deltaT|)=0.089 degC, elapsed=300s, expiry=6300s
+2020-05-09 23:56:31.585 UTC: I(TimingThread): timing uncertainty check: heuristic=-18.269, limit=550, max(|deltaT|)=0.110 degC, elapsed=360s, expiry=6300s
+2020-05-09 23:57:32.690 UTC: I(TimingThread): timing uncertainty check: heuristic=-25.124, limit=550, max(|deltaT|)=0.127 degC, elapsed=420s, expiry=5400s
+2020-05-09 23:58:33.585 UTC: I(TimingThread): timing uncertainty check: heuristic=-33.023, limit=550, max(|deltaT|)=0.144 degC, elapsed=480s, expiry=5400s
+2020-05-09 23:59:33.854 UTC: I(TimingThread): timing uncertainty check: heuristic=-41.829, limit=550, max(|deltaT|)=0.161 degC, elapsed=540s, expiry=5400s
diff --git a/tests/test_data/Pegasus-sample/Pegasus_SVC4/soh/2020/XX/KC01/VDT.D/XX.KC01..VDT.D.2020.129 b/tests/test_data/Pegasus-sample/Pegasus_SVC4/soh/2020/XX/KC01/VDT.D/XX.KC01..VDT.D.2020.129
new file mode 100755
index 0000000000000000000000000000000000000000..ab26b738bcab3c40a442d07d2eb282f52f03159b
Binary files /dev/null and b/tests/test_data/Pegasus-sample/Pegasus_SVC4/soh/2020/XX/KC01/VDT.D/XX.KC01..VDT.D.2020.129 differ
diff --git a/tests/test_data/Pegasus-sample/Pegasus_SVC4/soh/2020/XX/KC01/VDT.D/XX.KC01..VDT.D.2020.130 b/tests/test_data/Pegasus-sample/Pegasus_SVC4/soh/2020/XX/KC01/VDT.D/XX.KC01..VDT.D.2020.130
new file mode 100755
index 0000000000000000000000000000000000000000..1ecabad469337f0cbfa84cd363a7650635d5db30
Binary files /dev/null and b/tests/test_data/Pegasus-sample/Pegasus_SVC4/soh/2020/XX/KC01/VDT.D/XX.KC01..VDT.D.2020.130 differ
diff --git a/tests/test_data/Pegasus-sample/Pegasus_SVC4/soh/2020/XX/KC01/VM1.D/XX.KC01..VM1.D.2020.129 b/tests/test_data/Pegasus-sample/Pegasus_SVC4/soh/2020/XX/KC01/VM1.D/XX.KC01..VM1.D.2020.129
new file mode 100755
index 0000000000000000000000000000000000000000..a4675159a5a4e1f705a3ff44d8a8102edc438fa3
Binary files /dev/null and b/tests/test_data/Pegasus-sample/Pegasus_SVC4/soh/2020/XX/KC01/VM1.D/XX.KC01..VM1.D.2020.129 differ
diff --git a/tests/test_data/Pegasus-sample/Pegasus_SVC4/soh/2020/XX/KC01/VM1.D/XX.KC01..VM1.D.2020.130 b/tests/test_data/Pegasus-sample/Pegasus_SVC4/soh/2020/XX/KC01/VM1.D/XX.KC01..VM1.D.2020.130
new file mode 100755
index 0000000000000000000000000000000000000000..19706a82ca889a510d1168981cbd130a51204063
Binary files /dev/null and b/tests/test_data/Pegasus-sample/Pegasus_SVC4/soh/2020/XX/KC01/VM1.D/XX.KC01..VM1.D.2020.130 differ
diff --git a/tests/test_data/Pegasus-sample/Pegasus_SVC4/waveform/2020/XX/KC01/HH1.D/XX.KC01..HH1.D.2020.129 b/tests/test_data/Pegasus-sample/Pegasus_SVC4/waveform/2020/XX/KC01/HH1.D/XX.KC01..HH1.D.2020.129
new file mode 100755
index 0000000000000000000000000000000000000000..74b2148b2c90799b9ba09c872af5a7e0b297d268
Binary files /dev/null and b/tests/test_data/Pegasus-sample/Pegasus_SVC4/waveform/2020/XX/KC01/HH1.D/XX.KC01..HH1.D.2020.129 differ
diff --git a/tests/test_data/Pegasus-sample/Pegasus_SVC4/waveform/2020/XX/KC01/HH1.D/XX.KC01..HH1.D.2020.130 b/tests/test_data/Pegasus-sample/Pegasus_SVC4/waveform/2020/XX/KC01/HH1.D/XX.KC01..HH1.D.2020.130
new file mode 100755
index 0000000000000000000000000000000000000000..2ba16c03d3f13db679bc85dae0c3461c64ef3f79
Binary files /dev/null and b/tests/test_data/Pegasus-sample/Pegasus_SVC4/waveform/2020/XX/KC01/HH1.D/XX.KC01..HH1.D.2020.130 differ
diff --git a/tests/test_data/Q330-sample/day_vols_AX08/AX08.XA..HHE.2021.186 b/tests/test_data/Q330-sample/day_vols_AX08/AX08.XA..HHE.2021.186
new file mode 100644
index 0000000000000000000000000000000000000000..ce2fcef9e05308d0755ff0e5e58b2763fea7fa44
Binary files /dev/null and b/tests/test_data/Q330-sample/day_vols_AX08/AX08.XA..HHE.2021.186 differ
diff --git a/tests/test_data/Q330-sample/day_vols_AX08/AX08.XA..LHE.2021.186 b/tests/test_data/Q330-sample/day_vols_AX08/AX08.XA..LHE.2021.186
new file mode 100644
index 0000000000000000000000000000000000000000..599c9f5b66001ecc9e2ee6895378309eb1edd2a7
Binary files /dev/null and b/tests/test_data/Q330-sample/day_vols_AX08/AX08.XA..LHE.2021.186 differ
diff --git a/tests/test_data/Q330-sample/day_vols_AX08/AX08.XA..LOG.2021.186 b/tests/test_data/Q330-sample/day_vols_AX08/AX08.XA..LOG.2021.186
new file mode 100644
index 0000000000000000000000000000000000000000..662b5799ebb3c74219a6f7e033803e7c7460f4a4
Binary files /dev/null and b/tests/test_data/Q330-sample/day_vols_AX08/AX08.XA..LOG.2021.186 differ
diff --git a/tests/test_data/Q330-sample/day_vols_AX08/AX08.XA..VKI.2021.186 b/tests/test_data/Q330-sample/day_vols_AX08/AX08.XA..VKI.2021.186
new file mode 100644
index 0000000000000000000000000000000000000000..9f7705514f9dbd39fd04f5627e95ffe2e50e5419
Binary files /dev/null and b/tests/test_data/Q330-sample/day_vols_AX08/AX08.XA..VKI.2021.186 differ
diff --git a/tests/test_data/Q330-sample/day_vols_AX08/AX08.XA..VM1.2021.186 b/tests/test_data/Q330-sample/day_vols_AX08/AX08.XA..VM1.2021.186
new file mode 100644
index 0000000000000000000000000000000000000000..238c34933c3a7145da9edb64df825ba427710887
Binary files /dev/null and b/tests/test_data/Q330-sample/day_vols_AX08/AX08.XA..VM1.2021.186 differ
diff --git a/tests/test_data/RT130-sample/2017149.92EB/2017150/92EB/0/000000000_00000000 b/tests/test_data/RT130-sample/2017149.92EB/2017150/92EB/0/000000000_00000000
new file mode 100755
index 0000000000000000000000000000000000000000..d44549b83498f07e8de8215b60f044be040d0541
Binary files /dev/null and b/tests/test_data/RT130-sample/2017149.92EB/2017150/92EB/0/000000000_00000000 differ
diff --git a/tests/test_data/RT130-sample/2017149.92EB/2017150/92EB/1/000000015_0036EE80 b/tests/test_data/RT130-sample/2017149.92EB/2017150/92EB/1/000000015_0036EE80
new file mode 100755
index 0000000000000000000000000000000000000000..3ca6672681384b8680c0d0e98004c9261f6de58d
Binary files /dev/null and b/tests/test_data/RT130-sample/2017149.92EB/2017150/92EB/1/000000015_0036EE80 differ
diff --git a/tests/test_data/RT130-sample/2017149.92EB/2017150/92EB/1/010000015_0036EE80 b/tests/test_data/RT130-sample/2017149.92EB/2017150/92EB/1/010000015_0036EE80
new file mode 100755
index 0000000000000000000000000000000000000000..ab9f532cf1aa91a9c7348a1d8aaa96bc1766c9cc
Binary files /dev/null and b/tests/test_data/RT130-sample/2017149.92EB/2017150/92EB/1/010000015_0036EE80 differ
diff --git a/tests/test_data/RT130-sample/2017149.92EB/2017150/92EB/9/054910000_013EE8A0 b/tests/test_data/RT130-sample/2017149.92EB/2017150/92EB/9/054910000_013EE8A0
new file mode 100755
index 0000000000000000000000000000000000000000..d852342e00b443c59b2293cc5624bb6e3cffa268
Binary files /dev/null and b/tests/test_data/RT130-sample/2017149.92EB/2017150/92EB/9/054910000_013EE8A0 differ