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`.
This commit is contained in:
Tim Radvan 2021-04-03 12:20:48 +01:00 committed by Damien George
parent 172fb5230a
commit 4f53f462ca
1 changed files with 3 additions and 1 deletions

View File

@ -33,7 +33,9 @@ class PIOASMEmit:
push_thresh=32, push_thresh=32,
pull_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 = {} self.labels = {}
execctrl = 0 execctrl = 0