No worries, it would be nice if you can create a PR ( so that I can add you to hall of fame in releases ). I'll test it out for you once done.
Pinned
Activity
ayushsharma82 forked expressjs/express
ayushsharma82 forked richardtallent/vite-plugin-singlefile
ayushsharma82 issue comment ayushsharma82/AsyncElegantOTA
[BUG]
Describe the bug I test with ESP8285, but it not works. Update over AsyncElegantOTA stop on 27%. Default example sketch. Is possible configure to use with ESP8285 (f.e. SonOff boards etc...)
Microcontroller Specs:
- Board: [ESP8285 ]
- Microcontroller: [ ESP8285 ]
- Did you modify the partition table? [No]
- Browser: [chrome]
- Library Version: [latest]
Hi @puhycz , Have you selected the right partition table with OTA support in Arduino IDE?
Important step is to flash it with Serial first and then proceed to check with OTA.
ayushsharma82 issue comment ayushsharma82/AsyncElegantOTA
Not working with FreeRtos tasks
The example alone works really well, but as soon as i add the code to my program (which uses three freertos tasks, on both cores) it no longer responds to ping or webpage, any ideas on how to fix this?
No erros were reported, the IP address is being shown on the serial terminal, but no web answers.
Without really knowing the code I can only point to these solutions:
-
Please check if your tasks are not delaying the event loop by much, AsyncWebServer depends on a FreeRTOS task as well.
-
Make sure you are calling
server.begin();
Let us know if you find the cause or solution.
ayushsharma82 issue comment ayushsharma82/AsyncElegantOTA
Esp8266 update?
Hello, Does this really work on the esp8266? I have seen others used a esp32. However I only have esp8266 devices. I have to update all 40 of them and I don't want to keep going so far for an update of code. This will help me out a lot. My sensors are for temperatures and humidity.
Joseph
Yes AsyncElegantOTA is intended to work with both ESP8266 & ESP32. You can try this library out and see if it's playing well with your code. Most of the issues posted in the repo arise due to application error.
ayushsharma82 issue comment ayushsharma82/AsyncElegantOTA
Improvement
Hi @ayushsharma82 . Thanks for your amazing work. I would be glad and I think also the community if you can provide an example of using your OTA lib with the Ethernet instead that with Wifi. One starting point it could be an integration with this lib which is widely used.
https://github.com/jandrassy/EthernetENC
Thanks for your time
Thanks for your suggestion, sadly this is not a drop in replacement to AsyncWebServer on which the whole library stands. I've took note of this library and will surely add it in future if the situation favours it.
ayushsharma82 issue ayushsharma82/AsyncElegantOTA
Improvement
Hi @ayushsharma82 . Thanks for your amazing work. I would be glad and I think also the community if you can provide an example of using your OTA lib with the Ethernet instead that with Wifi. One starting point it could be an integration with this lib which is widely used.
https://github.com/jandrassy/EthernetENC
Thanks for your time
ayushsharma82 issue comment ayushsharma82/AsyncElegantOTA
[BUG] ESP8266 Stuck.....
Describe the bug I'm running an ESP8266 and when i try and upload the code on my esp01 its stuck or either gives an error
Do you get any error/exception stack? If so please paste it here:
Exception
last failed alloc call: 4020B159(80)
--------------- CUT HERE FOR EXCEPTION DECODER ---------------
last failed alloc caller: 0x4020b159
ets Jan 8 2013,rst cause:2, boot mode:(3,7)
load 0x4010f000, len 3460, room 16 tail 4 chksum 0xcc load 0x3fff20b8, len 40, room 4 tail 4 chksum 0xc9 csum 0xc9 v0009a570
Microcontroller Specs:
- Board: ESP01
- Microcontroller: 8266
- Did you modify the partition table? No
- Browser: chrome
- Library Version: latest on platformio which is .6
Additional context Add any other context about the problem here.
Most of the issues in this type of repo arise due to application error. From the exception which you have posted, I've noticed that your heap is getting full and there is no space for OTA library to function properly. Source: https://stackoverflow.com/a/56388719
Note: The AsyncElegantOTA solution can be only elegant if the underlying code is good and not reaching the limits.
ayushsharma82 issue comment ayushsharma82/AsyncElegantOTA
[BUG] In WIFI_AP mode, if I add AsyncElegantOTA, Wifi become unstable
If I remove the line AsyncElegantOTA.begin(&server); The Wifi AP is always searchable, but once I add the line AsyncElegantOTA.begin(&server);, the AP only appears randomly and disconnect very often.
No error/exception is observed in serial monitor
Microcontroller Specs:
- Board: Wemos D1 Mini
- Microcontroller: ESP8266
- Did you modify the partition table? No
- Browser: chrome
- Library Version: [latest]
Hi @hungyip,
Is this happening using the Example provided with the library?
ayushsharma82 issue comment ayushsharma82/AsyncElegantOTA
[BUG]
This library (is not so elegant as it sounds :-)) and cannot be used inside another library :-( Probably because it is (badly) written as everything-in-a-.h-file instead of splitting properly .cpp and .h When AsyncElegantOta.h is included in 2 .cpp files, AsyncElegantOta is instantiated twice, resulting in an error : "(.bss.AsyncElegantOTA+0x0): multiple definition of `AsyncElegantOTA'" If it is included in just one .cpp file in another library, I get the error "'Update.h' cannot be found"
Fixed with #95 :)
ayushsharma82 issue ayushsharma82/AsyncElegantOTA
[BUG]
This library (is not so elegant as it sounds :-)) and cannot be used inside another library :-( Probably because it is (badly) written as everything-in-a-.h-file instead of splitting properly .cpp and .h When AsyncElegantOta.h is included in 2 .cpp files, AsyncElegantOta is instantiated twice, resulting in an error : "(.bss.AsyncElegantOTA+0x0): multiple definition of `AsyncElegantOTA'" If it is included in just one .cpp file in another library, I get the error "'Update.h' cannot be found"
ayushsharma82 issue comment ayushsharma82/AsyncElegantOTA
ESP32: reset watchdog timer during update
Without this change, updates consistently fail because the watchdog causes a panic (see https://github.com/espressif/arduino-esp32/issues/3775, where similar behaviour is reported.)
E (20871) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (20871) task_wdt: - IDLE (CPU 0)
E (20871) task_wdt: Tasks currently running:
E (20871) task_wdt: CPU 0: ipc0
E (20871) task_wdt: CPU 1: loopTask
E (20871) task_wdt: Aborting.
With this change, OTA updates complete as expected.
Hi @flowerysong,
Thanks for digging into code and finding the cause! I'd like to merge this, can you please resolve the conflicts which occurred with recent merge? We just split AsyncElegantOTA header into separate .h and .cpp files with #95 .
ayushsharma82 issue comment ayushsharma82/AsyncElegantOTA
Watchdog cause restart ESP - update not end. Must be done better, but problem is fixed.
Command for disable watchdog added.
Hi @Sejny , I think a increasing the WDT timeout is better than disabling it completely as that would unexpectedly hang the microcontroller sometimes.
Please try out this pull request: #90 , and let me know if it fixes your issue as well. This has a much safer implementation by just increasing the WDT timeout.
ayushsharma82 pull request ayushsharma82/AsyncElegantOTA
PlatformIO workflow upload
Add a script that allows the PlatformIO upload command to write firmware directly to a device running AsyncElegantOTA.
This is a fair bit nicer to work with as compared to building in PlatformIO and then having to update separately via an external web interface.
ayushsharma82 push ayushsharma82/AsyncElegantOTA
commit sha: 0ad1b4af6a2f70b21fc4bfbc046d9930358b36fb
push time in 3 weeks agoayushsharma82 issue comment ayushsharma82/AsyncElegantOTA
Moved implementation to cpp file
Because AsyncElegantOTA was declared and initialized in AsyncElegantOTA.h, the compiler would throw errors if the header file was included multiple times. This is fixed by declaring AsyncElegantOTA as extern and moving the initialization to AsyncElegantOTA.cpp.
I did this for ElegantOTA but was getting some time to do it for AsyncElegantOTA as well, I really appreciate for taking some time to sort this out! Thanks & Merged!
ayushsharma82 pull request ayushsharma82/AsyncElegantOTA
Moved implementation to cpp file
Because AsyncElegantOTA was declared and initialized in AsyncElegantOTA.h, the compiler would throw errors if the header file was included multiple times. This is fixed by declaring AsyncElegantOTA as extern and moving the initialization to AsyncElegantOTA.cpp.
ayushsharma82 push ayushsharma82/AsyncElegantOTA
commit sha: 0f7d3c000521479f59c60f63213cf2dd20b8c88b
push time in 3 weeks agoayushsharma82 issue comment ayushsharma82/AsyncElegantOTA
PlatformIO workflow upload
Add a script that allows the PlatformIO upload command to write firmware directly to a device running AsyncElegantOTA.
This is a fair bit nicer to work with as compared to building in PlatformIO and then having to update separately via an external web interface.
Wow @lukepalmer, I don't know how this pull request went through my emails without me noticing. This is really a nice addition!
Would you like to add the same for ElegantOTA? ( AsyncElegantOTA is a sister repository, I keep functionality same here for the sake of AsyncWebServer ).
ayushsharma82 in ayushsharma82/AsyncElegantOTA create published release April 2022 Release
ayushsharma82 push ayushsharma82/EasyDDNS
commit sha: 60bed3b054437c6e5c5c9885d96da0e8fcc71c04
push time in 3 weeks agoayushsharma82 push ayushsharma82/ESPConnect
commit sha: b631b64fe7a30f3d30a5fbc50976ddc3cd829373
push time in 3 weeks agoayushsharma82 push ayushsharma82/WebSerial
commit sha: c4949851593f8d8c23a88c41b5fce4e6ebd797fa
push time in 3 weeks agoayushsharma82 push ayushsharma82/ElegantOTA
commit sha: 79eb4a1616383384a788ecceca03b57cc65540d8
push time in 3 weeks agoayushsharma82 push ayushsharma82/AsyncElegantOTA
commit sha: 11b0c76953ba35b7cbb7e7e250b0f2772f0892b1
push time in 3 weeks agoayushsharma82 push ayushsharma82/ESP-DASH
commit sha: be79e192900ae6906d17c3e5680a1ed47229fd07
push time in 3 weeks ago
PlatformIO workflow upload
Add a script that allows the PlatformIO upload command to write firmware directly to a device running AsyncElegantOTA.
This is a fair bit nicer to work with as compared to building in PlatformIO and then having to update separately via an external web interface.