# # 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