Commit Graph

2454 Commits

Author SHA1 Message Date
Dan Halbert 2c0fa0f7dc initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
Jeff Epler d8484df075
basic async_with test passes under native code 2023-08-20 10:15:55 -05:00
Jeff Epler 562520e158
Skip these tests when using --emit native
.. in which case the __await__ attribute is not available due to
"CIRCUITPY: no support for mp_type_native_coro_wrap" (emitglue.c)
2023-08-20 08:02:31 -05:00
Jeff Epler 5606d49e4d
skip async_basic with native emitter, it doesn't work 2023-08-19 17:03:44 -05:00
Jeff Epler a94301122a
Make natmods work again.
And put back our magic number, because our bytecode format differs
from upstream

drop btree & framebuf natmods, they had additional problems I didn't
want to fix right now.
2023-08-19 16:59:13 -05:00
Jeff Epler 100de9e5b9
add a script to make it easy to endorse test output
Invoke it on the "out" file and it's moved to the correct "exp" file,
ready to git add & git commit.
2023-08-18 12:50:06 -05:00
Jeff Epler ca057618ff
Skip the import_mpy_native_gc test, it is known to be broken
As CircuitPython does not ship any builds with native modules enabled,
this is not something to spend time on right now.
2023-08-18 12:50:05 -05:00
Jeff Epler 4a9632d154
update test result 2023-08-18 12:50:05 -05:00
Jeff Epler 73d231c54c
update invalid-mpy test and result 2023-08-18 12:50:05 -05:00
Jeff Epler 9c91448bc2
Re-add usercmodule sources & endorse new extra_coverage output 2023-08-18 12:50:03 -05:00
Dan Halbert bfccb77ec1 asyncio test fixes and asyncio library updates 2023-08-18 13:16:16 -04:00
Jeff Epler d766795c58
endorse new test output 2023-08-15 11:58:19 -05:00
Jeff Epler f0a8d449c1
fix vfs_fat_case 2023-08-15 11:50:11 -05:00
Dan Halbert 2171e67c1b merge latest adafruit/main 2023-08-13 19:43:54 -04:00
Jeff Epler 46db0366b8
OrderedDict.move_to_end: alternate implementation of #8234
this implementation is hoped to be smaller. (feather_m4_express/fr fits
unlike the other PR; approximate savings ~600 bytes)

Minor difference to standard Python: A `dict` object has a
`move_to_end` method. However, calling this method always results in
TypeError.

Implementing it this way means that the method table can still be shared
between OrderedDict and builtin dict.

Closes #4408.
2023-08-04 09:26:26 -05:00
Dan Halbert 0d4bc8c163 initial v1.19.1 merge; not compiled yet 2023-08-01 13:50:05 -04:00
Dan Halbert 5cc42d5041
Merge pull request #8126 from jepler/update-ulab-6.3.2
update ulab to 6.3.2
2023-07-26 11:54:42 -04:00
Jeff Epler 60b233f160
document EnvelopeState 2023-07-20 16:26:07 -05:00
Jeff Epler f71831dea9
skip all the byecode hex data, it's adequately checked
... by the disassembly just below

This was tripped up because in exactly the right conditions some qstr
could be of the form 'xx 63' and make the expression `\.\+63` match
something other than what was intended.

This test was re-worked upstream for mpy version 6 so it'll be a conflict
to resolve when we get to that. :-/
2023-07-20 14:10:44 -05:00
Jeff Epler 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
KB Sriram 03e93f8e6c py/objdict: Fix fromkeys to return the right type.
Fixes https://github.com/adafruit/circuitpython/issues/8173

It looks like a small fix, and mostly independent of upstream
plans around https://github.com/micropython/micropython/pull/6173

I also filed an issue upstream
https://github.com/micropython/micropython/issues/12011
2023-07-14 22:03:06 -07:00
Jeff Epler 164fcb22c2
Enable "from __future__ import annotations" on unix build 2023-07-10 13:53:26 -05:00
Jeff Epler e8c7b4a9f4
test a zero-byte environment file 2023-07-07 11:28:42 -05:00
Jeff Epler b5ad7f91a3
update expected data for test
skip all the byecode hex data, it's adequately checked
by the disassembly just below

This was tripped up because in exactly the right conditions some qstr
could be of the form 'xx 63' and make the expression `\.\+63` match
something other than what was intended.

This test was re-worked upstream for mpy version 6 so it'll be a conflict
to resolve when we get to that. :-/
2023-06-27 11:16:12 -05:00
Jeff Epler a9c987d3ce
Add expected-output file for this test
.. because the first test is actually accepted on python 3.10 and newer.
2023-06-27 10:43:14 -05:00
Jeff Epler bfcb967edd
Add expected-output file for this test
.. because the first test is actually accepted on python 3.10 and newer.
2023-06-27 10:41:02 -05:00
Jeff Epler 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
Jeff Epler 30b69a821e
synthio: update ring mod manual test 2023-05-30 19:32:24 -05:00
Jeff Epler 8a564602a1
synthio: this modified biquad test lets me hear what I'm hunting 2023-05-30 19:21:13 -05:00
Jeff Epler f5388e12af
synthio: add manual filter frequency sweeping to standalone test
.. by assigning a new band pass filter to the note every 2 frames
2023-05-29 11:23:45 -05:00
Jeff Epler 51027974e5
synthio: apply biquad filters during synthesis 2023-05-29 10:53:48 -05:00
Jeff Epler fed8d5825b
synthio: add biquad filter type & basic filter calculations
the filter cannot be applied as yet.
2023-05-29 09:50:18 -05:00
Jeff Epler eda43d7474
Add some more Note tests 2023-05-24 10:00:12 -05:00
Jeff Epler 1059c99f6e
synthio: Add tests of each varying lfo input
I looked at all the results and they pleased me
2023-05-22 10:45:28 -05:00
Jeff Epler 3790fd4117
synthio: Add tests of all synthio math blocks
I plotted and eyeballed these and they all looked plausible
2023-05-22 10:45:21 -05:00
Jeff Epler 78e75f6977
synthio: enable additional LFO test cases 2023-05-21 13:22:49 -05:00
Jeff Epler 823a02c0b7
synthio: Add a new test of synthio.LFO 2023-05-21 13:22:49 -05:00
Jeff Epler 4da32a7b86
Merge remote-tracking branch 'origin/main' into synthio-lfo-dag 2023-05-19 11:56:13 -05:00
Scott Shawcroft 9d11bda9e8
Fix memoryview.cast over sliced memoryview
Fixes #4758
2023-05-18 13:26:50 -07:00
Jeff Epler c435c469f4
synthio: simplify block logic a bit by converting from float just once 2023-05-18 11:55:01 -05:00
Jeff Epler 391438102b
synthio: Finish implementing Math blocks 2023-05-17 16:32:20 -05:00
Jeff Epler a682b42180
fir filtering demo 2023-05-17 11:13:15 -05:00
Jeff Epler f83212314e
synthio: Add LFOs 2023-05-15 21:15:39 -05:00
Jeff Epler 91a5103910
synthio: add a host demo of all major features 2023-05-12 14:00:33 -05:00
Jeff Epler f52bb65da6
synthio: add some new manual tests 2023-05-11 18:59:06 -05:00
Jeff Epler 9d8dcf7d33
synthio: endorse new test result 2023-05-11 18:59:02 -05:00
Jeff Epler 17df238145
synthio: doc fixes, rename BendType to BendMode 2023-05-11 15:23:54 -05:00
Jeff Epler cbd02b74df
synthio: endorse updated test result 2023-05-11 10:22:55 -05:00
Jeff Epler 2062b2bfb7
synthio: add a noise program to the manual tests 2023-05-11 09:31:08 -05:00
Jeff Epler 1d1907b98b
synthio: Generalize vibrato into bend
bend can be static, sweep, or vibrato
2023-05-11 09:31:07 -05:00