I have written a small daemon that attaches to a Thunderbolt and acts as a
client for Lady Heather. In addition, if specified it will provide data to
NTP through the shared memory driver. It currently compiles on FreeBSD,
and OS X.

Available at <http://ralphsmith.org/~ralph/thunderbolt.tar.gz>

It is in a very early, rough stage at the moment, but I thought I would
provide it for anyone that is interested. There are two programs: tboltd,
and gpsdclient.

First tboltd:
Usage: tboltd [-t <tty>] [-v] [-p <port>] [-u <unit>] [-d]
  -t <tty>:  Specify Thunderbolt serial port. Default 'cuau1'.
  -v:        Increase verbosity level.
  -p <port>: UDP port to listen for client connections. Default 45000.
  -u <unit>: Unit number for NTP shared memory driver. Default to none
  -d:        Do not detach and run in daemon mode.

Some notes:
- tboltd will currently accept as many clients as memory allows.
- tboltd currently does not buffer requests from clients. Multiple clients
risk having commands interleaved.
- Logging needs to be implemented properly
- tboltd blocks when there is no activity on the thunderbolt or client. On
a Net4501 (133 MHz 486 equivalent), with 3 clients (1 Heather + 2
gpsdclient) it takes less than 1% CPU.
- Likely to be bugs.
- I invoke it on my Net4501 as "tboltd -p 45000 -t cuau1 -u 0"
- Corresponding ntp.conf entry
  # Use shared memory
  tos mindist 0.030
  server minpoll 4 maxpoll 4 prefer
  fudge time1 0.0275 refid GPS

Second: gpsdclient.
gpsdclient will attach to tboltd or gpsd, receive Thunderbold TSIP
packets, and drive an NTP shared memory segment.
Usage: ./gpsdclient [-g] [-u <unit>] [-p <port>] host
- The -g flag will sent the command to gpsd to put it in super-raw mode to
deliver TSIP
- Currently not configured to detach and run as a daemon, will fix that
when I get around to it.

This needs some cleanup and reorganization, but I thought some of you
might be interested. Any comments or suggestions please let me know.
Ralph Smith (AB4RS)

time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

Reply via email to