Как прочитать код состояния ntptime?
Со страницы расширенной конфигурации NTP есть следующий текст
windl@elf:~ > ntptime
ntp_gettime() returns code 0 (OK)
time bd6b9cf2.9c3c6c60 Thu, Sep 14 2000 20:52:34.610, (.610297702),
maximum error 3480 us, estimated error 0 us.
ntp_adjtime() returns code 0 (OK)
modes 0x0 (),
offset 1.658 us, frequency 17.346 ppm, interval 128 s,
maximum error 3480 us, estimated error 0 us,
status 0x2107 (PLL,PPSFREQ,PPSTIME,PPSSIGNAL,NANO),
time constant 6, precision 3.530 us, tolerance 496 ppm,
pps frequency 17.346 ppm, stability 0.016 ppm, jitter 1.378 us,
intervals 57, jitter exceeded 29, stability exceeded 0, errors 0.
С последующим The first thing you should look at is the status (0x2107 in our case). The magic words in parentheses explain the meaning of the individual bits.
Они перечисляют 5-битные позиции, но предоставляют 4-значный шестнадцатеричный код состояния, который преобразуется в 16-битные. Какие биты представляют ключевые слова в скобках и что означают другие биты?
1 ответ
Вот список кодов состояния NTP
STA_PLL 0x0001 enable PLL updates (rw)
STA_PPSFREQ 0x0002 enable PPS freq discipline (rw)
STA_PPSTIME 0x0004 enable PPS time discipline (rw)
STA_FLL 0x0008 select frequency-lock mode (rw)
STA_INS 0x0010 insert leap (rw)
STA_DEL 0x0020 delete leap (rw)
STA_UNSYNC 0x0040 clock unsynchronized (rw)
STA_FREQHOLD 0x0080 hold frequency (rw)
STA_PPSSIGNAL 0x0100 PPS signal present (ro)
STA_PPSJITTER 0x0200 PPS signal jitter exceeded (ro)
STA_PPSWANDER 0x0400 PPS signal wander exceeded (ro)
STA_PPSERROR 0x0800 PPS signal calibration error (ro)
STA_CLOCKERR 0x1000 clock hardware fault (ro)
STA_NANO 0x2000 resolution (0 = us, 1 = ns) (ro)
Источник: ftp://ftp.ripe.net/test-traffic/ROOT/libDelay/Delay.h
Из приведенного вами примера: status 0x2107 (PLL,PPSFREQ,PPSTIME,PPSSIGNAL,NANO)
, Логически 'ИЛИ' биты состояния кодируют вместе 0x0001 | 0x0002 | 0x0004 | 0x0100 | 0x2000 и результат 0x2107.
Некоторые дополнительные описания кодов состояния находятся здесь:
http://man7.org/linux/man-pages/man2/adjtimex.2.html