Scott Shawcroft
3e9daeca8f
Merge pull request #5244 from dhalbert/stop-pio-on-deinit
...
Stop StateMachine explicitly on deinit
2021-08-27 08:59:04 -07:00
Scott Shawcroft
8edf0c5d3c
Merge pull request #5243 from dhalbert/user-interruptible-pio
...
Allow PIO to be user-interruptible
2021-08-27 08:57:08 -07:00
Dan Halbert
09897dbc82
Merge pull request #5238 from tannewt/fix_rp2_usb
...
Fix usb irq race
2021-08-27 10:40:06 -04:00
Dan Halbert
0261cacb06
Stop StateMachine explicitly on deinit
2021-08-27 10:07:14 -04:00
Dan Halbert
f1d25af7ba
Allow PIO to be user-interruptible
2021-08-27 08:38:51 -04:00
Neradoc
4d05bb26bf
change board.ID to board.board_id
2021-08-26 23:11:55 +02:00
Neradoc
b14b294516
add board.ID
2021-08-26 23:11:55 +02:00
Scott Shawcroft
9663a227a3
Fix usb irq race
...
Run the USB background once after we hook our IRQ up in case we
missed one.
Related to #5212
2021-08-26 10:20:26 -07:00
Jeff Epler
bef07961ab
raspberrypi: audiopwmout: subtle for #5092
...
I noticed that the loop over 65535 possible denominators took a long time,
causing up to 100ms wait for a sound sample to start playing!
This algorithm, adapted from an algorithm shown in Python's fractions.py,
is guaranteed to find the best denominator in a small number of steps
(I think log2-many steps but I'm not sure). In practice, it means the time
between samples playing is just 10ms, and some of that is recreating the
sine wave sample in Python each time.
It often finds the same solution as the old code, but sometimes it finds
one a bit better since it compares the ratios using float point instead
of integer arithmetic.
2021-08-24 16:33:20 -05:00
Jeff Epler
77b0c76a37
raspberrypi: audiopwmout: simple fix for #5092
2021-08-24 15:54:06 -05:00
microDev
2e41550770
Merge pull request #5210 from DavePutz/issue_5091
...
Change optimizer option so RP2040 DEBUG builds work
2021-08-24 12:24:01 +05:30
root
0e3aa27794
Change optimizer option so RP2040 DEBUG builds work
2021-08-23 21:37:34 -05:00
Scott Shawcroft
6d49a9f0c5
Merge pull request #5205 from jepler/deprecate-vertical-scroll
...
Deprecate Display's constructor arg set_vertical_scroll
2021-08-23 12:52:12 -07:00
Scott Shawcroft
935888927e
Merge pull request #5196 from dhalbert/samd-audio-fixes
...
improve SAMD audio DMA
2021-08-23 10:27:59 -07:00
Jeff Epler
379461df7d
Deprecate Display's constructor arg set_vertical_scroll
2021-08-23 09:17:59 -05:00
Dan Halbert
b8b23c97d9
improve SAMD audio DMA
2021-08-21 14:34:37 -04:00
microDev
f6d1caabc9
Merge pull request #5182 from tannewt/fix_imx
...
Check background pending before sleep
2021-08-21 08:00:10 +05:30
Dan Halbert
419d374d3c
Merge pull request #5181 from kattni/macropad-speaker-enable
...
Add SPEAKER_ENABLE to MacroPad
2021-08-19 19:32:28 -04:00
Kattni Rembor
1185228b90
Remove SPEAKER_SHUTDOWN pin.
2021-08-19 15:18:19 -04:00
Scott Shawcroft
d2860b58b0
Check background pending before sleep
...
There is a race between when we run background tasks and when we
sleep. If an interrupt happens between the two, then we may delay
executing the background task. On some ports we checked this for
TinyUSB already. On iMX RT, we didn't which caused USB issues.
This PR makes it more generic for all background tasks including
USB.
Fixes #5086 and maybe others.
2021-08-19 12:18:13 -07:00
Kattni Rembor
ae923db06d
Add SPEAKER_ENABLE pin to MacroPad.
2021-08-18 17:30:42 -04:00
Scott Shawcroft
0390f812be
Fix RP2040 I2C instance check
2021-08-18 08:55:52 -07:00
Scott Shawcroft
a5143d284b
Merge pull request #5161 from ZodiusInfuser/patch_micropy
...
Removed unnecessary defines from Pimoroni board files
2021-08-17 12:40:12 -07:00
Scott Shawcroft
abe8638f41
Merge pull request #5160 from ZodiusInfuser/patch_tiny2040
...
Removed default UART, SPI and I2C from Tiny2040 config
2021-08-16 14:54:52 -07:00
ZodiusInfuser
2255ab1486
Removed unnecessary Micropy and Ignore defines
2021-08-16 16:40:12 +01:00
ZodiusInfuser
5fb507c3ff
Removed default UART SPI and I2C from Tiny2040 config
2021-08-16 16:31:31 +01:00
Scott Shawcroft
de796e2304
Move OneWire to onewireio
from busio
...
This will allow finer grained inclusion in 8.0.0
Fixes #5135
2021-08-12 10:47:14 -07:00
Scott Shawcroft
9c77d2653f
Merge pull request #5099 from ZodiusInfuser/main
...
Added definitions for some upcoming Pimoroni LED driver boards
2021-08-12 09:27:21 -07:00
ZodiusInfuser
47c8ff0570
Removed unnecessary defines
2021-08-11 23:34:20 +01:00
Scott Shawcroft
0632a1e681
Merge pull request #5060 from cdwilson/cdwilson/circuitpython/sparkfun-stm32f405-micromod
...
stm/boards: Add support for SparkFun STM32 MicroMod Processor board.
2021-08-11 12:19:16 -07:00
Dan Halbert
4608877c12
address review comments
2021-08-11 12:10:49 -04:00
Dan Halbert
35aac3d26b
display SPI now 10MHz; set PWM duty cycle to zero at stop to quiet output
2021-08-11 10:48:53 -04:00
Dan Halbert
24e61a7da8
Track more carefully which audio buffers to fill, based on interrupt channels
2021-08-10 22:00:09 -04:00
ZodiusInfuser
e587bd7dc0
Added final USB PIDs
2021-08-10 11:17:06 +01:00
Chris Wilson
e741330ca8
Consistent pin naming for SparkFun MicroMod processor boards.
2021-08-09 23:10:52 -07:00
Dan Halbert
2451c788f4
valid channels in audio_dma_stop; cleaner supervisor_ticks mgmt in keypad
2021-08-09 09:47:13 -04:00
Dan Halbert
59b89fdc5c
Fix various audio DMA issues:
...
RP2040 and SAMD51:
- Detect when DMA has finished, and stop DMA audio explicitly.
- Do not accidentally reuse `first_buffer` supplied by WaveFile or RawSample. Always realloc `first_buffer` and `second_buffer`
RP2040:
- When audio playing is stopped, write a final zero to the output register. This prevents residual PWM tones.
- Handle buffer size for 8-bit samples properly for 16-bit output.
- Fail on some edge cases (which may not be possible at the moment).
2021-08-09 09:47:13 -04:00
Dan Halbert
2cd80d1074
wip, with debugging printf's
2021-08-09 09:47:13 -04:00
Dan Halbert
fd71d924d2
partial buffer mgmt fix
2021-08-09 09:47:13 -04:00
ZodiusInfuser
f707fa107a
Tweaks to Interstate75 pinout
2021-08-05 15:00:47 +01:00
ZodiusInfuser
11ed759cf9
Tweaks to Plasma2040 pinout
2021-08-05 13:01:50 +01:00
Jeff Epler
ac4b10bcd9
It's "shared-module", not "shared-modules"
2021-08-03 10:37:47 -05:00
ZodiusInfuser
6663dacedb
Added board configurations for Plasma and Interstate
2021-08-03 14:01:56 +01:00
Dan Halbert
a358e5f58a
Add board-specific pico-sdk settings; set xosc multipler for Adafruit boards
2021-07-30 18:50:21 -04:00
Scott Shawcroft
9e54606ba1
Set output low in SIO
2021-07-28 09:00:36 -07:00
Scott Shawcroft
4be904fd4a
Switch to gpio mux to disable/enable pwm signal
2021-07-27 12:38:18 -07:00
Scott Shawcroft
e87e1d8175
Block when setting duty_cycle until the new value is taken
2021-07-27 12:37:35 -07:00
Scott Shawcroft
daf90aae83
Merge remote-tracking branch 'adafruit/main' into pulseout_switch
2021-07-26 18:48:59 -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
Tod Kurt
0d401e7bc8
fix whitespace on new flash chip for Arduino Nano RP2040
2021-07-24 13:22:02 -07:00