Annotation of embedaddon/ntp/scripts/calc_tickadj.in, revision 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>