diff --git a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-baremetal/main.c b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-baremetal/main.c
index a6c524be47..fced8f1e9f 100644
--- a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-baremetal/main.c
+++ b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-baremetal/main.c
@@ -12,13 +12,14 @@ uint64_t mg_millis(void) { // Let Mongoose use our uptime function
return (uint64_t) HAL_GetTick(); // Return number of milliseconds since boot
}
-void mg_random(void *buf, size_t len) { // Use on-board RNG
+bool mg_random(void *buf, size_t len) { // Use on-board RNG
extern RNG_HandleTypeDef hrng;
for (size_t n = 0; n < len; n += sizeof(uint32_t)) {
uint32_t r;
HAL_RNG_GenerateRandomNumber(&hrng, &r);
memcpy((char *) buf + n, &r, n + sizeof(r) > len ? len - n : sizeof(r));
}
+ return true;
}
static void timer_fn(void *arg) {
diff --git a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos-lwip/main.c b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos-lwip/main.c
index 89a4e842fa..cf0db6c601 100644
--- a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos-lwip/main.c
+++ b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos-lwip/main.c
@@ -21,13 +21,14 @@ void SysTick_Handler (void) {
xPortSysTickHandler();
}
-void mg_random(void *buf, size_t len) { // Use on-board RNG
+bool mg_random(void *buf, size_t len) { // Use on-board RNG
extern RNG_HandleTypeDef hrng;
for (size_t n = 0; n < len; n += sizeof(uint32_t)) {
uint32_t r;
HAL_RNG_GenerateRandomNumber(&hrng, &r);
memcpy((char *) buf + n, &r, n + sizeof(r) > len ? len - n : sizeof(r));
}
+ return true;
}
static void server(void *args) {
diff --git a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos-tcp/main.c b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos-tcp/main.c
index 4dc46eee8f..125653cadb 100644
--- a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos-tcp/main.c
+++ b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos-tcp/main.c
@@ -18,12 +18,13 @@ void SysTick_Handler (void) {
xPortSysTickHandler();
}
-void mg_random(void *buf, size_t len) { // Use on-board RNG
+bool mg_random(void *buf, size_t len) { // Use on-board RNG
for (size_t n = 0; n < len; n += sizeof(uint32_t)) {
uint32_t r;
HAL_RNG_GenerateRandomNumber(&hrng, &r);
memcpy((char *) buf + n, &r, n + sizeof(r) > len ? len - n : sizeof(r));
}
+ return true;
}
static void server(void *args) {
diff --git a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos/main.c b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos/main.c
index 577ec6dee9..cea30d6b3b 100644
--- a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos/main.c
+++ b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos/main.c
@@ -17,13 +17,14 @@ void SysTick_Handler(void) {
xPortSysTickHandler();
}
-void mg_random(void *buf, size_t len) { // Use on-board RNG
+bool mg_random(void *buf, size_t len) { // Use on-board RNG
extern RNG_HandleTypeDef hrng;
for (size_t n = 0; n < len; n += sizeof(uint32_t)) {
uint32_t r;
HAL_RNG_GenerateRandomNumber(&hrng, &r);
memcpy((char *) buf + n, &r, n + sizeof(r) > len ? len - n : sizeof(r));
}
+ return true;
}
static void timer_fn(void *arg) {
diff --git a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos_cmsis2-lwip/main.c b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos_cmsis2-lwip/main.c
index 0db1657384..6b98788bfa 100644
--- a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos_cmsis2-lwip/main.c
+++ b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos_cmsis2-lwip/main.c
@@ -14,13 +14,14 @@
#define BLINK_PERIOD_MS 1000 // LED blinking period in millis
-void mg_random(void *buf, size_t len) { // Use on-board RNG
+bool mg_random(void *buf, size_t len) { // Use on-board RNG
extern RNG_HandleTypeDef hrng;
for (size_t n = 0; n < len; n += sizeof(uint32_t)) {
uint32_t r;
HAL_RNG_GenerateRandomNumber(&hrng, &r);
memcpy((char *) buf + n, &r, n + sizeof(r) > len ? len - n : sizeof(r));
}
+ return true;
}
static void server(void *args) {
diff --git a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos_cmsis2/main.c b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos_cmsis2/main.c
index 57f128cf6c..715e9bdbc3 100644
--- a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos_cmsis2/main.c
+++ b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-freertos_cmsis2/main.c
@@ -9,13 +9,14 @@
#define BLINK_PERIOD_MS 1000 // LED blinking period in millis
-void mg_random(void *buf, size_t len) { // Use on-board RNG
+bool mg_random(void *buf, size_t len) { // Use on-board RNG
extern RNG_HandleTypeDef hrng;
for (size_t n = 0; n < len; n += sizeof(uint32_t)) {
uint32_t r;
HAL_RNG_GenerateRandomNumber(&hrng, &r);
memcpy((char *) buf + n, &r, n + sizeof(r) > len ? len - n : sizeof(r));
}
+ return true;
}
static void timer_fn(void *arg) {
diff --git a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx-mdk/main.c b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx-mdk/main.c
index 3bd039abbe..13e2736b79 100644
--- a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx-mdk/main.c
+++ b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx-mdk/main.c
@@ -10,13 +10,14 @@
#define BLINK_PERIOD_MS 1000 // LED blinking period in millis
-void mg_random(void *buf, size_t len) { // Use on-board RNG
+bool mg_random(void *buf, size_t len) { // Use on-board RNG
extern RNG_HandleTypeDef hrng;
for (size_t n = 0; n < len; n += sizeof(uint32_t)) {
uint32_t r;
HAL_RNG_GenerateRandomNumber(&hrng, &r);
memcpy((char *) buf + n, &r, n + sizeof(r) > len ? len - n : sizeof(r));
}
+ return true;
}
static void server(const void *args) {
diff --git a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx/main.c b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx/main.c
index d5a1edef3c..436075f28c 100644
--- a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx/main.c
+++ b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx/main.c
@@ -9,13 +9,14 @@
#define BLINK_PERIOD_MS 1000 // LED blinking period in millis
-void mg_random(void *buf, size_t len) { // Use on-board RNG
+bool mg_random(void *buf, size_t len) { // Use on-board RNG
extern RNG_HandleTypeDef hrng;
for (size_t n = 0; n < len; n += sizeof(uint32_t)) {
uint32_t r;
HAL_RNG_GenerateRandomNumber(&hrng, &r);
memcpy((char *) buf + n, &r, n + sizeof(r) > len ? len - n : sizeof(r));
}
+ return true;
}
static void timer_fn(void *arg) {
diff --git a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx5-lwip/main.c b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx5-lwip/main.c
index 1fc921779c..e559875903 100644
--- a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx5-lwip/main.c
+++ b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx5-lwip/main.c
@@ -14,13 +14,14 @@
#define BLINK_PERIOD_MS 1000 // LED blinking period in millis
-void mg_random(void *buf, size_t len) { // Use on-board RNG
+bool mg_random(void *buf, size_t len) { // Use on-board RNG
extern RNG_HandleTypeDef hrng;
for (size_t n = 0; n < len; n += sizeof(uint32_t)) {
uint32_t r;
HAL_RNG_GenerateRandomNumber(&hrng, &r);
memcpy((char *) buf + n, &r, n + sizeof(r) > len ? len - n : sizeof(r));
}
+ return true;
}
static void server(void *args) {
diff --git a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx5-mdk/main.c b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx5-mdk/main.c
index 9e82356957..d5b90b8ca1 100644
--- a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx5-mdk/main.c
+++ b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx5-mdk/main.c
@@ -10,13 +10,14 @@
#define BLINK_PERIOD_MS 1000 // LED blinking period in millis
-void mg_random(void *buf, size_t len) { // Use on-board RNG
+bool mg_random(void *buf, size_t len) { // Use on-board RNG
extern RNG_HandleTypeDef hrng;
for (size_t n = 0; n < len; n += sizeof(uint32_t)) {
uint32_t r;
HAL_RNG_GenerateRandomNumber(&hrng, &r);
memcpy((char *) buf + n, &r, n + sizeof(r) > len ? len - n : sizeof(r));
}
+ return true;
}
static void server(void *args) {
diff --git a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx5/main.c b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx5/main.c
index 1c297dd90b..5537ceafa6 100644
--- a/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx5/main.c
+++ b/extra/cmsis-pack/Boards/ST/NUCLEO-F746ZG/nucleo-f746zg-keil-rtx5/main.c
@@ -9,13 +9,14 @@
#define BLINK_PERIOD_MS 1000 // LED blinking period in millis
-void mg_random(void *buf, size_t len) { // Use on-board RNG
+bool mg_random(void *buf, size_t len) { // Use on-board RNG
extern RNG_HandleTypeDef hrng;
for (size_t n = 0; n < len; n += sizeof(uint32_t)) {
uint32_t r;
HAL_RNG_GenerateRandomNumber(&hrng, &r);
memcpy((char *) buf + n, &r, n + sizeof(r) > len ? len - n : sizeof(r));
}
+ return true;
}
static void timer_fn(void *arg) {
diff --git a/extra/cmsis-pack/Cesanta.Mongoose.pdsc b/extra/cmsis-pack/Cesanta.Mongoose.pdsc
index 43227b46ce..5e4d5c0403 100644
--- a/extra/cmsis-pack/Cesanta.Mongoose.pdsc
+++ b/extra/cmsis-pack/Cesanta.Mongoose.pdsc
@@ -9,8 +9,8 @@
License.txt
https://github.com/cesanta/mongoose.git
-
- See https://github.com/cesanta/mongoose/releases/tag/7.13
+
+ See https://github.com/cesanta/mongoose/releases/tag/7.16
@@ -29,12 +29,12 @@
-
+
Mongoose HTTP/MQTT/Websocket Library
-
+
diff --git a/extra/cmsis-pack/Mongoose/config/mongoose_custom.h b/extra/cmsis-pack/Mongoose/config/mongoose_config.h
similarity index 100%
rename from extra/cmsis-pack/Mongoose/config/mongoose_custom.h
rename to extra/cmsis-pack/Mongoose/config/mongoose_config.h