-
Notifications
You must be signed in to change notification settings - Fork 42
Interrupt block update? #22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Firmware update initiated: firmware.bin assert failed: xQueueSemaphoreTake queue.c:1554 (!( ( xTaskGetSchedulerState() == ( ( BaseType_t ) 0 ) ) && ( xTicksToWait != 0 ) )) Backtrace: 0x40083785:0x3ffbf2fc |<-CORRUPTED ELF file SHA256: f4d9d1357296968f |
Callback would be preferable as I've found detaching and attaching my own interrupts again looks to be better than disabling all. As a workaround I'm detaching and then attaching either side of the |
See code suggestion #23 |
I have never used interrupts in my Arduino code so I didn't know this was a issue. Is the issue then that an interrupt fires while we're in the middle of uploading an interrupt and that breaks the update? Seems like a simple |
Yeah the update gets only to 10% in my case before the interrupt kills it. Disabling all interrupts didn't actually work for me on the ESP32. As for the the complexity, registering the callbacks is entirely optional so doesn't make it any harder to use for users who don't want that. By using callbacks users can also do things like change a status LED to indicate update in process. The structure is lifted from AuduinoOTA so well be familiar to users |
Is there any reason not to call I'm thinking it's a no-brainer to add |
Initially I tried using noInterrupts() in my callback but that didn't work so I swapped to detaching my rapidly firing interrupt. I'm didn't investigate why it didn't work, but it's possible that interrupts are needed for WiFi or something else that's part of the overall stack on an ESP32 |
Does Either way I'm leaning towards using it inside of the actual update code as it can't really hurt? |
I need to tripple check, but I believe that disabling all interrupts will stop the WiFi stack working |
Do interrupts block the update? It looks like they do
Could you add
noInterrupts
andinterrupts
to your code or provide some form of callback like the ArduinoOTA.onStart ?The text was updated successfully, but these errors were encountered: