Sommersoft noticed that without submodules (as RTD currently does),
the "make -qp" failed due to trying to find files within submodules.
The "print-VAR" target doesn't have any dependencies, so it sidesteps
the problem.
If we move ulab's pyi files into the submodule, though, we'll need to
fetch submodules anyway during doc building.
Revisiting this because I noticed the support matrix said that pyruler
had several modules it obviously didn't, such as the recently added
vectorio.
It is less error-prone because we can use the final values instead
of re-coding the Makefile logic in python. The only things we need
to do are invoke make in "print-database" mode, then chase any
indirect references like CIRCUITPY_VECTORIO = $(CIRCUITPY_DISPLAYIO)
It does take longer, about 45s on my laptop.
We were seeing actions failures where the cache would be restored
"successfully" but then "Install CircuitPython deps" would fail:
# Step "Fetch IDF tool cache"
Cache Size: ~247 MB (259277989 B)
/bin/tar -xz -f /home/runner/work/_temp/a990f24d-c365-4685-b739-10e052812c81/cache.tgz -C /home/runner/work/circuitpython/circuitpython/.idf_tools
Cache restored from key: Linux-idf-tools-731ed12bcdfbfa8b5dd37e03703992271b3ce85dd629e45130f80f43b84ce3a8
...
# Step "Install CircuitPython deps"
Adding ESP-IDF tools to PATH...
Not using an unsupported version of tool cmake found in PATH: 3.17.0.
I checked locally, and (even when dist/* is removed) it is very quick to
run each of the `idf_tools install` steps, about 2s total.
Try doing this to see whether it fixes the CI problems.
When handling negative steps, start and stop need to be mp_int_t so they
can be checked against a potential negative value during the for loop
used to set the slice values.
If interrupts are disabled, then calling sd_* functions will hardfault.
Instead, assume that it's safe to write if interrupts are disabled.
Signed-off-by: Sean Cross <sean@xobs.io>
ARM recommends issuing a DSB instruction propr to issuing WFI, as it is
required on many parts suchas Cortex-M7. This is effectively a no-op on
the Cortex-M4 used in most NRF parts, however it ensures that we won't
be surprised when new parts come out.
See
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0321a/BIHICBGB.html
for more information.
Signed-off-by: Sean Cross <sean@xobs.io>
In order to ensure we don't have any outstanding requests, disable
interrupts prior to issuing `WFI`.
As part of this process, check to see if there are any pending USB
requests, and only execute the `WFI` if there is no pending data.
This fixes#2855 on NRF.
Signed-off-by: Sean Cross <sean@xobs.io>
Allow for passing `-DCFG_TUSB_DEBUG=1` or `-DCFG_TUSB_DEBUG=2` on the
command line to enable debugging tinyusb within circuitpython.
Signed-off-by: Sean Cross <sean@xobs.io>
This update gives us access to a function we can run with interrupts
disabled to determine if the queue is empty.
Signed-off-by: Sean Cross <sean@xobs.io>