| 306 | |
| 307 | #ifdef C6_OTA_FLASHING |
| 308 | void 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)); |
nothing calls this directly
no test coverage detected