Commit Graph

50 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
gamblor21
f61c4e62c1 Removing from smaller builds 2020-11-11 10:24:33 -06:00
Jeff Epler
27c2eb1869 feather_m0_express: make ja translation fit 2020-08-12 11:51:56 -05:00
Jeff Epler
1d2cc0b968 I2CPeripheral: Rename class and its module
This is an incompatible change.
2020-06-25 11:44:19 -05:00
warriorofwire
5a80f5e606 nerf vectorio on a ton of m0 and overcommitted m4 boards due to translation text size 2020-05-12 15:23:00 -07:00
Dan Halbert
7b79ac3739 Parameterize linker script 2019-10-20 23:50:12 -04:00
Scott Shawcroft
fd8050b369
Turn off features to make room for ePaper 2019-08-22 15:19:45 -07:00
Scott Shawcroft
0b1f605a9b
Turn off gc opt for more M0 boards 2019-06-12 13:20:21 -07: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
4e85c1ef91 Implement forced clean builds for boards so designated.
Mark boards that set CFLAGS_INLINE_LIMIT for particular langauges as needing clean builds.

Fixes #1910.
2019-05-24 15:32:24 -04:00
Scott Shawcroft
defc6dceb0
Slim down feather m0 express 2019-04-12 16:18:08 -07: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
Scott Shawcroft
96a924f5f0
Turn off networking on M0s.
It takes 10k of code space and isn't very useful because of the
M0's limited RAM. Disabling it allows us to add other things.
2019-03-12 17:18:30 -07:00
Scott Shawcroft
2e500a8a29
Copy inline setting on feather m0 express that the metro has. 2019-03-12 14:06:01 -07: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
Scott Shawcroft
2d136d58bf
Fix other builds and hallowing 2019-01-17 14:45:29 -08:00
Scott Shawcroft
6ef8639971
Rework safe mode and have heap overwrite trigger it.
This creates a common safe mode mechanic that ports can share.
As a result, the nRF52 now has safe mode support as well.

The common safe mode adds a 700ms delay at startup where a reset
during that window will cause a reset into safe mode. This window
is designated by a yellow status pixel and flashing the single led
three times.

A couple NeoPixel fixes are included for the nRF52 as well.

Fixes #1034. Fixes #990. Fixes #615.
2018-12-06 14:24:20 -08:00
Scott Shawcroft
9d91111b1b
Move atmel-samd to tinyusb and support nRF flash.
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.
2018-11-08 17:25:30 -08:00
Nick Moore
f6482699a0 Merge remote-tracking branch 'origin/master' into circuitpython/nickzoic/703-wiznet-5500-native 2018-10-25 12:20:50 +11:00
Paul Sajna
1447df3fa6 change BAT to BATTERY 2018-10-14 23:34:49 -07:00
Paul Sajna
f1028b5f96 add pin def for BAT 2018-10-13 15:53:22 -07:00
Nick Moore
8d75c3d339 Changed to only build wiznet for {feather|metro}_m[04]_express 2018-10-11 13:42:26 +11:00
Pierrick C
53853289eb Move VOLTAGE_BATTERY line just under D9 line 2018-09-14 09:02:04 +02:00
Pierrick C
8eda4bb473 Add VOLTAGE_MONITOR alias for D9 pin to feather boards 2018-09-13 23:36:04 +02:00
Noralf Trønnes
11cbeb87ad ports/atmel-samd: Implement i2cslave.I2CSlave
This adds support for SAMD acting as a I2C slave in polled mode.
2018-08-16 17:20:49 +02:00
Scott Shawcroft
769788d3c7 Turn off USB pin objects since they are always used for USB. 2018-06-08 12:56:32 -07:00
Scott Shawcroft
fd71e56891 atmel-samd: Re-org helper peripheral files into their own subdirectory.
Ideally in the future they won't depend on ASF4 or MicroPython.
2018-06-01 15:07:31 -07:00
Dan Halbert
45db48bbaa make longint choice mechanism more readable 2018-05-22 08:04:14 -04:00
Dan Halbert
5680933483 refactor longint settings; make crickit cpx build 2018-05-21 23:58:03 -04:00
Noralf Trønnes
cf33ad9a54 atmel-samd/samd21: Enable long int on Express boards
This is necessary for using 1970 epoch in the time module.
2018-05-18 12:35:26 +02:00
Matt Land
173a0a5faa arduino, circuitplayground, feather boards 2018-05-17 13:42:08 -04:00
Matt Land
c2fa892a02 fix formatting 2018-05-16 17:38:44 -04:00
Matt Land
de885e81b1 Merge branch 'feature-i2c-gemma' into feature-default-spi-circuit-playground 2018-05-16 16:07:55 -04:00
Matt Land
2c067edf54 used pins.c instead of README.rst 2018-05-16 15:54:01 -04:00
Matt Land
3144654854 SPI for all boards 2018-05-16 15:36:36 -04:00
Matt Land
244866c2c3 spi on much 2018-05-16 15:25:24 -04:00
Matt Land
4e65752d6e feather m0 boards 2018-05-15 15:28:23 -04:00
Noralf Trønnes
2893e795fc atmel-samd/samd21: Use XOSC32K on boards with a crystal
Use XOSC32K on boards that have BOARD_HAS_CRYSTAL defined and set to 1.
2018-05-05 18:45:15 +02:00
Scott Shawcroft
812fe0c93f Turn on nvm in 3.0.
Its 256b on M0 and 8k on M4 to match flash erase sizes.

Fixes #758
2018-04-13 16:22:28 -07:00
Scott Shawcroft
01aceaae50 Support all boards and remove erase and page sizes because they never change. 2018-03-01 12:45:12 -08:00
Scott Shawcroft
15f626be58 m4 qspi works. m0 compiles 2018-02-19 14:02:04 -08:00
Scott Shawcroft
4710a2adba Compiles for m4. Untested on m0.
This introduces a new spi_flash_api.h that works for both SPI and
QSPI. The previous spi_flash functions are now called external_flash
to minimize confusion.
2018-02-19 14:02:04 -08:00
Dan Halbert
d8686cc002 use correct LD_FILE in mpconfigboard.mk for boards with external flash 2018-01-03 16:49:38 -05:00
Dan Halbert
72c911be97 Support SPI flash chips for CIRCUITPY, using non-DMA SPI for now. 2017-11-27 21:00:24 -05:00
mrmcwethy
e0eae5cb2a Enable the Neopixel status light on Metro M0 Express and Feather M0 Express boards 2017-11-21 14:39:56 -08:00
Scott Shawcroft
3cb5e7ea58 atmel-samd: Update Feather M0 Express USB PID
This makes it different from the bootloaders and Arduino.
2017-11-07 14:26:37 -08:00
Scott Shawcroft
4aeef100f6 atmel-samd: More USB polish
* Introduce a python script to generate the USB descriptor instead of
  a bunch of C macros. In the future, we can use this dynamically in
  CircuitPython.
* Add support for detecting read-only mass storage mounts.

Fixes #377
2017-10-30 18:29:20 -07:00
Scott Shawcroft
73c15dcf8b Merge commit 'f869d6b2e339c04469c6c9ea3fb2fabd7bbb2d8c' into nrf2_merge
This is prep for merging in the NRF5 pull request.
2017-10-24 22:31:16 -07:00