From 4f53f462ca9dbec45771e06d2d1a84b61e01e61a Mon Sep 17 00:00:00 2001 From: Tim Radvan Date: Sat, 3 Apr 2021 12:20:48 +0100 Subject: [PATCH] rp2: Import uarray instead of array in rp2 module. Some forum users noticed that `sm.exec()` took longer the more was present on the flash filesystem connected to the RP2040. They traced this back to the `array` import inside `asm_pio()`, which is causing MicroPython to scan the filesystem. uarray is a built-in module, so importing it shouldn't require scanning the filesystem. We avoid moving the import to the top-level in order to keep the namespace clean; we don't want to accidentally expose `rp2.array`. --- ports/rp2/modules/rp2.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ports/rp2/modules/rp2.py b/ports/rp2/modules/rp2.py index a3adcdc512..17e35c73b7 100644 --- a/ports/rp2/modules/rp2.py +++ b/ports/rp2/modules/rp2.py @@ -33,7 +33,9 @@ class PIOASMEmit: push_thresh=32, pull_thresh=32 ): - from array import array + # uarray is a built-in module so importing it here won't require + # scanning the filesystem. + from uarray import array self.labels = {} execctrl = 0