Menu options to update firmware on ESP board lock up/very slow IDE 1.2.87
While testing out the new drag and drop firmware option I was happily using Web Pilot IDE to erase flash and update firmware menu option - all fine
But when I tried the same on local installed version - IDE just locks up - actually as typing this, just retried it and turns out its just so slow it exceeds my attention span :) - well over 1 minute!
Removed 1.2.87 - installed previous version I was using (1.2.83) and time to offer to flash back to < 1 second
Re-install 1.2.87 and back to >1 minute before time to offer to flash appears
Comments (16)
-
repo owner -
repo owner - changed status to open
-
repo owner WIll be fixed in next pilot release.
-
reporter I'm still getting the same behaviour in 1.2.88
To be clear, the board has already got a working VM on it.
-
reporter FYI The ESP32Freenove board I’m using uses CH340C USB interface and appears as /dev/ttyUSB0 in case that makes a difference
DOnt have a plain ESP32 board to test - all my others are ESPCs or Ss
-
repo owner Thanks for the quick testing! Sorry it is still misbehaving for you.
What operating system are you using?
Does it help to disconnect the board before dropping the .bin file onto the IDE?
I'll see if I can reproduce the issue on MacOS. I did fix an issue with updating the micro:bit firmware which I thought was the same as this issue but apparently not.
-
reporter Yes - I still have the >1min before if offers to flash to the ESP32
I’m on Linux MintI’m not dropping the .bin - that works fine :)
This is when selecting the option from the menu
-
reporter FYI Even if I disconnect before selecting menu option - it still takes > 1min before offer to flash
-
repo owner Thanks for clarifying.
To reiterate: the issue occurs with the stand-alone app when it is already connected to a board that has a working VM on it and you are updating the firmware. Are you doing "erase flash and and update firmware on ESP board" as shown in the screenshot or "update firmware on board"? (The install ESP firmware from URL" command does not work in the stand-alone version unless the URL points to a file on a server that supports plain HTTP, which is not common these days.)
-
repo owner So far, I haven't been able to reproduce on my Mac.
When does the long delay occur? Is it between clicking the gear icon and seeing the menu appear? Or is it after selecting "erase flash and and update firmware on ESP board" ?
-
reporter Yes to 1st question
I’m doing erase flash and update firmware on esp board
The delay is between clicking on erase and update menu option and waiting for the use board type ESP32 dialog to come up
Does your ESP32 at your end use the CH340 USB or a CP2102?
-
repo owner I have a theory about why this is happening. I recently made a change to firmware install code that looks for a MICROBIT or other USB drive. Although that code isn't actually needed for an ESP board, it is getting called before the "Use board type" prompt. That code runs super fast on MacOS and on Bernat's Linux computer it is taking over a minute to run on your computer. Why? Well, if you have a large external drive connected (USB or otherwise) and that drive appears in the /media folder then the new code would be searching the entire file system of that drive looking for a "MICROBIT" drive. Do you think that's what it is doing on your system?
Obviously it should not be doing that!
I'm glad you tested and noticed this issue. Will fix in the next pilot.
-
reporter I have a 1TB hard drive in my /media folder :)
-
repo owner Aha! That's explains it! Fix will be in the next pilot release.
-
reporter Fixed for me in 1.2.92-pilot :)
-
repo owner - changed status to resolved
Great! Thanks for testing! 1.2.92 is now the stable release, too.
- Log in to comment
I've also encountered this when installing firmware on a board that does not currently have MicroBlocks firmware, such as a brand new micro:bit or one that was previously running Makecode.
I think the issue is that the stand-alone MicroBlocks is tries to auto-connect to the board and that process is starving the UI. The web app does do auto-connect (because it can't open serial ports without user intervention) so avoids the issue.
Will investigate.