|
16 | 16 | const char* ssid = STASSID;
|
17 | 17 | const char* password = STAPSK;
|
18 | 18 |
|
19 |
| -struct YourEEPROMData { |
20 |
| - // list of parameters you need to keep |
21 |
| - // ... |
22 |
| - |
23 |
| - uint32_t sdkCrc; //add this one |
24 |
| -}; |
25 |
| - |
26 |
| -bool checkSdkCrc() { |
27 |
| - size_t length = strlen(SDK_VERSION); |
28 |
| - uint32_t sdkVersionCrc = crc32(SDK_VERSION, length); |
29 |
| - |
30 |
| - uint32_t savedSdkVersionCrc; |
31 |
| - EEPROM.begin((sizeof(struct YourEEPROMData) + 3) & ~3); |
32 |
| - EEPROM.get(offsetof(struct YourEEPROMData, sdkCrc), savedSdkVersionCrc); |
33 |
| - |
34 |
| - if (sdkVersionCrc == savedSdkVersionCrc) { |
35 |
| - return EEPROM.end(); |
36 |
| - } |
37 |
| - |
38 |
| - // Remember new SDK CRC |
39 |
| - EEPROM.put(offsetof(struct YourEEPROMData, sdkVersionCrc); |
40 |
| - if (EEPROM.commit() && EEPROM.end()) { |
41 |
| - // Erase WiFi settings and reset |
42 |
| - ArduinoOTA.eraseConfigAndReset(); |
43 |
| - } |
44 |
| - |
45 |
| - return false; |
46 |
| -} |
47 |
| - |
48 | 19 | void setup() {
|
49 | 20 | Serial.begin(115200);
|
50 | 21 | Serial.println("Booting");
|
51 | 22 |
|
52 |
| - Serial.println("Check for changes in SDK Version:"); |
53 |
| - if (checkSdkCrc()) { |
54 |
| - Serial.println(" SDK version changed and update to saved details failed."); |
55 |
| - } else { |
56 |
| - Serial.println(" SDK version has not changed."); |
57 |
| - } |
58 |
| - |
59 | 23 | WiFi.mode(WIFI_STA);
|
60 | 24 | WiFi.begin(ssid, password);
|
61 | 25 | while (WiFi.waitForConnectResult() != WL_CONNECTED) {
|
@@ -98,7 +62,7 @@ void setup() {
|
98 | 62 | to meet your requirements.
|
99 | 63 | */
|
100 | 64 | if (true) {
|
101 |
| - ArduinoOTA.setRebootOnSuccess(true, true); // reboot = true, eraseConfig = true |
| 65 | + ArduinoOTA.setRebootOnSuccess(true, true); // reboot = true, eraseConfig = true |
102 | 66 | }
|
103 | 67 | });
|
104 | 68 | ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
|
|
0 commit comments