Skip to content

Commit 0dfc948

Browse files
committed
- added WiFi Firmware version check and update message
- tested on MKR1000 and MKR1010 NOTE: WiFINina wrongly reports "1.2.0" when WiFi.firmwareVersion() is invoked, although version "1.2.1" is set in the source files
1 parent de21bc3 commit 0dfc948

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

src/ConnectionManager.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ class ConnectionManager {
4141
#define NETWORK_HARDWARE_ERROR WL_NO_SHIELD
4242
#define NETWORK_IDLE_STATUS WL_IDLE_STATUS
4343
#define NETWORK_CONNECTED WL_CONNECTED
44+
#define WIFI_FIRMWARE_VERSION_REQUIRED WIFI_FIRMWARE_REQUIRED
4445
#endif
4546

4647
#ifdef ARDUINO_SAMD_MKRWIFI1010
@@ -49,6 +50,7 @@ class ConnectionManager {
4950
#define NETWORK_HARDWARE_ERROR WL_NO_MODULE
5051
#define NETWORK_IDLE_STATUS WL_IDLE_STATUS
5152
#define NETWORK_CONNECTED WL_CONNECTED
53+
#define WIFI_FIRMWARE_VERSION_REQUIRED WIFI_FIRMWARE_LATEST_VERSION
5254
#endif
5355

5456
#ifdef ARDUINO_SAMD_MKRGSM1400

src/WiFiConnectionManager.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,14 @@ void WiFiConnectionManager::check() {
103103
return;
104104
}
105105
*msgBuffer = 0;
106-
sprintf(msgBuffer, "WiFi Firmware v. %s", WiFi.firmwareVersion());
106+
sprintf(msgBuffer, "Current WiFi Firmware: %s", WiFi.firmwareVersion());
107107
debugMessage(msgBuffer, 0);
108+
if(strcmp(WiFi.firmwareVersion(), WIFI_FIRMWARE_VERSION_REQUIRED) != 0){
109+
*msgBuffer = 0;
110+
sprintf(msgBuffer, "Latest WiFi Firmware: %s", WIFI_FIRMWARE_VERSION_REQUIRED);
111+
debugMessage(msgBuffer, 0);
112+
debugMessage("Please update to latest version for optimal performance.", 0);
113+
}
108114
changeConnectionState(CONNECTION_STATE_CONNECTING);
109115
break;
110116
case CONNECTION_STATE_CONNECTING:

0 commit comments

Comments
 (0)