The following series of patches adds support required for sub-nanosecond timestamps in ptp4l. The kernel-to-userspace API data structures for reporting such timestamps are not yet defined, but this code is verified to achieve sub-nanosecond synchronisation over IPv6 (6LoWPAN) using a DecaWave DW1000 UWB radio transceiver with one temporary hack (not included in this series) to allow the kernel driver to report timestamps with ~16ps granularity.
I have tried to structure the patches to maximise ease of code review. Please let me know if there are any changes required, and many thanks for your excellent work on linuxptp! Michael Brown (13): tmv: Add missing uses of tmv_zero() tmv: Add missing uses of tmv_is_zero() tmv: Add missing uses of tmv_dbl() tmv: Add missing uses of tmv_to_nanoseconds() tmv: Generalise tmv_eq() to tmv_cmp() tmv: Add tmv_sign() tmv: Convert tmv_t to a non-scalar type tmv: Include fractional nanoseconds within internal representation tmv: Add converters for hardware timestamps clock: Pass floating point values to stats_add_value() clock: Print statistics as floating point values tsproc: Print statistics as floating point values servo: Include fractional nanoseconds within clock offset clock.c | 53 +++++++++---------- clock.h | 2 +- linreg.c | 3 +- makefile | 2 +- mave.c | 2 +- mmedian.c | 3 +- msg.h | 1 + ntpshm.c | 3 +- nullf.c | 2 +- pi.c | 4 +- port.c | 73 ++++++++++---------------- servo.c | 2 +- servo.h | 2 +- servo_private.h | 2 +- tmv.c | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ tmv.h | 103 ++++++++++--------------------------- tsproc.c | 19 +++---- 17 files changed, 261 insertions(+), 172 deletions(-) create mode 100644 tmv.c -- 2.9.5 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Linuxptp-devel mailing list Linuxptp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-devel