Great project! I've done a few commercial implementation of PHY timestamping protocols - IEEE1588 for Ethernet 802.3 and the WLAN version (802.11v2012) for 802.11n. Products with that technology are still shipping today (but that was 10 years ago now). Both are key foundations and building blocks for any time-sensitive networking (in my case RTP streaming Audio and Video via uni/multicast). You'll find you don't need a heavy weight implementation for this -on ethernet, it is a mac layer protocol where all you need to do is tx/rx IEEE ethertype=0x88f7 packets. The SYNC message is from an 802.1AS grand-master clock. You will syntonize your local clock from this message and concurrently and periodically run a PID control loop to adjust your local phase and epoch over a system-performance specific period. My recommendation and direction for this development would be to get 2 Linux boxes with an Intel Ethernet MAC (any intel MAC), read the 1588 spec and use Wireshark (with linux ptpd and p2p4l as Alan mentioned) to study the SYNC message exchanges between a GMC and peer (client) device. Sounds like greek but 1588 is the place to start. NuttX could fully support this and servo control loop. You can contact me offline if you need protocol decode or net debug help, I lived the dream, even have teh T-shirt :)
Have fun! On Tue, Dec 6, 2022 at 1:30 PM Alan C. Assis <acas...@gmail.com> wrote: > Hi Markus, > > I don't know if there is someone already using PTP with NuttX > (probably since NuttX is used by many industrial automation > companies). > > I think the first step should be add a PTP daemon for NuttX. > > The ptpd could be a good candidate: https://github.com/ptpd/ptpd > > BR, > > Alan > > On 12/5/22, Markus Noll <m...@markus-noll.de> wrote: > > Dear all, > > > > I'm just investigating NuttX a bit as there is definitely more and more > > momentum coming about it. > > I was just wondering if PTP (IEEE1588) is supported or if this is planned > > for the future? Currently, it doesn't look like this, however some > Eth-MAC > > drivers have at least some register-definitions for the > > timestamping-module. > > > > Thanks in advance, > > Markus > > >