File tree 2 files changed +15
-4
lines changed
2 files changed +15
-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,16 @@ 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);
56
59
57
60
if (Update.isRunning ()) {
58
61
Update.abort ();
@@ -80,6 +83,11 @@ void Arduino_ESP32_OTA::setCACertBundle (const uint8_t * bundle)
80
83
}
81
84
}
82
85
86
+ void Arduino_ESP32_OTA::setMagic (uint32_t magic)
87
+ {
88
+ _magic = magic;
89
+ }
90
+
83
91
uint8_t Arduino_ESP32_OTA::read_byte_from_network ()
84
92
{
85
93
bool is_http_data_timeout = false ;
@@ -235,7 +243,7 @@ int Arduino_ESP32_OTA::download(const char * ota_url)
235
243
}
236
244
237
245
/* ... and OTA magic number */
238
- if (_ota_header.header .magic_number != ARDUINO_ESP32_OTA_MAGIC )
246
+ if (_ota_header.header .magic_number != _magic )
239
247
{
240
248
delete _client;
241
249
_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 ();
@@ -96,6 +97,8 @@ class Arduino_ESP32_OTA
96
97
uint32_t _crc32;
97
98
const char * _ca_cert;
98
99
const uint8_t * _ca_cert_bundle;
100
+ uint32_t _magic;
101
+
99
102
};
100
103
101
104
#endif /* ARDUINO_ESP32_OTA_H_ */
You can’t perform that action at this time.
0 commit comments