Scott Shawcroft
89467ecdab
Merge tag '8.2.7' into merge_in_8.2.7
2023-10-20 15:21:30 -07:00
Radomir Dopieralski
12b6a9b5be
Add qrio.QRDecoder.find() to locate codes without decoding
...
Fix #8452
2023-10-14 21:57:54 +02:00
Scott Shawcroft
9633c4e78f
Merge remote-tracking branch 'adafruit/main' into v1.20-merge
2023-10-11 11:21:57 -07:00
Scott Shawcroft
923a5b28ca
Add NO_FPS_LIMIT instead of magic numbers
2023-10-05 14:56:11 -07:00
Scott Shawcroft
807edd4c66
Improve framebufferdisplay.refresh()
...
Now the defaults make it easy to refresh when you want. It matches
the displayio.Display().refresh() behavior.
2023-10-05 14:56:11 -07:00
Dan Halbert
06765ccfa6
RP2040 now builds
2023-10-05 14:49:49 -04:00
Dan Halbert
b4e29e9426
Merge pull request #8456 from tannewt/remove_deprecated_apis
...
Remove deprecated apis
2023-10-03 15:08:39 -04:00
Dan Halbert
7e0e6fcdca
Metro M4 now compiles
2023-10-03 15:03:59 -04:00
Scott Shawcroft
8183d8ef50
Remove displayio.*.show()
...
Use `displayio.*.root_group =`.
2023-10-02 14:28:59 -07:00
Scott Shawcroft
a15c111d5c
Merge pull request #7718 from microdev1/watchdog-rp
...
Update WatchDog implementation
2023-10-02 14:17:29 -07:00
Scott Shawcroft
4c21f22114
Improve RGBMatrix allocation tracking
...
This prevents leaks but not all use-after-free issues.
2023-09-29 14:55:42 -07:00
Dan Halbert
1c388ab315
finish converting to MP_REGISTER_ROOT_POINTER()
2023-09-29 10:49:34 -04:00
Dan Halbert
76ff01452b
Trinket M0 comes up; still very much wip
2023-09-28 16:22:10 -04:00
b3141933af
FramebufferDisplay: dirty rows are physical
...
.. so they need a correct row count, which could be the "core.width"
of a 90/180 rotated display.
While I discovered this on the very unusual 320x960 display it could have
affected any framebuffer display that was taller than it was wide,
including sharp memory displays and rgbmatrix displays.
2023-09-27 15:15:34 -05:00
f80d08e207
Make dot clock displays with a masked portion on the left work
2023-09-27 15:15:32 -05:00
04ad525c09
Re-work ioexpander_send_init_sequence
...
* can now send the I2C bus initialization code
* can now reset the display on an I/O expander pin
* parameters re-ordered to enable easy use with **board.TFT_IO_EXPANDER
2023-09-25 11:31:16 -05:00
409d1a83b6
displayio: fix releasing dot clock framebuffres in release_displays
...
this caused problems particularly when the framebuffer was not associated
with a display.
2023-09-25 09:45:35 -05:00
MicroDev
27fd60d739
implement suggested changes
...
- update the docs
- split out common `watchdog_reset`
- revert to using `None` instead of `WatchDogMode.NONE`
2023-09-24 15:23:38 +00:00
1c09a0b494
fix string construction
2023-09-22 13:53:56 -05:00
ea5bc12a07
fix getting protocol
2023-09-22 13:53:20 -05:00
Dan Halbert
2c0fa0f7dc
initial merge from v1.20.0; just satisifying conflicts
2023-09-19 11:10:12 -04:00
5a60b8d573
Only delay when explicitly called for
2023-09-18 12:58:54 -05:00
91b98dc9d5
fix constness
2023-09-15 14:45:53 -05:00
ef9f75ead1
Correct idle status of SCK pin
2023-09-14 14:56:39 -05:00
4b41fdb586
Fast(ish) special purpose bitbang spi over i2c
...
with the i2c bus operating at 400kHz this achieves a 4.8kHz SPI clock
rate which could be worse.
It accepts the same style of init sequence as displayio.
tested by scoping the pins on the espressif lcd dev kit with a dummy init sequence:
```python
dotclockframebuffer.ioexpander_send_init_sequence(
bus=bus,
i2c_address=expander_addr,
gpio_address=1,
gpio_data_len=1,
gpio_data=0xff,
cs_bit=1,
mosi_bit=3,
clk_bit=2,
init_sequence=init_sequence)
```
2023-09-14 14:42:48 -05:00
ed9cacf41d
Add DotClockFramebuffer
2023-08-30 10:30:15 -05:00
Bobby Jap
ae181d69af
Update wrappers to use new gzip changes
2023-08-28 21:59:00 -07:00
c029d6a165
Merge remote-tracking branch 'origin/8.2.x' into merge-82x
2023-08-22 08:49:16 -05:00
Dan Halbert
10a022db87
consolidate and shorten some error messages
2023-08-19 12:39:54 -04:00
Dan Halbert
6851faacaa
Merge remote-tracking branch 'adafruit/main' into merge-micropython-v1.19.1
2023-08-18 13:29:39 -04:00
Dan Halbert
d582407b06
pre-commit fixes
2023-08-14 00:59:22 -04:00
Dan Halbert
2171e67c1b
merge latest adafruit/main
2023-08-13 19:43:54 -04:00
Dan Halbert
fe0e2f13bc
wip; fix qstr processing
2023-08-10 20:06:32 -04:00
Melissa LeBlanc-Williams
ce61fd857b
Bug fix for skip on only one bmp
2023-08-10 08:15:18 -07:00
Melissa LeBlanc-Williams
78d1ebb529
Fix calculations
2023-08-08 18:33:09 -07:00
Dan Halbert
2ff8667e75
wip; remove long-lived functionality; remove PR#2614
...
Trinket M0 compile has no compilation errors, but has link errors to fix.
2023-08-08 20:41:17 -04:00
Melissa LeBlanc-Williams
5393bc4ed0
More formatting
2023-08-08 13:07:50 -07:00
Melissa LeBlanc-Williams
c9c7f02ba4
Fix formatting
2023-08-08 13:03:09 -07:00
Melissa LeBlanc-Williams
549bbdc31c
Alphablend changes
2023-08-08 12:42:48 -07:00
Dan Halbert
0d2c3c3f08
wip: continuing compilation fixes; mp_obj_alloc everywhere
2023-08-07 20:45:57 -04:00
Dan Halbert
465d1c673e
wip
2023-08-03 23:29:00 -04:00
Scott Shawcroft
9152659912
Merge remote-tracking branch 'adafruit/main' into cache_config_desc
2023-08-03 13:37:53 -07:00
Scott Shawcroft
59e6cab252
Cache configuration descriptor
...
We use it to open endpoints as they are used. Fetching the descriptor
as needed can cause issues with devices that we're expecting a control
packet while another transaction was ongoing. Specifically, a usb
thumb drive didn't expect a control transaction while doing a SCSI
transaction.
This PR also aborts transactions on timeout or ctrl-c interrupt. It
doesn't always recover though...
2023-08-02 14:26:11 -07:00
Scott Shawcroft
539f34f7fd
Three small changes
...
1. Raise an exception when creating a USB device when host isn't
initialized.
2. Mark RP2040 dtcm_bss as NOLOAD since it doesn't need to be
loaded (just zeroed.)
3. Fix submodule location for ulab to Jeff's copy.
2023-08-01 13:16:38 -07:00
Dan Halbert
0d4bc8c163
initial v1.19.1 merge; not compiled yet
2023-08-01 13:50:05 -04:00
elpekenin
a51be16d9e
Fix typo, oopsie
2023-07-29 15:10:09 +02:00
elpekenin
c4e915c3b2
Improve error message
2023-07-29 14:39:44 +02:00
Scott Shawcroft
e45a61f57e
Align fatfs window buffer for tinyusb
...
Also, update tinyusb.
2023-07-27 09:15:58 -07:00
Scott Shawcroft
924422eff8
Merge remote-tracking branch 'adafruit/main' into three_small
2023-07-21 09:37:26 -07:00
Scott Shawcroft
5f082561b3
Unify some error strings
2023-07-20 11:20:32 -07:00
346f08f8b9
synthio: Add Synthesizer.note_state
...
This enables the specific use case of checking whether a note's release
phase has ended, but is also potentially useful to implement a sort of
"voice stealing" algorithm in Python code, which can take account of
the note's envelope state as well as other factors specific to the
program.
2023-07-20 13:16:00 -05:00
Dan Halbert
74eb360922
Merge pull request #8143 from kolkmvd/ShiftRegister-multi-data-pin
...
Extended ShiftRegisterKeys to support multiple data pins with shared clock and latch
2023-07-18 23:30:13 -04:00
3ec9f8a118
Merge pull request #8136 from FoamyGuy/blit_skip_self_index
...
adding skip_self_index argument to bitmap.blit()
2023-07-18 15:17:28 -05:00
6174e585af
usb.core.Device: fix trailing NUL on e.g., product string
...
.. and simplify the code to use vstr_add_char.
2023-07-12 08:47:33 -05:00
Scott Shawcroft
2686beab36
Basic USB host support and keyboard workflow
...
Connects up read, write and ctrl_transfer to TinyUSB. USB Host
support is available on iMX RT and RP2040.
Fixes #6527 (imx) and fixes #5986 (rp2).
2023-07-10 14:22:21 -07:00
Marco van der Kolk
6dab35e076
Assign key_count to MP_ROM_NONE on deinit (for gc)
...
Signed-off-by: Marco van der Kolk <marco.git@vdkolk.nl>
2023-07-08 15:21:58 +02:00
Marco van der Kolk
4ba4c2a942
Renamed 'datas' to 'data_pins' to keep codespell happy
...
Signed-off-by: Marco van der Kolk <marco.git@vdkolk.nl>
2023-07-07 00:28:07 +02:00
Marco van der Kolk
5fcd90d8fb
Extended to support multiple data pins
...
Signed-off-by: Marco van der Kolk <marco.git@vdkolk.nl>
2023-07-06 23:40:47 +02:00
foamyguy
72857994f2
change skip_index to skip_source_index
2023-07-05 17:27:41 -05:00
foamyguy
a2ff9527dc
format
2023-07-02 14:40:56 -05:00
foamyguy
96d3e662b3
refactor bitmap.blit into bitmaptools
2023-07-02 14:35:40 -05:00
foamyguy
abf15125ff
adding skip_self_index argument to bitmap.blit()
2023-07-01 11:50:24 -05:00
Dan Halbert
1f2a1a6e78
Improve OnDiskGif doc; check image width
2023-06-22 14:24:48 -04:00
Scott Shawcroft
0da62416a5
Merge pull request #8050 from FoamyGuy/hidden_refresh_areas
...
don't consider refresh areas for hidden groups or tilegrids
2023-06-21 09:56:27 -07:00
foamyguy
4bf4d148c1
always set rendered_hidden false when hidden changes
2023-06-16 18:05:39 -05:00
foamyguy
074c13488b
revert whitespace change. handle hidden by parent
2023-06-16 16:57:37 -05:00
foamyguy
3222cdf847
revert indention change
2023-06-16 16:50:01 -05:00
foamyguy
0e3cdea51e
remove prints
2023-06-16 16:47:24 -05:00
foamyguy
340506be58
revert unrelated epd change
2023-06-16 16:43:10 -05:00
666fb94ca3
Merge pull request #8056 from jepler/matrixportal-s3
...
Add Adafruit MatrixPortal S3 board def & update protomatter
2023-06-13 19:34:08 -05:00
foamyguy
18faeb86c7
more debug prints
2023-06-09 14:53:11 -05:00
foamyguy
ec21dc6975
added debug prints
2023-06-08 12:01:39 -05:00
d4913b04e0
rgbmatrix: update protomatter
...
and re-organize so that esp32 s2/s3 don't do as much at reset
.. it's not necessary (because most data is in esp-idf managed memory)
and doing this saves me from having to debug why reconstruct isn't working
properly on that platform.
This needs to be tested on other platforms again before being merged!
2023-06-08 10:43:32 -05:00
foamyguy
4712a9d301
remove old conditions
2023-05-31 21:00:02 -05:00
foamyguy
f8948c2718
format
2023-05-31 20:58:04 -05:00
foamyguy
4ad54b2853
debugging prints. add rendered_hidden field to tilegrid
2023-05-31 20:57:17 -05:00
a999e40935
synthio: reorganize the order of operations
...
Apply envelope & panning after biquad filtering.
This may fix the weird popping problem. It also reduces the number
of operations that are done "in stereo", so it could help performance.
It also fixes a previously unnoticed problem where a ring-modulated
waveform had 2x the amplitude of an un-modulated waveform.
The test differences look large but it's because some values got changed
in the LSB after the mathematical divisions were moved around.
2023-05-31 14:22:43 -05:00
foamyguy
06057a63e6
don't consider refresh areas for hidden groups or tilegrids
2023-05-30 19:25:08 -05:00
5f7998e6f2
synthio: improve rounding in biquad
...
this removes a marked DC offset and may cure the 'pops' problem.
2023-05-30 13:43:06 -05:00
8a85deb1e2
synthio: shift 19 was too much for a note with amplitude 1
2023-05-30 09:26:14 -05:00
3151656f4b
synthio: more fir-filter removal; fix biquad logic errors
2023-05-30 09:24:26 -05:00
a891e149a6
synthio: Fix multichannel biquad filtering
2023-05-29 11:23:07 -05:00
51027974e5
synthio: apply biquad filters during synthesis
2023-05-29 10:53:48 -05:00
fed8d5825b
synthio: add biquad filter type & basic filter calculations
...
the filter cannot be applied as yet.
2023-05-29 09:50:18 -05:00
11d8a6ec3a
synthio: rename synthesizer.lfos to .blocks
...
.. since math blocks can be placed in it too (and that's useful)
2023-05-23 19:38:25 -05:00
1847c2b72a
synthio: fix, rename voct_to_hz
...
todbot discovered that this function wasn't working right, and wasn't
well-named.
2023-05-23 19:38:24 -05:00
ac02a2668e
synthio: avoid exceptions inside get_buffer
...
.. in case the items in lfos are not actually LFOs
2023-05-21 13:22:50 -05:00
11c110e0da
synthio: remove 'none' case from lfo_tick
2023-05-21 13:22:48 -05:00
4ff08e02eb
synthio: lfo: bugfixes & improvements
...
LFO waveforms are now linearly interpolated by default, but a new
property (interpolated=False) can disable this.
The 'once' logic was improved
2023-05-21 13:22:47 -05:00
e0cfae1d05
synthio: add (untested) phase offset
2023-05-21 13:22:46 -05:00
e259f8d1ba
synthio: Move some divide-by-twos to get_buffer
...
these are always h-type buffers, so let's make the "len" be the element
count, not the byte count.
2023-05-21 13:22:44 -05:00
c435c469f4
synthio: simplify block logic a bit by converting from float just once
2023-05-18 11:55:01 -05:00
391438102b
synthio: Finish implementing Math blocks
2023-05-17 16:32:20 -05:00
5de4d197a2
synthio: start generalizing LFO to Block
2023-05-17 15:05:34 -05:00
3d2db5dbe0
synthio: improve documentation, simplify synthio_lfo_obj_tick_scaled
2023-05-17 11:13:15 -05:00
d4294de62b
synthio: Allow bends of more than one octave
...
up to +-12 sounds good, right?
2023-05-16 16:58:04 -05:00
0b926f8fd4
synthio: improve release/press/change
...
Semi-incompatible name change: The method `release_then_press`
is now `change`. For now a compatibility alias is supported.
Everywhere a `NoteSequence` was accepted, a single note is now accepted.
So for instance, `synth.press(30)` can be written instead of requiring
``synth.press((30,))`. The same goes for `change.retrigger`, which
will accept a single LFO or a sequence.
2023-05-16 10:26:56 -05:00
e6c5e83a45
synthio: remove more dead code
2023-05-16 10:07:22 -05:00
b2c6f9b1a4
synthio: add Synthesizer.lfo, retrigger option
2023-05-16 10:07:07 -05:00
f83212314e
synthio: Add LFOs
2023-05-15 21:15:39 -05:00
Scott Shawcroft
ca01200b4f
Merge pull request #7965 from dhalbert/stm-rtc-monotonic
...
STM: monotonic time even when RTC is changed
2023-05-12 13:43:13 -07:00
Scott Shawcroft
40f1ac1809
Merge pull request #7970 from dhalbert/adafruit_bus_device-no-cs
...
adafruit_bus_device SPIDevice can have None for chip select
2023-05-12 13:39:42 -07:00
Dan Halbert
fe386e7c73
adafruit_bus_device SPIDevice can have None for chip select
2023-05-12 15:29:59 -04:00
f68ab9c5c2
synthio: Fix FIR filtering when audio is stereo
2023-05-12 14:00:32 -05:00
03abc623ef
synthio: note: fix assigning bend & tremolo coefficients dynamically
2023-05-12 14:00:31 -05:00
522c5a9a11
synthio: fix crash on synthesizer.press((float,))
2023-05-12 14:00:31 -05:00
Dan Halbert
e8067851f5
fix subticks handling
2023-05-12 14:39:57 -04:00
585b1c23b5
synthio: Fix sweep-type pitch bends
...
The accumulator saturate logic was wrong, and the sweep was never restarted
either
2023-05-11 19:13:11 -05:00
bc7feb30a5
synthio: implement FIR filtering
...
A 37-tap filter worked fine on RP2040 (prop maker) at 48kHz, so
you can probably pretty much go nuts on M7.
2023-05-11 19:00:44 -05:00
62e6de8ed5
synthio: Factor out synth_note_into_buffer, start adding filter buffer
2023-05-11 18:59:05 -05:00
7845a1b13b
synthio: Add filter boolean property to Note objects
2023-05-11 17:58:09 -05:00
33fb771b76
synthio: Add filter argument to Synthesizer constructor
...
as step 1/n of adding FIR filtering
2023-05-11 17:56:11 -05:00
53e13f15a3
synthio: Finish ading SWEEP_IN
2023-05-11 16:53:40 -05:00
ec30963731
synthio: fix a -Warray-parameter diagnostic
2023-05-11 10:21:56 -05:00
89080564b4
synthio: Fix release time of zero-sustain envelopes
...
When there's no sustain, the release step needs to be calculated from
the attack level, not the sustain level. Otherwise, contrary to intent,
this leads to the actual release taking a loooonnngg time.
2023-05-11 10:19:48 -05:00
095e020809
synthio: Add ring modulation
2023-05-11 09:31:18 -05:00
e87e7ee54f
synthio: add stereo & Note.panning
...
A note can be placed in the center (panning=0) or moved to just the left
(panning=1) or right (panning=-1) channels. Fractional panning values
place it partially in both channels.
2023-05-11 09:31:18 -05:00
1d1907b98b
synthio: Generalize vibrato into bend
...
bend can be static, sweep, or vibrato
2023-05-11 09:31:07 -05:00
Scott Shawcroft
f8cbdf88e5
Merge pull request #7947 from FoamyGuy/polygon_point_typecheck
...
validate point type is tuple in vectorio Polygon
2023-05-09 09:12:17 -07:00
foamyguy
56d9798b1d
validate point type is tuple in vectorio Polygon
2023-05-08 15:39:19 -05:00
c031bda5dd
synthio: implement a range compressor with hard knee
...
This really improves the loudness of the output with multiple notes
while being a nice simple algorithm to implement.
2023-05-08 09:22:42 -05:00
9a9f3229fa
synthio: Perform vibrato in pitch, not as frequency ratio
...
Now the vibrato 'units' are 1.0 = one octave, 1/12 = one semitone,
1/1200 = one cent. Before, the units were somewhat arbitrary and were not
perceptually "symmetrical" around the base frequency.
For vibrato_depth = 1/12 and base frequency of 440,
before: pitch from 403.33 to 476.67Hz, not corresponding to any notes
after: pitch from 415.30 to 466.16Hz, corresponding to G# and A#
2023-05-06 21:35:20 -05:00
a53c0ed066
synthio: add onevo_to_hz, implement midi_to_hz in terms of it
...
this has the side effect of making some notes more accurate, the new
frequency= value in the test is closer to the true midi frequency of
830.609...Hz.
2023-05-06 21:35:19 -05:00
d2aca7eba0
synthio: fix per-note envelope & envelope modification
...
.. and simplify the envelope advance logic by handling
'instant' values more intelligently.
2023-05-04 12:23:45 -05:00
c839888e28
synthio: rename function that records error position
2023-05-04 08:45:31 -05:00
e23e7d3b3f
synthio: get_buffer: return error if object deinited
...
this may fix a weird crash during shutdown
2023-05-04 07:45:45 -05:00
2b0231e9d3
synthio: re-striking a note should re-enter attack
...
.. without changing the current note amplitude
2023-05-04 07:23:50 -05:00
021aaa4599
synthio: remove unused 'phase' from Note objects
2023-05-04 07:23:50 -05:00
1701552dec
synthio: make sustain level relative to attack level
...
and re-vamp overall envelope calculation again.
Now, if you set a low overall attack level like 0.2 this avoids the
"diminishing volume" effect when many notes sound at once. You need
simply choose a maximum attack level that is appropriate for the max
number of voices that will actually be played.
2023-05-04 07:23:50 -05:00
c06597c07a
synthio: replace the quietest releasing note when over-writing
2023-05-04 07:23:49 -05:00
4f56b7646e
synthio: slow ramp overall envelope back up
...
.. and account releasing notes at their sustain level until they're
done.
this ameliorates the effect where multiple releasing notes
don't seem to actually be releasing, but stay at a constant volume.
2023-05-04 07:23:49 -05:00
a7da245ad0
synthio: Add synthio.Note
...
This class allows much more expressive sound synthesis:
* tremolo & vibrato
* arbitrary frequency
* different evelope & waveform per note
* all properties dynamically settable from Python code
2023-05-04 07:23:49 -05:00
5514e3065d
synthio: add midi_to_hz
...
to convert notes in the MIDI 1-127 note scale to floating point Hz
2023-05-04 07:23:48 -05:00
bd9aca2526
Merge pull request #7862 from jepler/synthio-envelope
...
Synthio envelope
2023-05-03 12:42:56 -05:00
dd262258e0
synthio: Add MidiTrack.error_location to record errors
...
.. instead of just printing the unraiseable error on the repl
2023-05-03 09:37:02 -05:00
d8550f4e7c
synthio: fix offset in default square waveform
2023-05-03 09:37:02 -05:00
Dan Halbert
34f565dd89
Merge pull request #7891 from tannewt/fix_epd_uc
...
Add address_little_endian and fix display memory reuse
2023-04-26 00:27:59 -04:00
Scott Shawcroft
75046b3a58
Save space with consolidated errors
2023-04-25 13:26:48 -07:00
Scott Shawcroft
eab202aa53
Fix SH110x
2023-04-25 10:36:34 -07:00
12c1a72f03
synthio: implement envelope
...
This works for me (tested playing midi to raw files on host computer, as
well as a variant of the nunchuk instrument on pygamer)
it has to re-factor how/when MIDI reading occurs, because reasons.
endorse new test results
.. and allow `-1` to specify a note with no sustain (plucked)
2023-04-25 12:05:53 -05:00
Scott Shawcroft
87fc5eff26
Re-enable partial updates when available
2023-04-24 16:24:33 -07:00
Scott Shawcroft
3ee8d0b5cb
Merge pull request #7878 from gamblor21/gifio_palettes
...
Palettes for OnDiskGif
2023-04-24 12:44:53 -07:00
foamyguy
01197a96d1
remove abs() from radius
2023-04-21 16:54:46 -05:00
Scott Shawcroft
b16037859c
Fix native epd boards
2023-04-21 14:36:35 -07:00
Scott Shawcroft
7089ea4d65
Add address_little_endian for displayio
...
Add address_little_endian for epaper displays with little endian
(low byte first) addresses.
Also clears allocated display and display bus memory so it has a
known state. The acep member wasn't always set so it varied
accidentally.
Fixes #7560 . May fix #7778 . Fixes #5119 .
2023-04-21 12:19:29 -07:00
gamblor21
afae39765f
PR review fixups
2023-04-20 18:26:04 -05:00
Scott Shawcroft
66edcf5d03
Add PicoDVI support
...
PicoDVI in CP support 640x480 and 800x480 on Feather DVI, Pico and
Pico W. 1 and 2 bit grayscale are full resolution. 8 and 16 bit
color are half resolution.
Memory layout is modified to give the top most 4k of ram to the
second core. Its MPU is used to prevent flash access after startup.
The port saved word is moved to a watchdog scratch register so that
it doesn't get overwritten by other things in RAM.
Right align status bar and scroll area. This normally gives a few
pixels of padding on the left hand side and improves the odds it is
readable in a case. Fixes #7562
Fixes c stack checking. The length was correct but the top was being
set to the current stack pointer instead of the correct top.
Fixes #7643
This makes Bitmap subscr raise IndexError instead of ValueError
when the index arguments are wrong.
2023-04-19 15:14:02 -07:00
gamblor21
403ea89d57
Initial paletts for OnDiskGif
2023-04-18 19:44:03 -05:00
CanyonCasa
61f868a14e
Update shared-module/onewireio/OneWire.c
...
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2023-04-17 12:02:45 -06:00
Debian
8927e41180
Reset stuck low detection
2023-04-15 17:05:12 -06:00
79d093d957
tweak max envelope calculation vs number of active notes
2023-04-05 17:43:03 -05:00
9993b4b01c
Prevent playing the same note on 2 channels
2023-04-05 16:53:08 -05:00
Scott Shawcroft
6df88ac948
Merge pull request #7825 from jepler/better-synthio
...
Better synthio
2023-04-05 12:23:10 -07:00
f2e26e8bde
get the cmsis macros the right way
2023-04-05 13:37:18 -05:00
04f4092e11
synthio: support audio outputs that need double buffering
...
closes #7837
tested on rp2040 pico w on pico dv shield
2023-04-05 11:57:13 -05:00
b9dea05dbf
Enable audiomixer on unix port, for testing
2023-04-05 09:02:03 -05:00
foamyguy
8bf94d03e4
try to fix multi-display reset
2023-04-04 20:31:42 -05:00
foamyguy
60e12c5c1d
only add circuitpython_splash to display if it's not already in another group
2023-04-03 15:43:29 -05:00
b011468251
Add synthio.Synthesizer
...
In contrast to MidiTrack, this can be controlled from Python code,
turning notes on/off as desired.
Not tested on real HW yet, just the acceptance test based on checking
which notes it thinks are held internally.
2023-04-02 20:37:23 -05:00
e0984fa195
Factor out the synthesizer from midi track
2023-04-02 18:54:07 -05:00
e728a0c1b9
switch to 16.16 fixed point for synthesis
2023-04-01 11:47:27 -05:00
e9e4ce9546
add waveform support in synthio
...
a waveform object (array of 'h') can be passed in, replacing the
standard square wave. This waveform must be a 'single cycle waveform'
and some obvious things to pass in are sine, triangle or sawtooth waves,
but you can construct whatever you like.
2023-04-01 11:46:38 -05:00
13e17e6dcd
Make synthio debuggable in unix coverage port
2023-04-01 11:46:36 -05:00
db1e01c462
Don't require huge buffers for long-held notes
2023-04-01 11:46:36 -05:00
7f73ff1b2d
hold accumulator phase across span
...
this fixes grunk in held notes
2023-04-01 11:46:35 -05:00
02f8a45dfa
synthio: allow increasing number of channels
...
12 channels works well on metro m7
2023-04-01 11:46:27 -05:00
jposada202020
1931b6c042
fixing algorithm and MAX
2023-03-30 18:08:17 -04:00
jposada202020
4986ad6d6b
Update shared-module/bitmaptools/__init__.c
...
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2023-03-30 15:43:57 -04:00
jposada202020
f6a0fb20f2
Update shared-module/bitmaptools/__init__.c
...
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2023-03-30 15:29:39 -04:00
jposada202020
533f532ff2
Update shared-module/bitmaptools/__init__.c
...
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2023-03-30 15:29:18 -04:00
jposada202020
6ad053e403
correcting feedback
2023-03-30 08:51:52 -04:00
jposada202020
f3d85d6932
Merge branch 'main' into adding_circle_bitmaptools
2023-03-30 07:44:07 -04:00
Dan Halbert
5909ceacc6
Merge pull request #7806 from dhalbert/no-report-id-out-reports
...
Handle HID OUT reports with no report ID
2023-03-29 15:33:36 -04:00
Dan Halbert
81482a6f66
Merge remote-tracking branch 'adafruit/8.0.x' into merge-8.0.x-to-main
2023-03-29 14:52:49 -04:00
a8bbb21eeb
Use short-circuiting or (also may save some code size)
...
Co-authored-by: Dan Halbert <halbert@adafruit.com>
2023-03-29 10:09:01 -05:00
cc3d0f6fa1
getenv: treat a read error like eof
...
Otherwise, the following would occur:
* settings.toml is in the process of being written by host computer
* soft-reset begins
* web workflow tries to grab CIRCUITPY_WIFI_SSID, but loops forever
because FAT filesystem is in inconsistent state and file reads error
* settings.toml write by host computer never completes and the filesystem
remains corrupt
* restarting yields a soft-bricked device, because startup reads
CIRCUITPY_WIFI_SSID again
2023-03-29 10:04:06 -05:00
Dan Halbert
d289329344
Handle HID OUT reports with no report ID
2023-03-28 11:38:38 -04:00
Neradoc
1fad969389
add unsigned ints and 64 bit types to msgpack
...
change msgpack error message when format invalid
2023-03-27 19:37:23 +02:00
Dan Halbert
0639c0850f
Merge pull request #7751 from hathach/add-codespell
...
Add codespell to pre-commit to scan and fix typo
2023-03-23 13:26:24 -04:00
Dan Halbert
db76fbd55f
Merge pull request #7712 from gamblor21/ondiskgif_freemem_fix
...
Add deinit to OnDiskGif
2023-03-23 09:03:07 -04:00
hathach
8c1095b268
Merge branch 'main' into add-codespell
2023-03-23 14:09:57 +07:00
gamblor21
e993d0f3c3
Missing brace
2023-03-22 20:19:09 -05:00
gamblor21
3020893ba2
Tweak to try to reduce low space builds
2023-03-22 19:20:20 -05:00
gamblor21
2c1e2061db
Change free function
2023-03-22 19:20:20 -05:00
gamblor21
aa423cc1c6
Free memory allocated by bitmap obj
2023-03-22 19:20:20 -05:00
gamblor21
07e83674c9
Add deinit to displayio.Bitmap
2023-03-22 19:20:20 -05:00
gamblor21
8b9f5e7f53
Remove del obj and add deinited
2023-03-22 19:20:20 -05:00
Dan Halbert
2492fb0b0a
Merge pull request #7780 from jepler/fix-struct-pack
...
use `values` in this error message ...
2023-03-22 20:19:08 -04:00
Dan Halbert
05e783cbbd
Merge pull request #7775 from tannewt/fix_pyportal
...
Add more checks for read-only Bitmaps
2023-03-22 20:16:43 -04:00
Dan Halbert
3ef2b7f81f
Merge pull request #7777 from tannewt/fix_epd_grayscale
...
Fix tricolor epd and add EPD feather
2023-03-22 20:13:23 -04:00
jposada202020
29613c73e1
pre-commit
2023-03-22 19:05:18 -04:00
jposada202020
0b3099a9ff
adding bitmaptools circle
2023-03-22 18:44:45 -04:00
127a7092bf
use values in this error message ...
...
matching the documentation of struct.pack, which has `def pack(fmt: str,
*values: Any)` as the signature.
2023-03-22 16:11:22 -05:00
Scott Shawcroft
16c8dad078
Fix Pallete cache for grayscale and tricolor epd
2023-03-22 11:54:43 -07:00
Scott Shawcroft
a280c010c2
Fix tricolor epd and add EPD feather
2023-03-22 11:14:38 -07:00
Scott Shawcroft
36dbaf4ccc
Add more checks for read-only Bitmaps
...
Fixes #7768
2023-03-22 10:14:42 -07:00
98c546bf57
call common validation function
...
Co-authored-by: MicroDev <70126934+microdev1@users.noreply.github.com>
2023-03-22 10:16:48 -05:00
349dedca54
struct: Check that argument counts match, similar to cpython3
...
.. and test our struct module during the build-time tests
Closes #7771
2023-03-22 09:35:09 -05:00
Dan Halbert
c93560144b
Merge pull request #7678 from FoamyGuy/boundary_fill_background_tasks
...
do background tasks and handle interrupt during boundary fill
2023-03-21 23:38:05 -04:00
Scott Shawcroft
67e0a49a1f
Merge pull request #7724 from tannewt/get_perfbench_running
...
Improve iMX RT performance
2023-03-21 09:00:48 -07:00