Annotation of embedaddon/ntp/scripts/calc_tickadj.in, revision 1.1.1.1

1.1       misho       1: #! @PATH_PERL@
                      2: #
                      3: # drift of 104.8576 -> +1 tick.  Base  of 10000 ticks.
                      4: #
                      5: # 970306 HMS Deal with nanoseconds.  Fix sign of adjustments.
                      6: 
                      7: $df="/etc/ntp.drift";
                      8: # Assumes a 100Hz box with "tick" of 10000
                      9: # Someday, we might call "tickadj" for better values...
                     10: $base=10000;   # tick: 1,000,000 / HZ
                     11: $cvt=104.8576; # 2 ** 20 / $base
                     12: $v1=0.;
                     13: $v2="";
                     14: 
                     15: if (open(DF, $df))
                     16:   {
                     17:     if ($_=<DF>)
                     18:       {
                     19:         ($v1, $v2) = split;
                     20:       }
                     21: 
                     22:     while ($v1 < 0)
                     23:       {
                     24:         $v1 += $cvt;
                     25:         $base--;
                     26:       }
                     27: 
                     28:     while ($v1 > $cvt)
                     29:       {
                     30:         $v1 -= $cvt;
                     31:         $base++;
                     32:       }
                     33:   }
                     34: 
                     35: printf("%.3f (drift)\n", $v1);
                     36: 
                     37: printf("%d usec; %d nsec\n", $base, ($base + ($v1/$cvt)) * 1000);
                     38: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>