MCPcopy Create free account
hub / github.com/OpenEPaperLink/OpenEPaperLink / C6firmwareUpdateTask

Function C6firmwareUpdateTask

ESP32_AP-Flasher/src/ota.cpp:308–378  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

306
307#ifdef C6_OTA_FLASHING
308void C6firmwareUpdateTask(void* parameter) {
309 char* urlPtr = reinterpret_cast<char*>(parameter);
310
311 LOG("C6firmwareUpdateTask: url '%s'\n", urlPtr);
312 wsSerial("Stopping AP service");
313
314 gSerialTaskState = SERIAL_STATE_STOP;
315 config.runStatus = RUNSTATUS_STOP;
316 setAPstate(false, AP_STATE_FLASHING);
317#ifndef FLASHER_DEBUG_SHARED
318 extern bool rxSerialStopTask2;
319 rxSerialStopTask2 = true;
320#endif
321 vTaskDelay(500 / portTICK_PERIOD_MS);
322 Serial1.end();
323 setAPstate(false, AP_STATE_FLASHING);
324
325 wsSerial(SHORT_CHIP_NAME " flash starting");
326
327 bool result = FlashC6_H2(urlPtr);
328
329 wsSerial(SHORT_CHIP_NAME " flash end");
330
331 if (result) {
332 setAPstate(false, AP_STATE_OFFLINE);
333
334 wsSerial("Finishing config...");
335 vTaskDelay(3000 / portTICK_PERIOD_MS);
336
337 wsSerial("starting monitor");
338 Serial1.begin(115200, SERIAL_8N1, FLASHER_AP_RXD, FLASHER_AP_TXD);
339#ifndef FLASHER_DEBUG_SHARED
340 rxSerialStopTask2 = false;
341 xTaskCreate(rxSerialTask2, "rxSerialTask2", 1850, NULL, 2, NULL);
342#endif
343 vTaskDelay(1000 / portTICK_PERIOD_MS);
344
345 apInfo.version = 0;
346 wsSerial("bringing AP online");
347 // if (bringAPOnline(AP_STATE_REQUIRED_POWER_CYCLE)) config.runStatus = RUNSTATUS_STOP;
348 if (bringAPOnline(AP_STATE_ONLINE)) {
349 config.runStatus = RUNSTATUS_RUN;
350 setAPstate(true, AP_STATE_ONLINE);
351 }
352
353 // Wait for version info to arrive
354 vTaskDelay(500 / portTICK_PERIOD_MS);
355 if(apInfo.version == 0) {
356 result = false;
357 }
358 }
359
360 if (result) {
361 wsSerial("Finished!");
362 char buffer[50];
363 snprintf(buffer,sizeof(buffer),
364 "ESP32-" SHORT_CHIP_NAME " version is now %04x", apInfo.version);
365 wsSerial(String(buffer));

Callers

nothing calls this directly

Calls 6

wsSerialFunction · 0.85
setAPstateFunction · 0.85
FlashC6_H2Function · 0.85
bringAPOnlineFunction · 0.85
endMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected