EnglishFrenchSpanish

OnWorks favicon

radioclkd - Online in the Cloud

Run radioclkd in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command radioclkd that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


radioclkd - decode time from radio clock(s) attached to serial port

SYNOPSIS


radioclkd [ -tphv ] device

DESCRIPTION


radioclkd is a simple daemon that decodes the time from a radio clock device attached to
the DCD and/or CTS and/or DSR status lines of serial port of a computer. It is able to
decode the DCF77, MSF and WWVB time signals. The received time is then sent to ntpd using
the shared memory reference clock driver. The type of time signal being received is
automatically determined. If you have problems getting the program to work using
interrupts, the following command is known to help in many instances. If this fails you
can always fall back to the polling method.

stty crtscts < /dev/ttyS0

Details on a cheap and easy to make device for receiving these time signals can be found
at

http://www.buzzard.org.uk/jonathan/radioclock.html

OPTIONS


-p, --poll
Poll the serial port for changes of status in the DCD, CTS and DSR lines rather
than use interrupts

-t, --test
Enter test mode printing the length of each pulse and the decoded time at the end
of each minute on stdout. The time is not sent to ntpd using the shared memory
reference clock driver in this mode.

-h, --help
Print a short synopsis of the command line arguments.

-v, --version
Print the version number and then exit.

CONFIGURATION


Configuration is very simple. Use server 127.127.28.0 in your ntp.conf file for a clock
attached to the DCD line, server 127.127.28.1 for a clock attached to the CTS line, and
server 127.127.28.2 for a clock attached to the DSR line. You will also want to use a
fudge line on the server to change the displayed refid.

CALIBRATION


Due to delays in the propogation of the radio signal, it's processing by the receiver
board and the latency of the operating system the time decoded by the receiver will be
slightly offset from actual UTC. Typically this delay will be less than 20ms, so unless
you are very fussy about the time, or are using more than one time source, such as a GPS
unit, other radio clock or NTP server on the internet you can ignore this section.

The basics of the calibration procedure is to determine the average offset of the radio
receiver, and use the time1 fudge factor in ntp.conf to bring the receiver as close as
possible to the real time. The easiest way of determining the offset of the radio
receivers time is to run it against a reference clock that does not suffer from these
problems. The best reference clock would be a GPS unit. This might be a GPS unit that you
don't wish to dedicate to time keeping, or a borrowed unit. If this is not possible you
could use a stratum 1 server on the internet.

The method of calibration is quite simple. We attach the calibration reference clock to
the computer and fudge the stratum of our radio receiver up to say 5. This way we can be
sure that ntpd will lock onto the calibration reference clock. We need to make sure that
ntpd is configured to collect peer statistics so make sure we have some lines similar to
these in ntp.conf

statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen peerstats file peerstats type day enable

After that we restart ntpd and leave it running for several hours. We can then make a copy
the peerstats file. The trick is to remove all the entries before ntpd has come into close
aggrement with the calibration reference clock and then run the peer.awk script in the
scripts/stats directory of the ntp distribution. This will give us a mean offset of our
radio receivers in milliseconds. This can them be converted into seconds and added to the
fudge line in ntp.conf for our receiver.

The final step is to remove the change in stratum level for our reference clock and
restart ntpd. If you move the receiver any significant distance then you will need to
repeat this calibration step. Across the room or around the current building will be fine,
but if you move it to the next town/city then you will need to recalibrate.

IN USE


The version of ntpd that comes with most Linux distributions does not have the shared
memory reference clock driver compiled in by default. This can be identified by checking
the logs after ntpd is started. If the shared memory reference clock driver is not
compiled in then the logs will contain warnings about the reference clock driver not being
recognized. To compile ntpd with the shared memory reference clock driver you must specify
the --enable-SHM option when running configure.

Neither radioclkd or ntpd ever mark the shared memory segment for deletion. If you stop
using the shared memory reference clock driver therefore any shared memory segments will
persist until you reboot or manually delete the segment using ipcrm. The segments can be
identified as the one with key 0x4e545030, 0x4e545031 or 0x4e545032 using the ipcs
command.

Use radioclkd online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    unitedrpms
    unitedrpms
    Join us in Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    Enable the URPMS repository in your
    system -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Download unitedrpms
  • 2
    Boost C++ Libraries
    Boost C++ Libraries
    Boost provides free portable
    peer-reviewed C++ libraries. The
    emphasis is on portable libraries which
    work well with the C++ Standard Library.
    See http://www.bo...
    Download Boost C++ Libraries
  • 3
    VirtualGL
    VirtualGL
    VirtualGL redirects 3D commands from a
    Unix/Linux OpenGL application onto a
    server-side GPU and converts the
    rendered 3D images into a video stream
    with which ...
    Download VirtualGL
  • 4
    libusb
    libusb
    Library to enable user space
    application programs to communicate with
    USB devices. Audience: Developers, End
    Users/Desktop. Programming Language: C.
    Categories...
    Download libusb
  • 5
    SWIG
    SWIG
    SWIG is a software development tool
    that connects programs written in C and
    C++ with a variety of high-level
    programming languages. SWIG is used with
    different...
    Download SWIG
  • 6
    WooCommerce Nextjs React Theme
    WooCommerce Nextjs React Theme
    React WooCommerce theme, built with
    Next JS, Webpack, Babel, Node, and
    Express, using GraphQL and Apollo
    Client. WooCommerce Store in React(
    contains: Products...
    Download WooCommerce Nextjs React Theme
  • More »

Linux commands

Ad