File tree Expand file tree Collapse file tree 2 files changed +16
-4
lines changed
Expand file tree Collapse file tree 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()
3737,_crc32(0 )
3838,_ca_cert{amazon_root_ca}
3939,_ca_cert_bundle{nullptr }
40+ ,_magic(0 )
4041{
4142
4243}
@@ -45,14 +46,17 @@ Arduino_ESP32_OTA::Arduino_ESP32_OTA()
4546 PUBLIC MEMBER FUNCTIONS
4647 ******************************************************************************/
4748
48- Arduino_ESP32_OTA::Error Arduino_ESP32_OTA::begin ()
49+ Arduino_ESP32_OTA::Error Arduino_ESP32_OTA::begin (uint32_t magic )
4950{
5051 /* initialize private variables */
5152 otaInit ();
5253
5354 /* ... initialize CRC ... */
5455 crc32Init ();
5556
57+ /* ... configure board Magic number */
58+ setMagic (magic);
59+
5660 if (!isCapable ()) {
5761 DEBUG_ERROR (" %s: board is not capable to perform OTA" , __FUNCTION__);
5862 return Error::NoOtaStorage;
@@ -84,6 +88,11 @@ void Arduino_ESP32_OTA::setCACertBundle (const uint8_t * bundle)
8488 }
8589}
8690
91+ void Arduino_ESP32_OTA::setMagic (uint32_t magic)
92+ {
93+ _magic = magic;
94+ }
95+
8796uint8_t Arduino_ESP32_OTA::read_byte_from_network ()
8897{
8998 bool is_http_data_timeout = false ;
@@ -239,7 +248,7 @@ int Arduino_ESP32_OTA::download(const char * ota_url)
239248 }
240249
241250 /* ... and OTA magic number */
242- if (_ota_header.header .magic_number != ARDUINO_ESP32_OTA_MAGIC )
251+ if (_ota_header.header .magic_number != _magic )
243252 {
244253 delete _client;
245254 _client = nullptr ;
Original file line number Diff line number Diff line change @@ -72,8 +72,9 @@ class Arduino_ESP32_OTA
7272 Arduino_ESP32_OTA ();
7373 virtual ~Arduino_ESP32_OTA () { }
7474
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);
7778 void setCACertBundle (const uint8_t * bundle);
7879 int download (const char * ota_url);
7980 uint8_t read_byte_from_network ();
@@ -97,6 +98,8 @@ class Arduino_ESP32_OTA
9798 uint32_t _crc32;
9899 const char * _ca_cert;
99100 const uint8_t * _ca_cert_bundle;
101+ uint32_t _magic;
102+
100103};
101104
102105#endif /* ARDUINO_ESP32_OTA_H_ */
You can’t perform that action at this time.
0 commit comments