Commit Graph

11 Commits

Author SHA1 Message Date
Scott Shawcroft 40118bcf57
Add `board_deinit` for use with sleep
This changes lots of files to unify `board.h` across ports. It adds
`board_deinit` when CIRCUITPY_ALARM is set. `main.c` uses it to
deinit the board before deep sleeping (even when pretending.)

Deep sleep is now a two step process for the port. First, the
port should prepare to deep sleep based on the given alarms. It
should set alarms for both deep and pretend sleep. In particular,
the pretend versions should be set immediately so that we don't
miss an alarm as we shutdown. These alarms should also wake from
`port_idle_until_interrupt` which is used when pretending to deep
sleep.

Second, when real deep sleeping, `alarm_enter_deep_sleep` is called.
The port should set any alarms it didn't during prepare based on
data it saved internally during prepare.

ESP32-S2 sleep is a bit reorganized to locate more logic with
TimeAlarm. This will help it scale to more alarm types.

Fixes #3786
2020-12-08 10:52:25 -08:00
Lucian Copeland 8791ca6af3 implement requested changes 2020-04-23 13:33:41 -04:00
Dan Halbert 7b79ac3739 Parameterize linker script 2019-10-20 23:50:12 -04:00
Dan Halbert 1bb4fccc3b Turn off SUPEROPT on gc.c instead of trying to squueze inline limit so much; reorganize mpconfigboard.mk files 2019-06-12 11:08:22 -04:00
Dan Halbert 0b3f29780a shrink a bunch of builds to fit 2019-06-11 18:46:06 -04:00
Scott Shawcroft 0f003ac5b8
Reorganize board busses into shared-bindings and shared-module. 2019-04-08 16:58:50 -07:00
Dan Halbert 88068876ed turn off frequencyio for all SAMD21 builds 2019-03-27 17:54:36 -04:00
Justin R. Cutler d6c7bda6d1 Enable 256b of nvm storage for all samd21x18-bootloader.ld boards. 2019-03-24 12:02:07 -04:00
sommersoft 2cd6a79016 better handle frequencyio inclusion 2019-03-01 22:46:57 -06:00
Dan Halbert 5154e0581e WIP: atmel-samd trinket build works 2019-02-15 00:28:20 -05:00
ShawnHymel dd5165c92c Added support for SparkFun SAMD21 Dev 2019-01-25 12:27:31 -06:00