changes
This commit is contained in:
@ -2,10 +2,11 @@
|
|||||||
#define _NETWORK_ABSTRACTION_LAYER_IMPL_H_
|
#define _NETWORK_ABSTRACTION_LAYER_IMPL_H_
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
uint64_t networkSntpQuery();
|
uint64_t networkSntpQuery();
|
||||||
int8_t networkUdpSend(char *hostname, uint16_t port, uint8_t *buf, uint16_t bufLen);
|
int8_t networkUdpSend(char *hostname, uint16_t port, uint8_t *buf, uint16_t bufLen);
|
||||||
void networkImplInit();
|
void networkImplInit();
|
||||||
|
bool isNetworkAvailable();
|
||||||
|
|
||||||
#endif /* _NETWORK_ABSTRACTION_LAYER_IMPL_H_ */
|
#endif /* _NETWORK_ABSTRACTION_LAYER_IMPL_H_ */
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
|
|
||||||
int wizInit();
|
int wizInit();
|
||||||
bool isNetworkAvailable();
|
bool wizIsNetworkAvailable();
|
||||||
uint8_t* wizGetIPAddress();
|
uint8_t* wizGetIPAddress();
|
||||||
bool wizDnsQuery(char *name, uint8_t *ip);
|
bool wizDnsQuery(char *name, uint8_t *ip);
|
||||||
|
|
||||||
|
@ -14,12 +14,13 @@ static t_seconds seconds = { .seconds = 0, .missedUpdates = 0, .valid = false };
|
|||||||
static t_configBlock *config;
|
static t_configBlock *config;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void networkSecondsHandler(void *handle) {
|
static void networkSecondsHandler(void *handle) {
|
||||||
static bool tryAgain = false;
|
static bool tryAgain = false;
|
||||||
|
|
||||||
seconds.seconds += 1;
|
seconds.seconds += 1;
|
||||||
|
|
||||||
if (! seconds.valid) {
|
if (! seconds.valid && isNetworkAvailable()) {
|
||||||
coloredMsg(LOG_YELLOW, "nsh, initially querying time");
|
coloredMsg(LOG_YELLOW, "nsh, initially querying time");
|
||||||
uint64_t tmpSeconds = networkSntpQuery();
|
uint64_t tmpSeconds = networkSntpQuery();
|
||||||
if (tmpSeconds != 0) {
|
if (tmpSeconds != 0) {
|
||||||
|
@ -90,6 +90,7 @@ void networkSntpEngine(void *handle) {
|
|||||||
if (sockState == SOCK_UDP) {
|
if (sockState == SOCK_UDP) {
|
||||||
memset(&(localHandle->ntpMsg), 0, sizeof(localHandle->ntpMsg));
|
memset(&(localHandle->ntpMsg), 0, sizeof(localHandle->ntpMsg));
|
||||||
localHandle->ntpMsg.li_vn_mode = SEND_LI_VN_MODE;
|
localHandle->ntpMsg.li_vn_mode = SEND_LI_VN_MODE;
|
||||||
|
localHandle->ntpMsg.xmt_l = 1;
|
||||||
sendto(SNTP_SOCK, (uint8_t*)(&(localHandle->ntpMsg)),
|
sendto(SNTP_SOCK, (uint8_t*)(&(localHandle->ntpMsg)),
|
||||||
sizeof(localHandle->ntpMsg), localHandle->ntpAddr, NTP_PORT);
|
sizeof(localHandle->ntpMsg), localHandle->ntpAddr, NTP_PORT);
|
||||||
coloredMsg(LOG_BLUE, "nes, sent");
|
coloredMsg(LOG_BLUE, "nes, sent");
|
||||||
@ -209,6 +210,10 @@ int8_t networkUdpSend(char *hostname, uint16_t port, uint8_t *buf, uint16_t bufL
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool isNetworkAvailable() {
|
||||||
|
return wizIsNetworkAvailable();
|
||||||
|
}
|
||||||
|
|
||||||
void networkImplInit() {
|
void networkImplInit() {
|
||||||
config = getConfig();
|
config = getConfig();
|
||||||
wizInit();
|
wizInit();
|
||||||
|
@ -33,7 +33,7 @@ extern const uint8_t DNS_SOCK;
|
|||||||
|
|
||||||
static bool networkAvailable = false;
|
static bool networkAvailable = false;
|
||||||
|
|
||||||
bool isNetworkAvailable() {
|
bool wizIsNetworkAvailable() {
|
||||||
return networkAvailable;
|
return networkAvailable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user