Skip to content

Commit 2a174b0

Browse files
committed
Autodetect STM32 in mg_millis()
1 parent 013993a commit 2a174b0

2 files changed

Lines changed: 10 additions & 4 deletions

File tree

mongoose.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8600,10 +8600,8 @@ int64_t mg_sntp_parse(const unsigned char *buf, size_t len) {
86008600
static void sntp_cb(struct mg_connection *c, int ev, void *ev_data) {
86018601
uint64_t *expiration_time = (uint64_t *) c->data;
86028602
if (ev == MG_EV_OPEN) {
8603-
MG_INFO(("%lu PFN OPEN", c->id));
86048603
*expiration_time = mg_millis() + 3000; // Store expiration time in 3s
86058604
} else if (ev == MG_EV_CONNECT) {
8606-
MG_INFO(("%lu PFN CONNECT, sending request", c->id));
86078605
mg_sntp_request(c);
86088606
} else if (ev == MG_EV_READ) {
86098607
int64_t milliseconds = mg_sntp_parse(c->recv.buf, c->recv.len);
@@ -12676,8 +12674,8 @@ void mg_tls_ctx_free(struct mg_mgr *mgr) {
1267612674

1267712675
#if defined(_MSC_VER) || defined(__cplusplus)
1267812676
// add restrict support
12679-
#if (defined(_MSC_VER) && _MSC_VER >= 1900) || defined(__clang__) || \
12680-
defined(__GNUC__)
12677+
#if ((defined(_MSC_VER) && _MSC_VER >= 1900) && !defined(__cplusplus)) || \
12678+
defined(__clang__) || defined(__GNUC__)
1268112679
#define restrict __restrict
1268212680
#else
1268312681
#define restrict
@@ -19944,6 +19942,10 @@ uint64_t mg_millis(void) {
1994419942
return ((uint64_t) ts.tv_sec * 1000 + (uint64_t) ts.tv_nsec / 1000000);
1994519943
#elif defined(ARDUINO)
1994619944
return (uint64_t) millis();
19945+
#elif defined(__STM32H5xx_HAL_H) || defined(__STM32H7xx_HAL_H) || \
19946+
defined(__STM32F7xx_HAL_H) || defined(__STM32F4xx_HAL_H) || \
19947+
defined(__STM32F2xx_HAL_H) || defined(__STM32F1xx_HAL_H)
19948+
return (uint64_t) HAL_GetTick(); // Using STM32 HAL
1994719949
#else
1994819950
return (uint64_t) (time(NULL) * 1000);
1994919951
#endif

src/util.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,10 @@ uint64_t mg_millis(void) {
180180
return ((uint64_t) ts.tv_sec * 1000 + (uint64_t) ts.tv_nsec / 1000000);
181181
#elif defined(ARDUINO)
182182
return (uint64_t) millis();
183+
#elif defined(__STM32H5xx_HAL_H) || defined(__STM32H7xx_HAL_H) || \
184+
defined(__STM32F7xx_HAL_H) || defined(__STM32F4xx_HAL_H) || \
185+
defined(__STM32F2xx_HAL_H) || defined(__STM32F1xx_HAL_H)
186+
return (uint64_t) HAL_GetTick(); // Using STM32 HAL
183187
#else
184188
return (uint64_t) (time(NULL) * 1000);
185189
#endif

0 commit comments

Comments
 (0)