From cee2116f3a850899049971f19e5c063fc04f4eff Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Sun, 28 Feb 2021 22:14:25 +0100 Subject: [PATCH] rawSEconds --- cube/User/Src/networkAbstractionLayer_lan.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cube/User/Src/networkAbstractionLayer_lan.c b/cube/User/Src/networkAbstractionLayer_lan.c index a06cef9..2a8ad27 100644 --- a/cube/User/Src/networkAbstractionLayer_lan.c +++ b/cube/User/Src/networkAbstractionLayer_lan.c @@ -139,7 +139,13 @@ void networkSntpEngine(void *handle) { srcAddr[0], srcAddr[1], srcAddr[2], srcAddr[3], srcPort); coloredMsg(LOG_BLUE, "nes, received in the %d. cycles", localHandle->retryCount); - localHandle->seconds = ntohl((localHandle->ntpMsg.xmt >> 32) & 0x0ffffffff) - UNIX_NTP_EPOCH_DIFF; + uint32_t xmtTopHalf = (localHandle->ntpMsg.xmt >> 32) & 0x0ffffffff; + uint32_t rawSeconds = + (xmtTopHalf & 0x0000000ff) << 24 | + (xmtTopHalf & 0x00000ff00) << 8 | + (xmtTopHalf & 0x000ff0000) >> 8 | + (xmtTopHalf & 0x0ff000000) >> 24; + localHandle->seconds = rawSeconds - UNIX_NTP_EPOCH_DIFF; coloredMsg(LOG_BLUE, "nes, seconds: %lu", localHandle->seconds); localHandle->sntpState = SNTP_STATE_DONE; } else {