summaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2023-08-23nrf/boards: Rename all nRF boards to use uppercase.Jim Mussared
This is to match all the other ports. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-08-16tools/mpy-tool.py: Ignore linter failure in Python 2 compatibility code.Angus Gratton
Found by Ruff checking F821. Signed-off-by: Angus Gratton <angus@redyak.com.au>
2023-08-16tools/mpy_ld.py: Pre-declare some local variables to appease linter.Angus Gratton
Spurious fix as the logic is structured such that these variables will be set before dereferenced, but this keeps Ruff happy (no more F821 undefined-name). Signed-off-by: Angus Gratton <angus@redyak.com.au>
2023-08-15tools/autobuild: Automatically build all variants for each board.Jim Mussared
Removes the special-case for stm32. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-08-10tools/mpremote: Make soft-reset count as an action.Jim Mussared
Otherwise `mpremote soft-reset` will implicitly run the repl command. Fixes issue #10871. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-08-10tools/codeformat.py: Use pyproject.toml for black config.Jos Verlinde
Signed-off-by: Jos Verlinde <jos_verlinde@hotmail.com>
2023-08-10tools/codeformat.py: Skip formatting ESP-IDF managed components.Daniël van de Giessen
Signed-off-by: Daniël van de Giessen <daniel@dvdgiessen.nl>
2023-08-09tools/mpy-tool.py: Use isinstance() for type checking.Angus Gratton
Ruff version 283 expanded E721 to fail when making direct comparison against a built-in type. Change the code to use isinstance() as suggested, these usages appear to have equivalent functionality. Signed-off-by: Angus Gratton <angus@redyak.com.au>
2023-07-27tools/autobuild: Add support for application .bin files for esp32.Damien George
On esp32, the build output consists of: - micropython.elf - micropython.map - micropython.bin -- application only - micropython.uf2 -- application only - firmware.bin -- bootloader, partition table and application Currently everything is available at the download page except micropython.bin. This commit adds that file but with the extension changed to .app-bin, to distinguish it from .bin (the full thing). Signed-off-by: Damien George <damien@micropython.org>
2023-07-21examples/natmod/deflate: Add deflate as a dynamic native module.Jim Mussared
This replaces the previous zlib version. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21all: Remove the zlib module.Jim Mussared
This will be replaced with a new deflate module providing the same functionality, with an optional frozen Python wrapper providing a replacement zlib module. binascii.crc32 is temporarily disabled. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-06-23tools/autobuild: Update auto-build code to build esp32 port with IDF v5.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2023-06-23github/workflows: Update esp32 CI to use IDF v5.0.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2023-06-15tools/ci.sh: Add a H5 board to stm32 CI build.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2023-06-14tools/ci.sh: Build PICO_W board as part of rp2 CI.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2023-06-14esp32/esp32_ulp: Fix ULP (FSM) support for S2 and S3.Wilko Nienhaus
This change enables the ULP (FSM) for all ESP32 variants rather than requiring it to be enabled for each board specifically. It also ensures the correct header file is included for each variant. Lastly, it updates the IDF version we're builing against to v4.4.2, as that version contains important fixes to make the ULP actually work on S2/S3 chips. See: https://github.com/espressif/esp-idf/commit/a0e3d48 Signed-off-by: Wilko Nienhaus <wilko.nienhaus@gmail.com>
2023-06-09tools/mpremote: Fix exec_ -> exec in commands.py.Jim Mussared
This was missed in the pyboard refactor and is preventing `cp -r` from working. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-06-08tools/ci.sh: Add mimxrt and samd ports to code size build.Damien George
The automatic code size build and GitHub comment is a really useful feature. This commit adds a few more builds to it (mimxrt and samd). Signed-off-by: Damien George <damien@micropython.org>
2023-06-08extmod/modtimeq: Remove timeq module.Jim Mussared
This is a MicroPython-specific module that existed to support the old version of uasyncio. It's undocumented and not enabled on all ports and takes up code size unnecessarily. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-06-08all: Replace all uses of umodule in Python code.Jim Mussared
Applies to drivers/examples/extmod/port-modules/tools. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-06-08tests: Replace umodule with module everywhere.Jim Mussared
This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-06-08examples/natmod: Rename umodule to module.Jim Mussared
This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-06-08all: Rename *umodule*.c to remove the "u" prefix.Jim Mussared
Updates any includes, and references from Makefiles/CMake. This essentially reverts what was done long ago in commit 136b5cbd7669e8318f8455fc2706da97a5b7994c This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-06-08all: Rename UMODULE to MODULE in preprocessor/Makefile vars.Jim Mussared
This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-06-02tools/mpremote: Fix use of stdout_write_bytes function.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2023-06-02tools/mpremote: Detach mpremote from pyboard.py.Jim Mussared
This commit just takes the necessary parts of pyboard.py and merges them with pyboardextended.py to make a new transport_serial.py, and updates the rest of mpremote to use this instead. It is difficult to continue to add features to mpremote (which usually requires modification to pyboard.py) while also maintaining backwards compatibility for pyboard.py. The idea is that this provides a starting point for further refactoring of mpremote to allow different transports (webrepl, BLE, etc). This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-06-02docs/reference/mpremote.rst: Extend the mpremote guide.Jim Mussared
Changes in this commit: - Add a extra detail to each of the commands. - Add more about handling options and arguments. - Include shortcut commands that behave like real commands to the command list (e.g. bootloader, rtc). - Add extra information and reword to address common misconceptions, in particular how commands chain together. - Add additional examples showing some more interesting combinations. - Add descriptions to each of the examples. - Add pipx installation instructions. - Describe how user-configuration works. This work was sponsored by Google Season of Docs. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-06-02tools/mpremote: Handle `cp` without destination.Jim Mussared
This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-06-02tools/mpremote: Add `rtc` commands to get and set the RTC.Jim Mussared
Replaces the existing functionality provided by the `setrtc` alias to use the current time, rather than a hard-coded date/time. Use `rtc` to query the current time. Use `rtc --set` to set it. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-06-02tools/mpremote: Allow terminator for shortcut commands.Jim Mussared
For example, the `reset` shortcut previously allowed an optional delay, but the argument handling cannot handle `reset next-command` as `next-command` will be interpreted as the delay argument. The fix in this commit allows `reset + next-command`. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-06-02tools/mpremote: Add `sleep` command.Jim Mussared
This allows the sequence to be paused (e.g. wait for device, etc). Also removes the t_ms arg in reset/bootloader, because these arguments don't really need to be changed, and keeping them would mean inconsistent units used for time delays. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-05-24tools/pydfu.py: Use getattr to retrieve getargspec function.Damien George
Since Python 3.11, inspect.getargspec() has been removed. Signed-off-by: Damien George <damien@micropython.org>
2023-05-22tools/mpremote: Add repl option to escape non-printable characters.Damien George
This commit adds the "--escape-non-printable" option to the repl command. When specified the REPL console will escape non-printable characters, printing them as their hex value in square brackets. This escaping behaviour was previously the default and only behaviour, but it is now opt-in. As part of this change, the speed of echoing device data to the console is improved by by reading and writing in chunks. Signed-off-by: Damien George <damien@micropython.org>
2023-05-19tools/manifestfile.py: Fix license capturing.Jim Mussared
The license field was incorrectly being set to the version. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-05-09tools/pyboard.py: Import errno to fix undefined name in PyboardError.Christian Clauss
This will keep line 96 from raising a NameError. Signed-off-by: Christian Clauss <cclauss@me.com>
2023-05-08CODECONVENTIONS: Require that commits be signed-off by the author.Damien George
And use "must" instead of "should" where appropriate in related text. Signed-off-by: Damien George <damien@micropython.org>
2023-05-04tools/pyboard.py: Import serial.tools.list_ports.Damien George
This import is needed by newer versions of pyserial. Signed-off-by: Damien George <damien@micropython.org>
2023-05-02all: Fix cases of Python variable assigned but never used.Christian Clauss
This fixes ruff rule F841.
2023-05-02all: Fix strings with backslash by using raw string literals.Christian Clauss
2023-05-02tools/mpremote: Remove unused import of serial.Christian Clauss
2023-04-27all: Fix spelling mistakes based on codespell check.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2023-04-27tools/pyboard.py: Rename ProcessPtyToTerminal member "ser" to "serial".Damien George
So that this file doesn't need to be excluded from codespell. Signed-off-by: Damien George <damien@micropython.org>
2023-04-27tools/ci.sh: Add functions to check code spelling using codespell.Damien George
Signed-off-by: Damien George <damien@micropython.org> tools/ci.sh: Explicitly specify pyproject.toml. Signed-off-by: Damien George <damien@micropython.org> tools/ci.sh: Import tomli. Signed-off-by: Damien George <damien@micropython.org>
2023-04-27tools/ci.sh: Build both SAMD21 and SAMD51 boards as part of samd CI.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2023-04-27renesas-ra: Change MICROPY_HW_BOARD_NAME definition to product name.Takeo Takahashi
Changes in this commit: - Change MICROPY_HW_BOARD_NAME definition to match the product name. - Rename board folder's name to match the product name style. - Change related files like Makefile, document descriptions, test cases, CI and tools. Signed-off-by: Takeo Takahashi <takeo.takahashi.xv@renesas.com>
2023-04-26extmod/modbluetooth: Make all HCI transports trace in the same format.Jim Mussared
- Use HCI_TRACE macro consistently. - Use the same colour formatting. - Add a tool to convert to .pcap for Wireshark. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-04-15tools/mpremote: Add ctrl-x as additonal mpremote disconnect shortcut.Jonas Scharpf
The mpremote REPL can now be closed with either ctrl+] or ctrl+x, which gives users a choice, useful if the ']' key is difficult to access. Fixes issue #11197. Signed-off-by: Jonas Scharpf <jonas@brainelectronics.de>
2023-04-07tools/manifestfile.py: Add support for publishing packages to PyPI.Jim Mussared
This adds a new MODE_PYPROJECT, which gives basic support to allow packaging a small subset of micropython-lib packages to PyPI. This change allows a package in micropython-lib to: - Add a "pypi" name to its metadata indicating that it's based on a PyPI package. - Add "stdlib" to its metadata indicating that it's a micropython version of a stdlib package. - Add a "pypi_publish" name to its metadata to indicate that it can be published to PyPI (this can be different to the package name, e.g. "foo" might want to be published as "micropython-foo"). When a package requires() another one, if it's in MODE_PYPROJECT then if the package is from pypi then it will record that as a pypi dependency instead (or no dependency at all if it's from stdlib). Also allows require() to explicitly specify the pypi name. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-04-04tools/pyboard.py: Fix ESPxx boards hanging in bootloader after reset.Jos Verlinde
This is a follow up to d263438a6e365d3199494498a9b734cda29dde52, which solved one problem (reset on disconnect) but introduced a second one (hang in bootloader). To solve both probles, False/False is needed for DTR/RTS for ESPxx, but that would then block stm32 and others. Any unconditional combination of DTR/RTS ends up blocking normal operation on some type of board or another. A simple overview (for windows only): DTR CTS ESP8266/ESP32 STM32/SAMD51/RP2040 unspecified unspecified Reset on disconnect OK True False Hang in bootloader OK False False OK No Repl True True Reset on disconnect No Repl False True Reset on disconnect No Repl serial.manufacturer: wch.cn/Silicon Labs Microsoft serial.description: USB-SERIAL CH340 / USB Serial Device CP210x USB to UART Bridge The updated logic will only set the DTR/RTS signals for boards that do not use standard Microsoft drivers (based on the manufacturer). It would also be possible to check against a list of known driver manufactures (like wch.cn or Silicon Labs) but this would require a list of known drivers for all ports. Signed-off-by: Jos Verlinde <jos_verlinde@hotmail.com>
2023-03-22tools/pyboard.py: Fix joining of path in filesystem_command.Damien George
This was broken by 5327cd1021dc92cad428ff44cb114c4a94c0bc45 Signed-off-by: Damien George <damien@micropython.org>