File tree 2 files changed +16
-4
lines changed
2 files changed +16
-4
lines changed Original file line number Diff line number Diff line change @@ -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 ;
@@ -239,7 +248,7 @@ int Arduino_ESP32_OTA::download(const char * ota_url)
239
248
}
240
249
241
250
/* ... and OTA magic number */
242
- if (_ota_header.header .magic_number != ARDUINO_ESP32_OTA_MAGIC )
251
+ if (_ota_header.header .magic_number != _magic )
243
252
{
244
253
delete _client;
245
254
_client = nullptr ;
Original file line number Diff line number Diff line change @@ -72,8 +72,9 @@ class Arduino_ESP32_OTA
72
72
Arduino_ESP32_OTA ();
73
73
virtual ~Arduino_ESP32_OTA () { }
74
74
75
- Arduino_ESP32_OTA::Error begin ();
76
- void setCACert (const char *rootCA);
75
+ Arduino_ESP32_OTA::Error begin (uint32_t magic = ARDUINO_ESP32_OTA_MAGIC);
76
+ void setMagic (uint32_t magic);
77
+ void setCACert (const char *rootCA);
77
78
void setCACertBundle (const uint8_t * bundle);
78
79
int download (const char * ota_url);
79
80
uint8_t read_byte_from_network ();
@@ -97,6 +98,8 @@ class Arduino_ESP32_OTA
97
98
uint32_t _crc32;
98
99
const char * _ca_cert;
99
100
const uint8_t * _ca_cert_bundle;
101
+ uint32_t _magic;
102
+
100
103
};
101
104
102
105
#endif /* ARDUINO_ESP32_OTA_H_ */
You can’t perform that action at this time.
0 commit comments