168 lines
4.3 KiB
Plaintext
168 lines
4.3 KiB
Plaintext
|
#
|
||
|
# For a description of the syntax of this configuration file,
|
||
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||
|
#
|
||
|
|
||
|
config NETUTILS_PTPD
|
||
|
bool "PTPD client/server"
|
||
|
default n
|
||
|
depends on NET_IPv4
|
||
|
depends on NET_IGMP
|
||
|
depends on NET_UDP
|
||
|
---help---
|
||
|
Build a minimal implementation of IEEE-1588 precision time protocol.
|
||
|
Uses system gettimeofday() and adjtime() calls to synchronize clock
|
||
|
with a master clock through network, or to provide a master clock to
|
||
|
other systems.
|
||
|
|
||
|
if NETUTILS_PTPD
|
||
|
|
||
|
config NETUTILS_PTPD_DEBUG
|
||
|
bool "Enable PTP debug messages"
|
||
|
default n
|
||
|
depends on DEBUG_INFO
|
||
|
---help---
|
||
|
Enable PTP debug messages even if CONFIG_DEBUG_NET_INFO is not enabled.
|
||
|
|
||
|
config NETUTILS_PTPD_CLIENT
|
||
|
bool "Enable client support"
|
||
|
default y
|
||
|
---help---
|
||
|
Act as a PTP client, synchronizing the NuttX clock to a remote master
|
||
|
clock.
|
||
|
|
||
|
config NETUTILS_PTPD_SERVER
|
||
|
bool "Enable server support"
|
||
|
default n
|
||
|
---help---
|
||
|
Act as a PTP server, providing NuttX clock time to other systems.
|
||
|
|
||
|
Both server and client can be simultaneously enabled. NuttX will then
|
||
|
synchronize to a higher priority master clock, or act as a master
|
||
|
clock itself if it has the highest priority.
|
||
|
Refer to Best Master Clock algorithm in IEEE-1588 for details.
|
||
|
|
||
|
config NETUTILS_PTPD_STACKSIZE
|
||
|
int "PTP daemon stack stack size"
|
||
|
default DEFAULT_TASK_STACKSIZE
|
||
|
|
||
|
config NETUTILS_PTPD_SERVERPRIO
|
||
|
int "PTP daemon priority"
|
||
|
default 100
|
||
|
|
||
|
config NETUTILS_PTPD_DOMAIN
|
||
|
int "PTP domain selection"
|
||
|
default 0
|
||
|
range 0 127
|
||
|
---help---
|
||
|
Set PTP domain to participate in. Default domain is 0, other domains
|
||
|
can be used to isolate reference clocks from each other.
|
||
|
|
||
|
if NETUTILS_PTPD_SERVER
|
||
|
|
||
|
config NETUTILS_PTPD_PRIORITY1
|
||
|
int "PTP server priority1"
|
||
|
default 128
|
||
|
range 0 255
|
||
|
---help---
|
||
|
Set clock priority to announce when acting as a PTP server.
|
||
|
Lower value is higher priority.
|
||
|
|
||
|
A higher priority1 clock will be selected without regard to announced
|
||
|
clock quality fields.
|
||
|
Refer to Best Master Clock algorithm in IEEE-1588 for details.
|
||
|
|
||
|
config NETUTILS_PTPD_PRIORITY2
|
||
|
int "PTP server priority2"
|
||
|
default 128
|
||
|
range 0 255
|
||
|
---help---
|
||
|
Set clock subpriority to announce when acting as a PTP server.
|
||
|
This will distinguish between two clocks that are equivalent in
|
||
|
priority1, class and accuracy values.
|
||
|
Lower value is higher priority.
|
||
|
|
||
|
config NETUTILS_PTPD_CLASS
|
||
|
int "PTP server class"
|
||
|
default 248
|
||
|
range 0 255
|
||
|
---help---
|
||
|
Set master clock class to announce when acting as a PTP server.
|
||
|
Lower value means higher quality clock source.
|
||
|
248 is the default for unknown class.
|
||
|
|
||
|
config NETUTILS_PTPD_ACCURACY
|
||
|
int "PTP server accuracy"
|
||
|
default 254
|
||
|
range 0 255
|
||
|
---help---
|
||
|
Set master clock accuracy to announce when acting as a PTP server.
|
||
|
Logarithmic scale is defined in IEEE-1588:
|
||
|
32: +- 25 ns
|
||
|
33: +- 100 ns
|
||
|
34: +- 250 ns
|
||
|
35: +- 1 us
|
||
|
36: +- 2.5 us
|
||
|
37: +- 10 us
|
||
|
38: +- 25 us
|
||
|
39: +- 100 us
|
||
|
40: +- 250 us
|
||
|
41: +- 1 ms
|
||
|
42: +- 2.5 ms
|
||
|
43: +- 10 ms
|
||
|
44: +- 25 ms
|
||
|
45: +- 100 ms
|
||
|
46: +- 250 ms
|
||
|
47: +- 1 s
|
||
|
48: +- 10 s
|
||
|
49: +- more than 10 s
|
||
|
254: Unknown
|
||
|
|
||
|
config NETUTILS_PTPD_CLOCKSOURCE
|
||
|
int "PTP server clock source type"
|
||
|
default 160
|
||
|
range 0 255
|
||
|
---help---
|
||
|
Set clock source type to announce when acting as a PTP server.
|
||
|
Common values:
|
||
|
32: GPS
|
||
|
64: PTP
|
||
|
80: NTP
|
||
|
144: Other
|
||
|
160: Internal oscillator
|
||
|
|
||
|
config NETUTILS_PTPD_SYNC_INTERVAL_MSEC
|
||
|
int "PTP server sync transmit interval (ms)"
|
||
|
default 1000
|
||
|
---help---
|
||
|
How often to transmit sync packets in server mode.
|
||
|
|
||
|
config NETUTILS_PTPD_ANNOUNCE_INTERVAL_MSEC
|
||
|
int "PTP server announce transmit interval (ms)"
|
||
|
default 10000
|
||
|
---help---
|
||
|
How often to transmit announce packets in server mode.
|
||
|
|
||
|
endif # NETUTILS_PTPD_SERVER
|
||
|
|
||
|
if NETUTILS_PTPD_CLIENT
|
||
|
|
||
|
config NETUTILS_PTPD_TIMEOUT_MS
|
||
|
int "PTP client timeout for changing clock source (ms)"
|
||
|
default 60000
|
||
|
---help---
|
||
|
If no packets are being received from currently chosen clock source,
|
||
|
fall back to next best clock source after this many seconds.
|
||
|
|
||
|
config NETUTILS_PTPD_SETTIME_THRESHOLD_MS
|
||
|
int "PTP client threshold for changing system time (ms)"
|
||
|
default 1000
|
||
|
---help---
|
||
|
If difference between local and remote clock exceeds this threshold,
|
||
|
time is reset with settimeofday() instead of changing the rate with
|
||
|
adjtime().
|
||
|
|
||
|
endif # NETUTILS_PTPD_CLIENT
|
||
|
|
||
|
endif # NETUTILS_PTPD
|