Hello all,
Over the last few months I have been adding new functionality to ESPlorer to make it work better with MicroPython boards.
I was inspired by a friend to look into fixing and extending the MicroPython functions offered in ESPlorer. The main reason for doing so is that for new learners a GUI may be simpler to use than remembering the different text based syntaxes and idioms, and that I frequently found myself switching between 2 or 3 tools to accomplish simple tasks. Personally I prefer to have the choice between a text based and a GUI based IDE , so I can pick what works best for me, for a specific project.
I have made the following additions and fixes to improve uPython support:
- some fixes to included python scripts
- improve micropython hexdump function to deal with large files
- Add MicroPython Folder Browse and Navigation Support
- Added file icons for Python (looks much better now)
- Fixed the Run button
- Added a 'Ctrl-C' button to allow interruption of a running script
- Improve FileSave and awareness of editor Script / Snippet context
- Add Single File upload to MicroPython
- Tweaked button and menu item enablement based on Open State
- ESP Firmware detection improvements (not perfect yet on ESP32)
- Add support for generic uPython, by using machine module in addition to pyb
- Updates to Options UI and Preferences
- Read GPIO input / output (uPython pyb and generic)
- the GPIO buttons use the machine module or the pyb module according to preferences.
- Update sample snippets to machine module
- Unified File-Managers between LUA and uPython to single file manager
- Fix list files in uPython
- Add PopUp Menu to uPython files (*.py, *.pyc)
- View file - View in Terminal
- Hexdump file - View in Terminal
- Remove file
- Rename File
- Fix line number alignment in Script and Snippet editor
- Script Editor:
- Save file to uPython (uses Hexlify to transfer contents with need for escaping)
- Send file to uPython ( Executes script interactivly)
- Run File
- AutoRun on Save
- Send Selected Block from editor to ESP
- Snippet Editor:
- Add Snippet names to buttons to simplify use
- Add Popup menu to the snippet editor:
- Send Line
- Send Selected Block
There are more things that I want to do (as always), the main priorities after this are:
- Add Download/Edit of files
- Add tab completion
- fix upload of large binary files
- Integrate this into main branch (may need to be be quite a large PR)
- connect via webrepl (but this will require a lot of refactoring of the existing code)
- Testing currently has been limited to :
○ Windows 10 + ESP32 running Loboris MicroPython 1.9.3
○ Windows 7 + ESP32 running Loboris MicroPython 1.9.3
○ Windows 10 + ESP8622 running MicroPython 1.9.1 / 1.9.3
○ Windows 10 + ESP32 running MicroPython 1.9.3
Could you please give this a try on other platforms and other micropython boards or firmware versions, and report both successes and failures ?