This mostly means changing `void foo()` to `void foo(void)` at
the function definition site. This was previously only an error
if the declaration site didn't have `(void)`, but the unix
coverage build enables the more strict warning and there's little
difficulty in resolving these diagnostics.
.. other ports can be done too, if desired.
This port is meant to grow to encompass all existing boards. For
now, it is a port while we transition over.
It is named `zephyr-cp` to differentiate it from the MicroPython
`zephyr` port. They are separate implementations.
The Funhouse problem was due to a locking change for SPI. The
Funhouse is one of a few boards with DotStar status LEDs that use
SPI and have this bug.
I thought it might be IDF related so I updated it first. :-)
Fixes#9486
It doesn't need never reset because the status LED is only active
when user code isn't.
This also fixes PWM never reset on espressif so that deinit will
undo it.
Fixes#6223
This tweaks the RMT timing to better match the 1/3 and 2/3 of 800khz
guideline for timing. It also ensures a delay of 300 microseconds
with the line low before reset.
Pin reset is now changed to the IDF default which pulls the pin up
rather than CircuitPython's old behavior of floating the pin.
Fixes#5679
This also removes the need to pin share because we don't use the
status LED while user code is running.
The status flashes fallback to the HW_STATUS LED if no RGB LED is
present. Each status has a unique blink pattern as well.
One caveat is the REPL state. In order to not pin share, we set the
RGB color once. PWM and single color will be shutoff immediately but
DotStars and NeoPixels will hold the color until the user overrides
it.
Fixes#4133
This started while adding USB MIDI support (and descriptor support is
in this change.) When seeing that I'd have to implement the MIDI class
logic twice, once for atmel-samd and once for nrf, I decided to refactor
the USB stack so its shared across ports. This has led to a number of
changes that remove items from the ports folder and move them into
supervisor.
Furthermore, we had external SPI flash support for nrf pending so I
factored out the connection between the usb stack and the flash API as
well. This PR also includes the QSPI support for nRF.