Commit Graph

124 Commits

Author SHA1 Message Date
Jeff Epler
1d1ff5f308 Merge remote-tracking branch 'origin/main' into update-protomatter-rp2 2021-02-26 09:56:35 -06:00
Dan Halbert
67406488d1 merge from upstream; re-alphabetize 2021-02-19 14:22:50 -05:00
Jeff Epler
ff1942cff6 Enable protomatter on RP2040 builds
Also found a race condition between timer_disable and redraw, which
would happen if I debugger-paused inside common_hal_rgbmatrix_timer_disable
or put a delay or print inside it.  That's what pausing inside reconstruct
fixes.

So that the "right timer" can be chosen, `timer_allocate` now gets the `self`
pointer.  It's guaranteed at this point that the pin information is accurate,
so you can e.g., find a PWM unit related to the pins themselves.
This required touching each port to add the parameter even though it's
unused everywhere but raspberrypi.
2021-02-12 08:25:15 -06:00
Dan Halbert
f0564b4986 merge from upstream; complicated webusb merge 2021-02-11 18:50:02 -05:00
Lucian Copeland
d00bee2149 Fix I2C Repeated start error by converting to IT mode 2021-02-10 14:59:19 -05:00
microDev
dc332baa87
update common_hal_reset_pin() 2020-12-28 20:04:00 +05:30
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
Dan Halbert
8b7c23c1ee address review comments 2020-12-01 20:01:14 -05:00
Dan Halbert
104a089677 deep sleep working; deep sleep delay when connected 2020-11-26 22:06:37 -05:00
Dan Halbert
ef0830bfe2 merge from upstream + wip 2020-11-25 17:52:06 -05:00
jgillick
4c5e7520f5 Fix NVM by clearing FLASH_FLAG_PGPERR 2020-11-23 00:25:41 -08:00
Dan Halbert
a0f1ec3c4a wip 2020-11-22 19:10:09 -05:00
jgillick
381889f6bc Cleanup 2020-11-22 01:19:28 -08:00
jgillick
0b858440b0 Fix formatting. 2020-11-22 01:15:05 -08:00
jgillick
63b0bf9075 Merge remote-tracking branch 'origin/main' into thunderpack1.2 2020-11-22 01:07:03 -08:00
Dan Halbert
75559f35cc wip: ResetReason to microcontroller.cpu 2020-11-21 23:29:52 -05:00
jgillick
5f0a372a22 Merge tag '6.0.0' into thunderpack1.2 2020-11-17 00:02:24 -08:00
jgillick
119e9d3820 Add Thunderpack 1.2 2020-11-16 23:50:00 -08:00
Dan Halbert
ffff02c053 Merge remote-tracking branch 'adafruit/main' into sleep 2020-11-16 12:06:11 -05:00
Scott Shawcroft
68eb809fbf
Update parallel bus signatures 2020-11-13 18:57:52 -08:00
microDev
930cf14dce
Add check for invalid io, function to disable all alarms 2020-10-27 16:17:26 -07:00
microDev
e35938971a
Add description of alarm modules 2020-10-27 16:16:55 -07:00
Jeff Epler
16ed875f4e canio: remove unused fields
these relate to properties that were removed as well
2020-10-06 20:14:50 -05:00
Jeff Epler
81d7ef0256 stm: canio: remove stray optimization flag for debugging 2020-10-06 20:13:23 -05:00
Jeff Epler
eed3387f4e stm32: canio: Fix message cancellation
.. it's necessary to wait for a cancellation request to actually free
the respective Tx mailbox
2020-10-06 20:12:10 -05:00
Jeff Epler
abe0405d6e stm32: canio: Fix canio.CAN.restart() 2020-10-06 20:12:06 -05:00
Jeff Epler
e5a0af9216 stm32: canio: When Tx mailboxes are full, cancel an old message
.. also add the 8ms wait for transmission that the atmel sam port
has
2020-10-06 20:11:58 -05:00
Jeff Epler
a7dccb39a4 stm32: canio: remove unused functions 2020-10-06 20:11:51 -05:00
Jeff Epler
23bd2496de stm32: canio: remove some unneeded declarations 2020-10-06 20:11:43 -05:00
Jeff Epler
01e9e355ce canio: implement for stm32f405
The has successfully run my loopback self-test program for CAN,
which tests transmission, reception, and filtering.  The 1M baud rate setting
was also verified on saleae to be accurate.
2020-10-06 20:11:35 -05:00
Lucian Copeland
00517b2600 Move missing pin warning to shared-bindings 2020-09-23 11:39:39 -04:00
Jeff Epler
ce266425e1
Merge pull request #3441 from hierophect/stm32-rgbmatrix-crashfix
STM32: Add never_reset reservation to RGBMatrix init
2020-09-20 07:51:09 -05:00
Lucian Copeland
c58bd4c047 Add never_reset reservation to RGBMatrix init 2020-09-18 12:38:15 -04:00
Lucian Copeland
00ee94d24b Add SPI memset, optional flags 2020-09-16 14:22:18 -04:00
root
2690faec43 Moved checks for invalid pin to common-hal/microcontroller/Pin.c 2020-09-05 11:42:06 -05:00
Jeff Epler
49a22b0c55
Merge pull request #3320 from hierophect/stm32-meowbit-fix
STM32: Fix Meowbit startup and associated bugs
2020-08-27 13:05:56 -05:00
Dan Halbert
24fb08dbd9
Merge pull request #3337 from hierophect/pulseout-errorstyle
Fix problematic whitespace on pulseout parameter errors
2020-08-27 13:22:26 -04:00
Lucian Copeland
8021da08d3 Fix problematic whitespace on pulseout parameter errors 2020-08-27 11:07:47 -04:00
Lucian Copeland
8d2299e61e Merge remote-tracking branch 'upstream/main' into stm32-meowbit-fix 2020-08-26 18:50:26 -04:00
Lucian Copeland
c229345741 improve efficiency of stm32 random gen 2020-08-26 18:47:19 -04:00
Lucian Copeland
05bde255f7 Add random to ESP32-S2, fix it on STM32 2020-08-25 14:00:29 -04:00
Lucian Copeland
de9fd4a0fb Fix null dereference, invert auto_brightness to reenable screen 2020-08-25 10:37:55 -04:00
Scott Shawcroft
1527a3ce92
Merge remote-tracking branch 'adafruit/main' into add_pwmio 2020-08-24 18:25:18 -07:00
Scott Shawcroft
644d2ba7a2 Add more "extern" declarations for gcc10 compat
gcc has tightened the restrictions on forward declarations that lack
"extern".  Fix them up.
2020-08-21 14:39:37 -05:00
Scott Shawcroft
a5b01f7361
Merge remote-tracking branch 'adafruit/main' into add_pwmio 2020-08-21 11:13:53 -07:00
Scott Shawcroft
6857f98426
Split pulseio.PWMOut into pwmio
This gives us better granularity when implementing new ports because
PWMOut is commonly implemented before PulseIn and PulseOut.

Fixes #3211
2020-08-18 13:08:33 -07:00
Lucian Copeland
da75445cd5 Style changes, reposition runtime errors 2020-08-18 11:42:06 -04:00
Lucian Copeland
0fc730bc5a Expand PulseOut API, debug cleanup 2020-08-14 16:36:02 -04:00
Jeff Epler
1cf3762392 Merge remote-tracking branch 'origin/main' into stm32-sdioio 2020-08-10 12:54:12 -05:00
Jeff Epler
93b373d617 "pop from empty %q"
Saves 12 bytes code on trinket m0
2020-08-04 18:42:09 -05:00