3 # drift of 104.8576 -> +1 tick. Base of 10000 ticks.
5 # 970306 HMS Deal with nanoseconds. Fix sign of adjustments.
9 exit run(@ARGV) unless caller;
13 if (!processOptions(\@_, $opts)) {
16 my $drift_file = $opts->{'drift-file'};
17 my $tick = $opts->{'tick'};
21 if (defined $fl && $fl =~ /(?:KERNEL|PRESET)?\s*tick\s+=\s+(\d+)/) {
25 die "Could not get tick value, try manually with -t/--tick\n";
29 # Drift file is in PPM where Milion is actually 2**20
30 my $cvt = (2 ** 20) / $tick;
33 open my $dfh, $drift_file or die "Could not open $drift_file: $!\n";
38 die "Invalid drift file value <$drift>" if $drift !~ /[+-]?\d+\.?[0-9]+/;
45 while ($drift > $cvt) {
50 printf "%.3f (drift)\n", $drift;
51 printf "%d usec; %d nsec\n", $tick, ($tick + ($drift/$cvt)) * 1000;