You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.2 KiB
85 lines
2.2 KiB
#!/bin/sh |
|
# --- SDE-COPYRIGHT-NOTE-BEGIN --- |
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. |
|
# |
|
# Filename: package/.../clockspeed/clockctl.sh |
|
# Copyright (C) 2008 - 2012 The OpenSDE Project |
|
# |
|
# More information can be found in the files COPYING and README. |
|
# |
|
# This program is free software; you can redistribute it and/or modify |
|
# it under the terms of the GNU General Public License as published by |
|
# the Free Software Foundation; version 2 of the License. A copy of the |
|
# GNU General Public License can be found in the file COPYING. |
|
# --- SDE-COPYRIGHT-NOTE-END --- |
|
|
|
# Based on: http://www.thedjbway.org/clockspeed/clockctl |
|
# interface to djb clockspeed (0.62) |
|
# wcm, 2003.11.26 - 2003.11.26 |
|
# === |
|
|
|
die() { |
|
echo "$0: $*" >&2 |
|
exit 1 |
|
} |
|
|
|
# read configuration: |
|
if [ -r /etc/conf/clockspeed ] ; then |
|
. /etc/conf/clockspeed |
|
else |
|
die "configuration error: unable to read /etc/conf/clockspeed" |
|
fi |
|
|
|
# clock_pick function: |
|
clock_pick() { |
|
case "${CLOCK_TYPE}" in |
|
ntp|NTP) D_bindir/sntpclock "${CLOCK_IP}" |
|
;; |
|
tai|TAI) D_bindir/taiclock "${CLOCK_IP}" |
|
;; |
|
*) |
|
die "configuration error: CLOCK_TYPE not recognized" |
|
;; |
|
esac |
|
} |
|
|
|
|
|
# process command: |
|
case "$1" in |
|
a|atto) |
|
echo "Viewing current attoseconds in hardware tick:" |
|
D_bindir/clockview < /var/state/clockspeed/atto |
|
;; |
|
m|mark) |
|
[ -p /var/state/clockspeed/adjust ] || |
|
die "Cannot obtain new calibration mark (clockspeed running?)" |
|
echo "Obtaining new calibration mark from master server at ${CLOCK_IP}:" |
|
clock_pick | tee /var/state/clockspeed/adjust | D_bindir/clockview |
|
;; |
|
s|sync) |
|
echo "Setting system clock with master server at ${CLOCK_IP}:" |
|
clock_pick | D_bindir/clockadd && \ |
|
clock_pick | D_bindir/clockview |
|
;; |
|
v|view) |
|
echo "Checking system clock against master server at ${CLOCK_IP} (clockview):" |
|
clock_pick | D_bindir/clockview |
|
;; |
|
h|help) |
|
cat <<-EOT |
|
clockspeed control: |
|
atto -- inspect current "attoseconds" |
|
mark -- obtain new calibration mark for clockspeed |
|
sync -- set the system clock with master time server |
|
view -- check system clock against master time server |
|
help -- this screen |
|
EOT |
|
exit 0 |
|
;; |
|
*) |
|
echo "Usage: $0 [ a|atto | m|mark | s|sync | v|view | h|help ]" |
|
exit 1 |
|
;; |
|
esac |
|
|
|
### that's all, folks!
|
|
|