@@ -37,6 +37,7 @@ Arduino_ESP32_OTA::Arduino_ESP32_OTA()
37
37
,_crc32(0 )
38
38
,_ca_cert{amazon_root_ca}
39
39
,_ca_cert_bundle{nullptr }
40
+ ,_magic(0 )
40
41
{
41
42
42
43
}
@@ -45,14 +46,17 @@ Arduino_ESP32_OTA::Arduino_ESP32_OTA()
45
46
PUBLIC MEMBER FUNCTIONS
46
47
******************************************************************************/
47
48
48
- Arduino_ESP32_OTA::Error Arduino_ESP32_OTA::begin ()
49
+ Arduino_ESP32_OTA::Error Arduino_ESP32_OTA::begin (uint32_t magic )
49
50
{
50
51
/* initialize private variables */
51
52
otaInit ();
52
53
53
54
/* ... initialize CRC ... */
54
55
crc32Init ();
55
56
57
+ /* ... configure board Magic number */
58
+ setMagic (magic);
59
+
56
60
if (!isCapable ()) {
57
61
DEBUG_ERROR (" %s: board is not capable to perform OTA" , __FUNCTION__);
58
62
return Error::NoOtaStorage;
@@ -84,6 +88,11 @@ void Arduino_ESP32_OTA::setCACertBundle (const uint8_t * bundle)
84
88
}
85
89
}
86
90
91
+ void Arduino_ESP32_OTA::setMagic (uint32_t magic)
92
+ {
93
+ _magic = magic;
94
+ }
95
+
87
96
uint8_t Arduino_ESP32_OTA::read_byte_from_network ()
88
97
{
89
98
bool is_http_data_timeout = false ;
@@ -229,7 +238,7 @@ int Arduino_ESP32_OTA::download(const char * ota_url)
229
238
}
230
239
231
240
/* ... and OTA magic number */
232
- if (_ota_header.header .magic_number != ARDUINO_ESP32_OTA_MAGIC )
241
+ if (_ota_header.header .magic_number != _magic )
233
242
{
234
243
return static_cast <int >(Error::OtaHeaterMagicNumber);
235
244
}
0 commit comments