Commit Graph

43 Commits

Author SHA1 Message Date
Scott Shawcroft a8dd881ee5
Fix GPIOTE crashes by checking everything is ok
Fixes #5240 and fixes #5211
2021-08-27 16:07:29 -07:00
Scott Shawcroft 412eb87080
Switch to pin, frequency and duty_cycle PulseOut
Passing in a PWMOut still works but is deprecated. It will be
removed in CircuitPython 8.0.0

This also switches STM32 timer indices and channel indices to
0-based in our pin data rather than `- 1` everywhere. The latter is
more bug prone.

Most of the way for #3264

Tested on Metro M0, Metro M4, Feather S2, Feather nRF52840, Feather
STM32F4 and Arduino RP2040.
2021-07-26 18:35:49 -07:00
microDev a52eb88031
run code formatting script 2021-03-15 19:27:36 +05:30
Lucian Copeland 8021da08d3 Fix problematic whitespace on pulseout parameter errors 2020-08-27 11:07:47 -04: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 93b373d617 "pop from empty %q"
Saves 12 bytes code on trinket m0
2020-08-04 18:42:09 -05:00
Jeff Epler c849b781c0 Combine 'index out of range' messages 2020-08-04 14:45:45 -05:00
Jeff Epler dddd25a776 Combine similar strings to reduce size of translations
This is a slight trade-off with code size, in places where a "_varg"
mp_raise variant is now used.  The net savings on trinket_m0 is
just 32 bytes.

It also means that the translation will include the original English
text, and cannot be translated.  These are usually names of Python
types such as int, set, or dict or special values such as "inf" or
"Nan".
2020-08-04 13:34:29 -05:00
Scott Shawcroft b580b34cbf
Merge remote-tracking branch 'adafruit/master' into lower_power 2020-04-14 17:14:44 -07:00
Jeff Epler 1d8a073c05 nrf: protomatter port 2020-04-14 18:24:58 -05:00
Scott Shawcroft 7e69d30c02
Fix nRF PulseIn 2020-04-03 14:22:56 -07:00
Scott Shawcroft 76ca13b6ed
Fix SAMD51 pulsein 2020-03-13 17:21:15 -07:00
Scott Shawcroft affd3fcc2a
Clear the pending IRQ in the NVIC as well. 2020-03-13 11:16:38 -07:00
Scott Shawcroft 00d5f63e7c
Hopefully fix PulseIn 2020-03-13 11:12:31 -07:00
Scott Shawcroft 6f60afe8c5
First try at lowering the power consumption 2020-03-13 11:12:30 -07:00
hathach 894cad2e17 upgrade nrfx API to v2 2019-12-17 21:39:52 +07:00
jepler df48312ce7 nRF: PWMOut: At deinit, make pin available again
Closes: #2146
2019-09-11 20:09:38 -05:00
Jeff Epler 11dd3a260e nrf: Use RUN_BACKGROUND_TASKS 2019-08-11 08:53:02 -05:00
Jeff Epler 2bc704fe07 ports/nrf: factor out routines for allocating, freeing pwm channels 2019-07-26 07:52:37 -05:00
Scott Shawcroft 5610e05b8c
Fix up nrf so that it is initialized properly. Also, do not reset
it's pins.
2019-07-06 12:48:16 -07:00
Dan Halbert a345ef28f2 finish Makefile refactoring; nrf builds work 2019-02-15 18:55:10 -05:00
Scott Shawcroft ec03887040
Fix hallowing and nrf builds 2019-01-31 11:42:15 -08:00
hathach cfc4c8cbfa
minor clean up 2019-01-09 15:43:54 +07:00
hathach db82160eef
fix pulsein incorrect compute 2019-01-09 15:15:30 +07:00
hathach 6752266673 added pulsein using gpiote (gpio interrupt) 2018-12-18 22:05:17 +07: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
Dan Halbert 2262efc311 PulseOut working 2018-10-16 11:05:02 -04:00
Dan Halbert ca737e6f7c Don't disable tempoarily in deinit(). 2018-10-09 21:23:47 -04:00
Dan Halbert 91a88cf568 Allow variable freq PWMOut; use multiple channels if same freq 2018-10-09 20:52:55 -04:00
Dan Halbert 585597a252 pin files rework; implement pin claiming; add more boards 2018-08-31 18:05:55 -04:00
Egor Leonenko 18e9f74738
Fix PWM Support on NRF52840
Replace usage of pin number alone with port+pin combination in NRF port of PWMOut
2018-08-17 19:34:03 +12:00
Scott Shawcroft 76e0373576
Fix nrf and unix 2018-08-16 17:41:38 -07:00
arturo182 388f554ff6 nrf: Rewrite the DigitalInOut hal using nRFx 2018-07-08 17:48:32 +02:00
jerryneedell 8150150a24
return "false" for stub call
See #918 for discussion
2018-06-10 07:11:44 -04:00
Scott Shawcroft 8195df1b55 Stub out get_paused in nrf builds. 2018-06-08 14:01:54 -07:00
arturo182 8bfdaa89b9 nrf: Remove SAMD mentions carried over while copying files 2018-02-07 22:44:27 +01:00
microbuilder ad7cd0399d Added 'mp_raise_NotImplementedError(NULL)' 2017-12-22 11:48:07 +01:00
microbuilder b9e229f739 Removed old code snippets 2017-12-22 11:47:15 +01:00
microbuilder ace872bf11 Added 'mp_raise_NotImplementedError(NULL)' 2017-12-22 11:45:51 +01:00
microbuilder 60a23f0fb6 nRF52 update with internal file system support 2017-12-21 13:49:14 +01:00