Commit Graph

2934 Commits

Author SHA1 Message Date
Jeff Epler fd1fdee312
move set_user_keymap to usb_host module 2023-07-17 09:08:13 -05:00
Dan Halbert fddb582390
Merge pull request #8180 from anecdata/ipv4_address_ap-read-only
docs:  wifi.radio.ipv4_address_ap is read-only
2023-07-16 23:54:42 -04:00
anecdata 8289722679
docs: wifi.radio.ipv4_address_ap is read-only 2023-07-16 20:35:49 -05:00
Jeff Epler 235983652f
throw an exception if os.getenv is used on a board without settings.toml support 2023-07-13 09:47:38 -05:00
anecdata 69d2f5ec2a
formatting fix 2023-07-12 23:53:52 -05:00
anecdata d4ac8e75e8
raspberrypi: start AP before set IPv4 2023-07-12 23:41:14 -05:00
anecdata cf5028e85b
mdns: can't use web workflow port 2023-07-12 23:32:44 -05:00
anecdata efd4fffea6
start_ap max_connections ignored 2023-07-12 22:49:39 -05:00
Jeff Epler 910fcf1c93
usb host keyboard: add keymap support
This is confined to pure ASCII, but does support Alt Gr. This is enough
to make a French keyboard layout work:
 * home row is "qsdfghjklm"
 * numerals are all shifted
 * keys like {} require Alt Gr

While not tested, this should also support layouts like Colemak with
the necssary keymap file.

Layouts can be produced from Neradoc's keyboard layout modules on the
device & loaded at runtime. Code to do so is at
    https://gist.github.com/jepler/597c0a00e0eb014a433e03c0ae363a08
as well as a sketch of how an extended format could support dead keys &
the full Unicode BMP instead of just ASCII.
2023-07-12 07:04:56 -05:00
Marco van der Kolk bdf9336b80 Improved help text
Signed-off-by: Marco van der Kolk <marco.git@vdkolk.nl>
2023-07-11 12:09:51 +02:00
Marco van der Kolk 0c606c534c Documentation: Sequences are supported, not just Lists
Signed-off-by: Marco van der Kolk <marco.git@vdkolk.nl>
2023-07-11 11:18:29 +02: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 f8edecf473 corrected formatting 2023-07-10 22:16:22 +02:00
kolkmvd 2860593425
fixed missing comma 2023-07-10 12:28:36 +02:00
Marco van der Kolk 21d08646e1 updated documentation 2023-07-10 12:04:26 +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 16d92ddd34 docs fix 2023-07-02 14:57:44 -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
MicroDev 25bacc3042
Merge pull request #8125 from jimmo/zlib-docs
shared-bindings/zlib: Fix docs for zlib.decompress.
2023-06-28 08:30:58 +05:30
Jim Mussared d3aea0e15a shared-bindings/zlib: Fix docs for zlib.decompress.
The docs say the method is called `zlib_decompress` but should be
just `decompress`.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-06-28 07:59:45 +10:00
foamyguy c4b57dc2fe fix shape.set_boundary() 2023-06-24 12:42:00 -05:00
Dan Halbert a84551afb7
Merge pull request #8105 from dhalbert/authmode-doc
improve start_ap() doc; make "authmode" use consistent internally
2023-06-23 12:51:26 -04:00
Dan Halbert dc13a8036b
Merge pull request #8104 from dhalbert/rp2040-countio-doc
note RP2040 countio limitations
2023-06-22 18:37:49 -04:00
Dan Halbert 540bf58102 improve start_ap() doc; make "authmode" use consistent internally 2023-06-22 16:24:18 -04:00
Dan Halbert 8acc8581df note RP2040 countio limitations 2023-06-22 14:56:46 -04:00
Dan Halbert 1f2a1a6e78 Improve OnDiskGif doc; check image width 2023-06-22 14:24:48 -04:00
Scott Shawcroft 4789508629
Merge pull request #8087 from anecdata/ap_chan
validate wifi Access Point channel
2023-06-20 13:14:04 -07:00
Dan Halbert f5c03e64e5 fix typos: "CTX mode" -> "CTR mode" 2023-06-20 12:50:36 -04:00
anecdata b0e0b4adce ap channel validation 2023-06-15 20:20:17 -05:00
Jeff Epler 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
Jeff Epler 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
Jeff Epler 3151656f4b synthio: more fir-filter removal; fix biquad logic errors 2023-05-30 09:24:26 -05:00
Jeff Epler 1d58b550b5
synthio: fix doc build 2023-05-29 13:07:15 -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 9f138dc188
synthio: list filter in the constructor 2023-05-23 19:38:25 -05:00
Jeff Epler 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
Jeff Epler c20e862790
synthio: note frequency can only be a float, for now 2023-05-23 19:38:24 -05:00
Jeff Epler 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
Jeff Epler 2b42783301
Apply suggestions from code review
Co-authored-by: Dan Halbert <halbert@adafruit.com>
2023-05-23 08:57:16 -05:00
Jeff Epler 122e00bdb3
document ring arguments to constructor
thanks Mark!
2023-05-22 21:59:39 -05:00
Jeff Epler af40a173ba
synthio: midi_to_hz: remove arbitrary note number limitation
The underlying routine can return numbers for higher and lower
octaves. Other bits of the code might have frequency limitations
but that doesn't mean we shouldn't let someone get a ~4Hz "note"
by sending in (-12), because that's actually totally plausible as
an LFO frequency.
2023-05-22 21:58:09 -05:00
Jeff Epler 1b174f8b3d
synthio: remove "1-octave" caveat, is false now 2023-05-22 21:58:09 -05:00
Jeff Epler 5b4d621fd2
synthio: explicitly cast away const to satisfy compiler 2023-05-22 21:58:08 -05:00
Jeff Epler 167aa30f12
synthio: remove if0'd code
thanks tannewt
2023-05-22 21:58:04 -05:00
Jeff Epler 8626130af7
synthio: Add default triangle waveform to LFO, improve docs 2023-05-22 10:53:29 -05:00
Jeff Epler 4f671dab6f
synthio: one more doc fix 2023-05-21 19:15:34 -05:00
Jeff Epler 4d60c4608e
synthio: doc fixes 2023-05-21 17:49:30 -05:00
Jeff Epler c5615995d9
synthio: fix docstring 2023-05-21 13:22:49 -05:00
Jeff Epler c084ab92c8
synthio: Enable `synthio.MathOperation.SUM(3,4,5)` 2023-05-21 13:22:48 -05:00
Jeff Epler 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
Jeff Epler e6c4d12eaf
synthio: doc improvement 2023-05-21 13:22:47 -05:00
Jeff Epler e0cfae1d05
synthio: add (untested) phase offset 2023-05-21 13:22:46 -05:00
Jeff Epler bd2a153eae
synthio: there is a midi note 0 2023-05-17 16:37:12 -05:00
Jeff Epler 391438102b
synthio: Finish implementing Math blocks 2023-05-17 16:32:20 -05:00
Jeff Epler 5de4d197a2
synthio: start generalizing LFO to Block 2023-05-17 15:05:34 -05:00
Jeff Epler 3d2db5dbe0
synthio: improve documentation, simplify synthio_lfo_obj_tick_scaled 2023-05-17 11:13:15 -05:00
Jeff Epler d4294de62b
synthio: Allow bends of more than one octave
up to +-12 sounds good, right?
2023-05-16 16:58:04 -05:00
Jeff Epler 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
Jeff Epler b2c6f9b1a4
synthio: add Synthesizer.lfo, retrigger option 2023-05-16 10:07:07 -05:00
Jeff Epler f83212314e
synthio: Add LFOs 2023-05-15 21:15:39 -05:00
Dan Halbert fe386e7c73 adafruit_bus_device SPIDevice can have None for chip select 2023-05-12 15:29:59 -04:00
Scott Shawcroft 0a3faf8c9d
Merge pull request #7959 from jepler/synthio-bend-pan-ring
Synthio: next round of features
2023-05-12 08:54:49 -07:00
Scott Shawcroft db8bd56c6c
Merge pull request #7946 from anecdata/ap_ipv4
Allow Access Point static IPv4 on the espressif port
2023-05-12 08:47:07 -07:00
Jeff Epler 7845a1b13b
synthio: Add `filter` boolean property to Note objects 2023-05-11 17:58:09 -05:00
Jeff Epler 33fb771b76
synthio: Add `filter` argument to Synthesizer constructor
as step 1/n of adding FIR filtering
2023-05-11 17:56:11 -05:00
Jeff Epler d3eda0ad52
synthio: fix a typing error 2023-05-11 17:32:42 -05:00
Jeff Epler 53e13f15a3
synthio: Finish ading SWEEP_IN 2023-05-11 16:53:40 -05:00
Jeff Epler 17df238145
synthio: doc fixes, rename BendType to BendMode 2023-05-11 15:23:54 -05:00
Jeff Epler 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
Jeff Epler 095e020809
synthio: Add ring modulation 2023-05-11 09:31:18 -05:00
Jeff Epler 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
Jeff Epler 1d1907b98b
synthio: Generalize vibrato into bend
bend can be static, sweep, or vibrato
2023-05-11 09:31:07 -05:00
Jeff Epler c48d385e94
synthio: Add `synthio.BendType` 2023-05-11 09:31:07 -05:00
foamyguy c9bb53b48a adding __iter__ stub to displayio.Group 2023-05-11 07:52:03 -05:00
foamyguy 7c685477ba adding __contains__ stub to displayio.Group 2023-05-08 16:41:57 -05:00
anecdata 82c173e8cf assuming the answer to that is 'yes' 2023-05-08 14:26:01 -05:00
anecdata d78e5bd64c fix accidental indent 2023-05-08 14:18:06 -05:00
anecdata 7581d3d0b0 Fix docstring 2023-05-08 13:30:32 -05:00
anecdata 2f2a9e7e28 Allow Access Point static IPv4 on the espressif port. 2023-05-08 13:25:52 -05:00
Jeff Epler 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
Jeff Epler 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
Jeff Epler a854e554f4
synthio: add midi_to_hz to docs 2023-05-06 21:35:16 -05:00
Jeff Epler a94031d094
synthio: make most Note constructor args kw-only
for similar reasons as Envelope. The mandatory frequency argument can
still be given as a positional argument.
2023-05-04 10:16:19 -05:00
Jeff Epler 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
Jeff Epler 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
Jeff Epler bc03e03b9e
util: Add properties_print_helper 2023-05-04 07:23:48 -05:00
Jeff Epler 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
Jeff Epler bd9aca2526
Merge pull request #7862 from jepler/synthio-envelope
Synthio envelope
2023-05-03 12:42:56 -05:00
Jeff Epler 1fafa4dc24
synthio: improve Envelope constructor 2023-05-03 09:37:04 -05:00
Jeff Epler eea9b62978
synthio: MidiTrack: sample_rate is always available 2023-05-03 09:37:02 -05:00
Jeff Epler 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
Jeff Epler b2f32a5397
Apply suggestions from code review
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2023-05-02 19:22:10 -05:00
Jeff Epler c369527ace
remove line added while debugging failed doc builds
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2023-05-02 19:17:51 -05:00
Scott Shawcroft 750615f2da
Merge pull request #7430 from Lanzaa/rp2040_cpu_frequency
Add frequency setting for RP2040 boards.
2023-05-02 09:52:28 -07:00
Dan Halbert c333e61681
small wording change 2023-04-26 14:58:45 -04:00
anecdata 6e8031faf8
Note limitation of next_stack_limit on espressif boards
Open to better wording.
2023-04-26 13:53:33 -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
Jeff Epler 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
Jeff Epler 375a9cd4c5
add Synthesizer.release 2023-04-25 12:05:50 -05:00
Dan Halbert abb0d5e620
Merge pull request #7899 from RetiredWizard/displayioDOC
Doc fix for root_group=None behaviour
2023-04-24 18:57:29 -04:00
Scott Shawcroft 3ee8d0b5cb
Merge pull request #7878 from gamblor21/gifio_palettes
Palettes for OnDiskGif
2023-04-24 12:44:53 -07:00
Dan Halbert ac82f8f90b
document displayio.CIRCUITPYTHON_TERMINAL 2023-04-24 13:43:09 -04:00
Dan Halbert 738f626663
Code formatting in doc 2023-04-24 12:54:37 -04:00
RetiredWizard 3cf712556b Add CIRCUITPYTHON_TERMINAL usage description 2023-04-23 01:03:13 -04:00
RetiredWizard 0c00220aa6 Removing unrelated change by local pre-commit 2023-04-23 00:52:48 -04:00
RetiredWizard b2b24231bc local pre-commit changes 2023-04-23 00:45:38 -04:00
RetiredWizard b0ea28a031 Doc fix for root_group=None behaviour 2023-04-23 00:33:14 -04:00
foamyguy 56fd7dcf0a add minimum validation for tilegrid size in terminalio.Terminal 2023-04-21 18:00:16 -05: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
Mark ae7303221d
Update doc that Palette may not always be there
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2023-04-21 11:21:29 -05:00
gamblor21 afae39765f PR review fixups 2023-04-20 18:26:04 -05:00
Dan Halbert 81c5a37e2d
Merge pull request #7867 from RetiredWizard/DispIOSizeValid
displayio arg validation tweaking
2023-04-20 14:52:24 -04:00
Dan Halbert 7d02bff6b8
Merge pull request #7880 from tannewt/feather_dvi
Add PicoDVI support
2023-04-20 14:50:10 -04:00
Dan Halbert 4b41a49200
Merge pull request #7866 from rich123/allow-64-char-wifi-passwords
Allow 64 char WiFi passwords in wifi.radio.connect
2023-04-20 10:22:44 -04:00
Dan Halbert df41bd9ead change hex radio password validation; add password length doc 2023-04-20 09:47:25 -04:00
Scott Shawcroft 0f9fb33371
Merge branch 'main' into rp2040_cpu_frequency 2023-04-19 17:05:58 -07:00
Scott Shawcroft e2ab7a4751
Change voltage. Refine docs 2023-04-19 17:04:54 -07: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
Debian 304134c6a4 Fixed outdated reference link 2023-04-17 12:54:59 -06:00
RetiredWizard a4cb73a567
Add MAX(0,xxx-1) to prevent potential display wrap 2023-04-16 18:42:00 -04:00
RetiredWizard a8c78d8d2e displayio arg validation tweaking 2023-04-15 23:44:30 -04:00
Richard Ellis ec78a23a56 Code changes to allow 64 character hex WiFi passwords to be used with
wifi.radio.connect.

Fixes adafruit/circuitpython#7677.
2023-04-15 22:54:57 -04:00
applecuckoo add8f06b75
urandom is supported on nRF boards 2023-04-10 15:27:15 +12:00
Jeff Epler 992457c7f7
Improve documentation 2023-04-05 16:53:09 -05:00
Scott Shawcroft 6df88ac948
Merge pull request #7825 from jepler/better-synthio
Better synthio
2023-04-05 12:23:10 -07:00
Jeff Epler 9679aaa0be
Apply suggestions from code review
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2023-04-05 11:57:06 -05:00
Jeff Epler 3038b9a560
Update shared-bindings/keypad/ShiftRegisterKeys.c
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2023-04-05 11:56:21 -05:00
Jeff Epler b9dea05dbf
Enable audiomixer on unix port, for testing 2023-04-05 09:02:03 -05:00
Jeff Epler 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
Jeff Epler 975c981e4f
fix some calls that needed to be _varg 2023-04-02 11:55:14 -05:00
Jeff Epler 8b05d11538
save 4 bytes memory since qstr constants are smol 2023-04-01 19:25:30 -05:00
Jeff Epler 62636cf722
Make a message more terse
This matches a bunch of other NotImplementedErrors
2023-04-01 19:24:06 -05:00
Jeff Epler 05cf5213e2
Allow disabling each class in keypad
.. for boards like pewpewm4 which need a specific kind. And need
some space.
2023-04-01 19:22:52 -05:00
Dan Halbert cc0eeb430a
Merge pull request #7823 from dhalbert/wifi-connected
Add wifi.radio.connected, wifi.radio.ap_active
2023-04-01 15:01:43 -04:00
Jeff Epler 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
Jeff Epler 13e17e6dcd
Make synthio debuggable in unix coverage port 2023-04-01 11:46:36 -05:00
Jeff Epler 02f8a45dfa
synthio: allow increasing number of channels
12 channels works well on metro m7
2023-04-01 11:46:27 -05:00
jposada202020 2f3ea81277 correcting 2023-03-31 20:29:29 -04:00
jposada202020 df46636c5e improving range validation 2023-03-31 20:15:07 -04:00
Dan Halbert 5c429320a8 Add wifi.radio.connected, wifi.radio.ap_active 2023-03-31 17:57:53 -04:00
jposada202020 9a77199f2e
Update shared-bindings/bitmaptools/__init__.c
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2023-03-30 15:43:48 -04:00
jposada202020 4e332fb1c4
Update shared-bindings/bitmaptools/__init__.h
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2023-03-30 15:28:42 -04:00
jposada202020 844ea2f60b
Update shared-bindings/bitmaptools/__init__.c
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2023-03-30 15:28:15 -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 a10ce2170c doc typo fix in OnDiskGif 2023-03-29 17:16:39 -04:00
Jeff Epler cb5e1a1e98
mimxrt: Fix output frequency for samples that don't divide 192kHz
This makes all the samples from Dan's collection register as 440Hz
when playing on pwmio or i2sout, using https://webaudiodemos.appspot.com/pitchdetect/index.html
to detect the frequency played (all should show as A 440Hz; an error
of up to 20 "cents" should be treated as OK)

There's an audible carrier with PWM output and the 8kHz samples. This is
probably a limitation of the peripheral which is documented as being for
input signals of 44 kHz or 48 kHz; the carrier frequency is a fixed
multiple of the sample frequency.

Closes #7800
2023-03-28 10:18:28 -05:00
Dan Halbert 29b35804d9
Merge pull request #7548 from FoamyGuy/displayio_arg_validation
Displayio Bitmap arg validation
2023-03-28 10:30:06 -04:00
Dan Halbert 77cd20af8f
Merge pull request #7785 from jepler/mimxrt10xx-mqs
mimxrt10xx: Add PWMAudioOut
2023-03-27 20:46:11 -04:00
Jeff Epler d6a067b0e5
Make PWMAudioOut object ll, have finaliser
.. for reasons stated in the comment
2023-03-27 10:52:23 -05:00
Jeff Epler df916e0484
Merge remote-tracking branch 'origin/main' into mimxrt10xx-rotaryio 2023-03-23 13:02:12 -05: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
Jeff Epler 50ba218afb
PulseIn, Counter: give finali(s/z)ers to these types too
for similar reasons, an interrupt handler might point at these
objects, and we can worry less about it if the object deinits when it
is GC'd.
2023-03-23 09:57:32 -05:00
Jeff Epler c45db1c1eb
incrementalencoder: give it a finaliser 2023-03-23 09:56:14 -05: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 66129311f4
fix pre-commit format 2023-03-23 14:19:36 +07:00
hathach 8c1095b268
Merge branch 'main' into add-codespell 2023-03-23 14:09:57 +07:00
hathach a8abe8e705
remove lib from exludes, fix all remaining typos 2023-03-23 13:59:08 +07:00
gamblor21 52631bb1c5 Restore OnDiskGif deinit 2023-03-22 22:30:38 -05:00
gamblor21 98ebc676ce Added documentation about freeing a GIF 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
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
Scott Shawcroft 0eb08509f0
Make set_stack_limit respect fixed stack
Fixes #2830
2023-03-21 16:42:49 -07:00
Dan Halbert 7ee85408a1
Merge pull request #7755 from isacben/block-device-arguments-typing
Updated block_device type annotation
2023-03-21 12:51:40 -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
Dan Halbert d9d27a3e31
Fix signature of `mkfs()` 2023-03-21 10:30:03 -04:00
Isaac Benitez 9e630a565e Updated block_device type annotation 2023-03-19 15:08:29 -07:00
hathach fecc1bdedb
fix typos (partial) detected by codepell 2023-03-18 22:17:02 +07:00
Dan Halbert ca292f3427 Turn off mkfs FAT32 on all SAMD21 builds; note in doc 2023-03-17 12:18:24 -04:00
Dan Halbert 5569f101a7
Document that storage.VfsFat.mkfs() is a @staticmethod 2023-03-17 10:50:07 -04:00
Carlin Kartchner 058a8e65d8 define frame delay before reference 2023-03-16 18:22:24 -04:00
MicroDev 8964228ed5
silently return when watchdog isn't active 2023-03-16 11:24:43 +05:30
MicroDev 668f96e6e9
update watchdog implementation
- add note about deprecation of `deinit`
- refactor `WatchDogMode` implementation
- make validation of watchdog mode port specific
2023-03-15 12:05:38 +05:30
Scott Shawcroft 5bb8a7a7c6
Improve iMX RT performance
* Enable dcache for OCRAM where the VM heap lives.
* Add CIRCUITPY_SWO_TRACE for pushing program counters out over the
  SWO pin via the ITM module in the CPU. Exempt some functions from
  instrumentation to reduce traffic and allow inlining.
* Place more functions in ITCM to handle errors using code in RAM-only
  and speed up CP.
* Use SET and CLEAR registers for digitalio. The SDK does read, mask
  and write.
* Switch to 2MiB reserved for CircuitPython code. Up from 1MiB.
* Run USB interrupts during flash erase and write.
* Allow storage writes from CP if the USB drive is disabled.
* Get perf bench tests running on CircuitPython and increase timeouts
  so it works when instrumentation is active.
2023-03-14 12:30:58 -07:00
Dan Halbert 5ec586019b fix TimeAlarm signature 2023-03-14 13:27:57 -04:00
Dan Halbert d4840cbf10 translate() messages must be one string 2023-03-14 13:13:58 -04:00
Scott Shawcroft 9251c6f988
Merge pull request #7684 from isacben/document-aeios-AES-rekey
Document aeios.AES.rekey() and refactor arg validation
2023-03-08 10:47:12 -08:00
Isaac Benitez b7db2896d1 Second fix for the IV argument capitalization (documentation) 2023-03-07 10:12:57 -08:00
MicroDev b9e478af39
Merge pull request #7471 from matemaciek/main
Add function for drawing polygons to bitmaptools
2023-03-07 08:28:07 +05:30
foamyguy 812fa2b34b change docstring, add example code. 2023-03-06 16:55:12 -06:00
Isaac Benitez 8955caff44 Fix capitalization of the IV argument (documentation) 2023-03-06 10:38:28 -08:00
Isaac Benitez 90155925d5 Document aeios.AES.rekey() and refactor arg validation 2023-03-05 12:58:40 -08:00
Dan Halbert 0ca6cc7741
Merge pull request #7668 from jepler/gifio-directio-example
document going directly to display with ondiskgif
2023-03-04 12:25:55 -05:00
Dan Halbert 2ac1c7a020
Add blank line after code-block 2023-03-04 11:59:31 -05:00
foamyguy 213a8bbdc1 Merge branch 'main' into displayio_arg_validation
# Conflicts:
#	shared-bindings/displayio/Palette.c
2023-03-04 10:11:47 -06:00
Dan Halbert bac1a9625a OnDiskGif delay was being chopped to 8 bits 2023-03-02 16:47:07 -05:00
Jeff Epler 6eae40338c
fix problems spotted very quickly by gamblor :) 2023-03-01 17:56:18 -06:00
Jeff Epler ac0bf1049a
document going directly to display with ondiskgif 2023-03-01 17:50:02 -06:00
Dan Halbert 5386cafa21 Update gifio and displayio documentation 2023-02-28 13:02:24 -05:00
Dan Halbert f214d6b336
Merge pull request #7649 from jepler/improve-pwmio-documentation
Improve pwmio documentation
2023-02-25 21:35:06 -05:00
gamblor21 ce3da1ec66 Small doc change 2023-02-25 14:15:33 -06:00
Jeff Epler 07b3bd6d77
Improve pwmio documentation
#7644 pointed out the need for better documentation.

To the best of my ability I noted the current behavior.
I think that there may be some ports that do not actually read
back the 'set' frequency value, but they are ports marked as beta
status (mimxrt10xx) or not maintained by us (cxd56).
2023-02-25 11:02:49 -06:00
gamblor21 328a08729d Example fix 2023-02-25 09:16:33 -06:00