-
Notifications
You must be signed in to change notification settings - Fork 6
Test Update #14
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
base: master
Are you sure you want to change the base?
Test Update #14
Conversation
|
The current version (before the incoming merge) has a bug while trying to compile ports/unix. I have to edit the code of the AXTLS library: -------------------------- ssl/os_port_micropython.h -------------------------- #define TTY_FLUSH() -#include "../../../extmod/crypto-algorithms/sha256.h" #define SHA256_CTX CRYAL_SHA256_CTX |
Signed-off-by: Damien George <[email protected]>
So it can be used on targets without set enabled (or at least not raise a SyntaxError when compiling it). Signed-off-by: Damien George <[email protected]>
Signed-off-by: Damien George <[email protected]>
This is needed by the zephyr port. Combining it with the existing `MICROPY_PY_MATH_POW_FIX_NAN` option should be safe, and eliminates the need for a separate option. Signed-off-by: Damien George <[email protected]>
This is needed because zephyr incorrectly has `pow(-1, NaN) = 1`. Signed-off-by: Damien George <[email protected]>
With the recent improvements to the test suite, and fixes for `pow`, the full test suite can now be run (and appropriate tests will be automatically skipped). Signed-off-by: Damien George <[email protected]>
Signed-off-by: Damien George <[email protected]>
Signed-off-by: Damien George <[email protected]>
The unix minimal variant cannot run these tests because: - it doesn't support -v -v debug printing - it doesn't have `open()` Signed-off-by: Damien George <[email protected]>
Signed-off-by: Damien George <[email protected]>
Signed-off-by: Damien George <[email protected]>
Signed-off-by: Damien George <[email protected]>
Signed-off-by: Damien George <[email protected]>
These two tests can't run on the unix minimal build because it doesn't have the relevant build options enabled. So skip them. Signed-off-by: Damien George <[email protected]>
This unix minimal variant already has a few other things enabled beyond the default minimal configuration, and C-stack checking is arguably more important than those, so enable it. This helps to get some of the stress tests passing on this variant. Signed-off-by: Damien George <[email protected]>
With all the preceeding improvements to the test suite, it's now possible to just run `make VARIANT=minimal test` -- which is equivalent to just `./run-tests.py` -- on the unix minimal variant. Signed-off-by: Damien George <[email protected]>
This is a test script used to test USB CDC (or USB UART) serial reliability
and throughput.
Run against any MicroPython remote target with:
$ python serial_test.py -t <device>
Signed-off-by: Damien George <[email protected]>
Support both the legacy ESP-IDF I2C driver (driver/i2c.h) and the new driver/i2c_master.h API for all ESP32-series SoCs. This is controlled by the new config option MICROPY_HW_ESP_NEW_I2C_DRIVER, which is disabled by default. There is a small change to the legacy variant, which shows now as well freq and timeout_us in the print() method. Open issues with the new driver: - No control of the stop=True|False option. stop is always assumed to be True. An issue is raised at the esp-idf repository for it. - Separate call to probe the address at fixed 100kHz. The need is caused by the fact, that NACK on an address is considered as an hard error. According to espressif's issue tracker this is already changed for v6.x and will be backported to earlier versions. So we may see it in a version after V5.5.1 or in a version 5.4.3. There is code in comments to support zero-length writes. Original patch for the v2 driver by Vincent1-python <[email protected]>. Signed-off-by: robert-hh <[email protected]>
Signed-off-by: Jeff Epler <[email protected]>
During CI, invoke `ci.sh` the same way we'd recommend a developer to do so locally. Signed-off-by: Jeff Epler <[email protected]>
Let the defaults in `py/mpconfig.h` be used instead. Signed-off-by: Damien George <[email protected]>
Let the defaults in `py/mpconfig.h` be used instead. Signed-off-by: Damien George <[email protected]>
Signed-off-by: Jeff Epler <[email protected]>
On LP64 and LLP64 systems, size_t is bigger than unsigned. Printing the
failed allocation using the new SIZE_FMT macro allows the correct failed
allocation size to be shown.
Example where this affects the failed allocation message (on x86_64
coverage build):
>>> "a" * (1 << 54)
Before, this would print the size as 1. Now it prints it as
18014398509481985 (2**54 + 1).
Signed-off-by: Jeff Epler <[email protected]>
Extend mp_handle_pending to support three distinct behaviors via mp_handle_pending_internal(): - MP_HANDLE_PENDING_CALLBACKS_ONLY: process callbacks only - MP_HANDLE_PENDING_CALLBACKS_AND_EXCEPTIONS: callbacks + raise exceptions - MP_HANDLE_PENDING_CALLBACKS_AND_CLEAR_EXCEPTIONS: callbacks + clear only Original mp_handle_pending(bool) preserved as inline wrapper for backward compatibility. Signed-off-by: iabdalkader <[email protected]>
Include runtime.h for mp_handle_pending. Signed-off-by: iabdalkader <[email protected]>
Ensures that the underlying socket is opened with the correct protocol as parsed by `getaddrinfo()`. Signed-off-by: Andrew Leech <[email protected]>
This target runs on all 4 cores. Only GPIO, I2C and UART are supported right now. Signed-off-by: Ayush Singh <[email protected]>
Abbreviating these doesn't really save space in the docs, as the code blocks in the next row are always wider than the column headings. Signed-off-by: Angus Gratton <[email protected]>
Adds the ability to use PSRAM and non-contiguous memory.
Example usage, add this to dts overlay:
/ {
heap_psram {
compatible = "micropython,heap";
size = <DT_SIZE_M(4)>;
memory-region = <&psram>;
};
heap_sram1 {
compatible = "micropython,heap";
size = <DT_SIZE_K(140)>;
memory-region = <&sram1>;
};
};
Signed-off-by: Vdragon <[email protected]>
This commit fixes a regression introduced in 1b92bda, where a new architecture was added to mpy-cross but it had no matching native emitter exists. The result was that the architecture emitter entry point would be correctly calculated according to the native architecture index, but if the emitters entry points table was not updated to match the new number of architectures an out of bound access may be performed. Unfortunately adding RV64IMC shifted the debug emitter index further down the table, and that table wasn't updated to reflect the lack of an emitter for RV64. Adding a NULL entry there would cause a NULL pointer access as there was no need to perform any check about the emitter entry point function's validity until now. Signed-off-by: Alessandro Gatti <[email protected]>
This commit adds a new workflow step to the CI, to test the debug emitter provided by mpy-cross. The checks being done are limited to make sure that the debug emitter does not crash and emits opcodes for a simple test file that is guaranteed to work for all configurations. Signed-off-by: Alessandro Gatti <[email protected]>
Allows using TinyUSB stack on N6. Note there's still an issue with TinyUSB on the N6: `pyb_usbd_init()` can't be called multiple times (on soft-reboot). Signed-off-by: iabdalkader <[email protected]>
Signed-off-by: Mike Tolkachev <[email protected]>
Signed-off-by: Mike Tolkachev <[email protected]>
Signed-off-by: Damien George <[email protected]>
This change adds WeAct Studio Mini STM32H743 board support to the STM32 port. Some of the work from PR #12540 is combined here. WeAct Studio Mini STM32H43 board: https://github.com/WeActStudio/MiniSTM32H7xx This board uses STM32H743VI: https://www.st.com/en/microcontrollers-microprocessors/stm32h743vi.html Signed-off-by: Yuuki NAGAO <[email protected]>
This allows a port to do hardware initialization just before the TinyUSB stack is brought up. That means the hardware is only turned on when it's needed. Signed-off-by: Damien George <[email protected]>
Break the FS and HS initialization routines out into separate functions, and call them as necessary from the TinyUSB or STM USB helper functions. Signed-off-by: Damien George <[email protected]>
This commit fixes the initialization sequence for TinyUSB when enabled on the stm32 port: - Following other ports, `mp_usbd_init()` should be called just after running `boot.py`, to give the user a chance to configure USB. - Hardware initialization (via `pyb_usbd_init()`) should only occur once, the first time TinyUSB is started up. This is achieved by adding a hook to the shared TinyUSB bindings to call `pyb_usbd_init()`, and only do the hardware init if TinyUSB was not already initialized. Also, `pyb_usbd_init()` is renamed `mp_usbd_ll_init()` to make it match with the rest of the stared TinyUSB binding code. Signed-off-by: Damien George <[email protected]>
Signed-off-by: Damien George <[email protected]>
Some boards (eg NUCLEO_G0B1RE and NUCLEO_G474RE) have USB disabled but still configure MICROPY_HW_USB_FS/HS for the cases where USB does get enabled. Such a configuration should not build any of the code in `usbd_conf.c`, nor the USB interrupt handlers. Signed-off-by: Damien George <[email protected]>
This is needed to build Cortex-M55 (STM32N6) based boards. Signed-off-by: Damien George <[email protected]>
Currently the CI for stm32 only tests building about half of the available MCU families. This commit adds the remaining families to the stm32 CI jobs. Signed-off-by: Damien George <[email protected]>
As per 4c9ce82 the tests now target Python 3.8 syntax and features, so update the ruff configuration to match. Changes in this commit: - Update to Python 3.8 syntax. - Ignore import not at top of module warnings. - Exclude common SDK folders. - Exclude cpydiff test with intentional error. Also see: micropython/micropython-lib#1059 Signed-off-by: Jos Verlinde <[email protected]>
TinyUSB defines TUD_OPT_RHPORT which is the same thing, make shorter definition RHPORT in the two files which use it. This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <[email protected]>
(and a smaller binary size as a result) Signed-off-by: Angus Gratton <[email protected]>
This commit adds support for ESP32-P4 SoCs. Signed-off-by: Vincent1-python <[email protected]> Signed-off-by: Angus Gratton <[email protected]> Signed-off-by: Damien George <[email protected]>
Includes a base variant with LAN, and C5_WIFI and C6_WIFI variants with LAN, WiFi and BLE. And builds this board in the esp32 CI, to cover the P4 support. Signed-off-by: Vincent1-python <[email protected]> Signed-off-by: Angus Gratton <[email protected]> Signed-off-by: Damien George <[email protected]>
This was necessary to un-wedge the USJ TX path on ESP32-P4, I think because the bootloader prints a lot on this chip. I think it might be possible to hit it on other chips, though. The implementation is based on the ESP-IDF driver, which will always add an extra flush when the TXFIFO is empty in case the host is expecting a ZLP. This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <[email protected]>
Eventually this cache flushing mechanism should be generalised to work the same way for all architectures. But for now, this allows ESP32 RV32 SoCs to flush the D-cache whenn needed. Signed-off-by: Damien George <[email protected]>
This is necessary to get native code running on the ESP32-P4. Signed-off-by: Damien George <[email protected]>
Add support for the upcoming Soldered NULA Mini ESP32C6 board by Soldered Electronics. Signed-off-by: Josip Šimun Kuči <[email protected]>
This adds an ANSI-rendered pinout for the WeAct Studio RP2350B Core board. Signed-off-by: Matt Trentini <[email protected]>
Add a #if MICROPY_PY_MACHINE_I2S guard around the call to machine_i2s_init0() in ports/rp2/main.c. This matches the existing guard around machine_i2s_deinit_all() in the same function. Signed-off-by: David Lechner <[email protected]>
A follow up to 40df953 / PR #17692, this commit adds the HSTX alternate pin function for GPIO12-19 on the RP2350. Signed-off-by: Dryw Wade <[email protected]>
Clears the control registers and aborts the closed channel upon a call to `.close()` and `.__del__()` (GC collect). Fixes issue #18446. Signed-off-by: Dryw Wade <[email protected]>
On RP2350B where there are more than 32 pins, using `pio_sm_set_pins_with_mask()` and `pio_sm_set_pindirs_with_mask()` is not correct because their arguments are `uint32_t` and higher bits get lost when `pio.gpio_base(16)` is used. This commit fixes the issue by using the 64-bit API functions on RP2350B. It also makes sure pin wrapping is supported, i.e. using [30, 31, 0, 1] or [46, 47, 16, 17] as contiguous pin ranges for a PIO program. Fixes issue #16199. Signed-off-by: Anson Mansfield <[email protected]>
This fixes a regression introduced by PR #17926 / commit b5fcb33 which accidentally disabled `hashlib.sha1` and the `cryptolib` module on rp2 boards that don't have networking enabled, eg RPI_PICO. `hashlib.md5` is enabled to keep the configuration the same as boards that do have networking enabled. Signed-off-by: Damien George <[email protected]>
No description provided.