Hello,
I need to come up with an implementation of an NTP packet. I was hoping that there was already built in support for this in MQX, but so far I'm coming up empty. I thought I saw in another thread that SNTP is supported, but I can't seem to find any info on it.
Any pointers would be appreciated.
Thanks,
Hi,
MQX implements SNTP client. See MQX RTCS User's guide (MQXRTCSUG.pdf) chapeters 7.1.147 SNTP_oneshot() and 7.1.146 SNTP_init()..
Regards,
PetrL
Thanks for your help, its amazing how much easier this becomes when e look in the right spot. I do have a follow up question, in the sntp.c file in the SNTP_build_header method the header is built but the timestamp that gets set is the TRANSMIT_TIMESTAMP1 & 2. I'm confised by this, if the header is being built to be transmitted by a client, shouldn't this be setting the ORIGINATE_TIMESTAMPs? Also I can't seem to find where who fills in the REFERENCE_TIMESTAMPs.
Thank you!
Per RFC-4330:
Although setting the Transmit Timestamp field in the request to the
time of day according to the client clock in NTP timestamp format is
not necessary in a conforming client implementation, it is highly
recommended in unicast and manycast modes. This allows a simple
calculation to determine the propagation delay between the server and
client and to align the system clock generally within a few tens of
milliseconds relative to the server. In addition, this provides a
simple method for verifying that the server reply is in fact a
legitimate response to the specific client request and thereby for
avoiding replays. In broadcast mode, the client has no information
to calculate the propagation delay or to determine the validity of
the server, unless one of the NTP authentication schemes is used.
To calculate the roundtrip delay d and system clock offset t relative
to the server, the client sets the Transmit Timestamp field in the
request to the time of day according to the client clock in NTP
timestamp format. For this purpose, the clock need not be
synchronized. The server copies this field to the Originate
Timestamp in the reply and sets the Receive Timestamp and Transmit
Timestamp fields to the time of day according to the server clock in
NTP timestamp format.