IO13 is for blue LED
IO14 is the correct pin header between IO18 and IO12
The silk is wrong (shows IO13), but hardware is correct as IO14, but IO14 was not included in pins.c
Silk will be updated on next PCB production run
The XIP SPI flash on Fomu is slow, which results in certain operations
taking a long time. This becomes a problem for time-critical operations
such as USB.
Move various calls into RAM to improve performance.
This includes the call to __modsi3 and __udivsi3 which are used by the
supervisor handler to determine if periodic callbacks need to be run.
This finishes fixing #3841
Signed-off-by: Sean Cross <sean@xobs.io>
During an interrupt handler, interrupts are implicitly disabled. They
will be re-enabled when the interrupt handler returns.
Due to some changes that were made, varous calls will re-enable
interrupts after they're finished. Examples of this include calling
`CALLBACK_CRITICAL_END` and getting the number of ticks with
`port_get_raw_ticks()`.
This patch prevents this from happening by doing two things:
1. Use standard calls in `port_get_raw_ticks()` to disable and re-enable
interrupts, preventing nesting issues, and
2. Increase the nesting count inside `isr()`, reflecting the implicit
call that is made by hardware when an interrupt is handled
This helps to address #3841.
Signed-off-by: Sean Cross <sean@xobs.io>
* Better messaging when code is stopped by an auto-reload.
* Auto-reload works during sleeps on ESP32-S2. Ticks wake up the
main task each time.
* Made internal naming consistent. CamelCase Python names are NOT
separated by an underscore.
Very long ago, this was apparently not supported in esptool yet, at
least when operating over USB CDC. This now works just fine, and
our esp webtool relies on it as well. It makes flashing faster,
too.