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
Dan Halbert
f9831b3bbc
Merge pull request #7639 from adafruit/8.0.x
...
Merge 8.0.x up to main
2023-02-24 19:32:09 -05:00
Dan Halbert
460dda0426
Merge pull request #7616 from dhalbert/8.0.x-fix-atmel-uart
...
Fix pad assignments on atmel-samd UART
2023-02-22 17:24:29 -05:00
Scott Shawcroft
de5f58a61d
Merge branch 'main' into banglejs2
2023-02-21 12:04:28 -08:00
Scott Shawcroft
a8b34bd067
Merge pull request #7549 from gamblor21/gif_displayio_support
...
Animated GIF support
2023-02-21 11:39:29 -08:00
foamyguy
3601bb3062
change value_count max
2023-02-20 20:37:42 -06:00
Dan Halbert
6d51356324
Fix pad assignments on atmel-samd UART
2023-02-19 20:42:44 -05:00
Dan Halbert
3f66a0be83
Merge pull request #7611 from gamblor21/colorconverter-mem-fix
...
ColorConverter output colorspace non-initialization fix
2023-02-19 20:34:30 -05:00
gamblor21
e78875a93b
ColorConverter output colorspace fix
2023-02-18 15:35:56 -06:00
foamyguy
694537acb3
change validation maximum computation
2023-02-18 10:35:39 -06:00
gamblor21
c637ec9ea0
Removed forgotten func defn
2023-02-17 23:37:49 -06:00
gamblor21
b2a205e615
Doc fix
2023-02-17 15:48:26 -06:00
gamblor21
20eb7d11bd
Changes times to seconds, remove dirty bitmap flag
2023-02-17 13:06:56 -06:00
Scott Shawcroft
931c7c1c51
Add Bangle.js 2, JDI memory displays and ACeP epd
...
This 2-in-1 PR started with the goal of support the Bangle.js 2
smartwatch with *no USB*.
* Adds "secure" DFU build support with a committed private key.
* Adds 3-bit color support with one dummy bit for the JDI memory display
* Allows nrf boards to have a board_background_task() run in RUN_BACKGROUND_TASK.
This is needed because the Bangle.js 2 uses the watchdog to reset.
* Renamed port_background_task() to port_background_tick() to indicate it
runs on tick, not RUN_BACKGROUND_TASK.
* Marks serial connected when the display terminal is inited. This means
that safe mode messages show up on the display.
ACep, 7-color epaper displays also pack 3 bits in 4. So, I added that
support as well.
* Adds 3-bit ACeP color support for 7-color e-paper displays. (Not
watch related but similar due to color depth.)
* Allows a refresh sequence instead of a single int command. The 7" ACeP
display requires a data byte for refresh.
* Adds optional delay after resetting the display. The ACeP displays
need this. (Probably to load LUTs from flash.)
* Adds a cleaning phase for ACeP displays before the real refresh.
For both:
* Add dither support to Palette.
* Palette no longer converts colors when set. Instead, it caches
converted colors at each index.
* ColorConverter now caches the last converted color. It should make
conversions faster for repeated colors (not dithering.)
2023-02-15 15:03:40 -08:00
Dan Halbert
328585f160
don't enter safemode.py on USER safe mode
2023-02-14 11:20:29 -05:00
Dan Halbert
d46d9d5c21
shorten safe mode messages; improve message printing; fix CIRCUITPY_SAFEMODE_PY=0
2023-02-13 21:29:57 -05:00
Mark
fa435468fa
Merge branch 'main' into gif_displayio_support
2023-02-13 18:30:51 -06:00
Dan Halbert
d8231f1588
Implement safemode.py
2023-02-13 18:26:38 -05:00
gamblor21
88212b066e
Doc fix
2023-02-13 11:32:25 -06:00
gamblor21
cab38ed6a6
Doc fixes and renamed play_frame to next_frame
2023-02-12 11:51:23 -06:00
gamblor21
0c95e6a08e
Moving to gifio module
2023-02-12 11:17:34 -06:00
gamblor21
da9b6fb0e2
Moving library to /lib
2023-02-10 18:31:59 -06:00
foamyguy
5f3f87e371
validate palette color count and group scale
2023-02-10 18:05:07 -06:00
foamyguy
67fd815e27
maximum value validation for bitmap constructor
2023-02-10 17:39:38 -06:00
foamyguy
bb4cccc1cd
use range instead of min where applicable to consolodate bounds checks
2023-02-10 17:26:01 -06:00
gamblor21
19eba41630
Doc fixes and return next frame delay
2023-02-08 22:58:44 -06:00
foamyguy
efe48e61ed
argument bounds validation for bitmap.blit()
2023-02-06 17:03:49 -06:00
gamblor21
dbe518680a
Memory savings and more properties
2023-02-05 10:54:04 -06:00
gamblor21
2b26242c66
need gif.c in shared-bindings to build
2023-02-04 18:38:07 -06:00
gamblor21
6a9b7199ec
Initial gif proof of concept
2023-02-04 16:44:29 -06:00
foamyguy
beb4a797ff
bitmap fill, __get_item__, and __set_item__ positive validation
2023-02-04 12:37:43 -06:00
foamyguy
547ca5a452
bitmap constructor positive validation
2023-02-04 12:02:06 -06:00
MicroDev
d9d94eacca
run updated pre-commit
2023-02-01 13:38:41 +05:30
MicroDev
4ef363a797
improve dualbank and storage extension docs
2023-01-29 23:16:45 +05:30
Neradoc
f0058774d0
add CIRCUITPY_SKIP_SAFE_MODE_WAIT to circuitpy_mpconfig.mk
...
use #if (also a CIRCUITPY_ULAB)
2023-01-29 00:56:16 +01:00
MicroDev
cda5689263
move esp32_camera
to espcamera
2023-01-27 22:05:43 +05:30
Maciej Sokołowski
e474df3a18
Add function for drawing polygons to bitmaptools
2023-01-20 23:14:38 +01:00
Dan Halbert
7dd76fc7e4
Merge pull request #7467 from matemaciek/main
...
Allow lines with ends out of bitmap in `bitmaptools_obj_draw_line`
2023-01-19 21:11:17 -05:00
Maciej Sokołowski
483f14b73f
Allow lines with ends out of bitmap in bitmaptools_obj_draw_line
2023-01-19 21:37:25 +01:00
Scott Shawcroft
dca66eb98c
Watch for ctrl-c over BLE workflow serial
...
Before this, it was impossible to interrupt a running program over
BLE.
2023-01-18 16:28:35 -08:00
Dan Halbert
79b76f7bea
Merge pull request #7445 from tannewt/fix_rpi_mdns
...
Share the web workflow MDNS object with the user
2023-01-17 14:46:38 -05:00
Colin B
bfba1e4100
Change common_hal_mcu_processor_set_frequency to void
...
* Add warning about setting RP2040 frequency
2023-01-16 21:26:13 -08:00
Scott Shawcroft
8b0db804ba
Fix SPI readinto with negative start or end
2023-01-12 16:25:11 -08:00
Scott Shawcroft
987d9a31c8
Fix pin_or_none
2023-01-12 16:03:45 -08:00
Scott Shawcroft
ee2fe993dd
Fix repeated MDNS use on Pico W
2023-01-12 14:56:06 -08:00
Scott Shawcroft
ca80f30348
Share the web workflow MDNS object with the user
...
Fixes #7369
2023-01-11 16:05:19 -08:00
Scott Shawcroft
aa2ba4d88b
Have start and end kwargs respect element size
...
The comment says it is `buffer[start:end]` but it assumed elements
were a single byte long. Now it correctly does multibyte elements
from array.array.
Fixes #4988
2023-01-11 15:36:41 -08:00
Dan Halbert
a974402542
Improve type validation errors messages, especially for pins
2023-01-10 15:02:55 -05:00
Colin B
a84a8855ed
Add frequency setting for RP2040 boards.
2023-01-07 17:41:37 -08:00
Scott Shawcroft
6b3ae630a9
Improve time alarm doc
...
Fixes #7406
2023-01-04 14:16:35 -05:00
Dan Halbert
03b43b7b3f
complete rework for microcontroller.cpu.frequency and wifi.radio MAC addresses
2023-01-02 11:45:58 -05:00
Dan Halbert
a3adcf0e1a
clarify read-only mac address; reuse translate msgs
2023-01-02 10:13:20 -05:00
Jeff Epler
928fb0a9c4
Make the "name or service not known" message translatable
2022-12-26 13:58:31 -06:00
Scott Shawcroft
c16b42e972
Tweak arg checking and comments
2022-12-20 11:00:13 -05:00
Scott Shawcroft
f8ac1d9261
Rework the coproc API
...
It is now a generic `memorymap` API and an ESP specific `espulp` module.
Fixes #7218 . Fixes #3234 . Fixes #7300 .
2022-12-19 14:08:38 -05:00
Jeff Epler
297657ea9a
Refactor so that all sites of name lookup failure result in gaierror
2022-12-14 14:45:32 -06:00
Jeff Epler
5ac622a30d
get rid of nearly-empty getenv.c file
2022-12-13 13:13:01 -06:00
Jeff Epler
3459fe322b
Withdraw the _environ module
...
This existed solely for testing, so expose it a different way during
the unix coverage build
Also turn off os.getenv support on samd21.
2022-12-08 15:33:10 -06:00
Jeff Epler
a05829528b
_environ: update documentation
2022-12-08 13:36:48 -06:00
Jeff Epler
ef2bfdb5db
dotenv becomes settings.toml
2022-12-08 12:44:20 -06:00
s-ol
99b8564e8f
Add VfsFat.readonly property for getting current state
...
Previously the only other way of determining whether the Vfs has been mounted
read-write or read-only appears to be to attempt a write operation and detect a
possible OSError.
It wasn't possible for the user code to keep track of the state of the state
since the boot VM has to decide whether to (re)mount read-write or read-only,
but can't (easily) pass this information on to the runtime VM.
2022-12-08 14:45:24 +01:00
Scott Shawcroft
4c064c263e
Merge pull request #7294 from tannewt/analogbufio_rework
...
Rework the analogbufio API.
2022-12-02 14:53:16 -08:00
Scott Shawcroft
d6c3dfb461
Merge pull request #7297 from jepler/chain-exception-doc
...
Implement the chain= argument of traceback.print_exception
2022-12-02 14:53:03 -08:00
Scott Shawcroft
f7504ff857
Tweaks based on review comments
2022-12-02 10:19:31 -08:00
Jeff Epler
b83c42e41a
Implement the chain= argument of traceback.print_exception
2022-12-02 10:50:31 -06:00
Scott Shawcroft
9e104c04ae
Merge pull request #7215 from FoamyGuy/set_root_group
...
displayio.show() API change
2022-12-02 08:45:20 -08:00
Scott Shawcroft
255e997345
Rework the analogbufio API.
...
* read() is now readinto() and takes the buffer to write into.
* readinto() returns the number of valid samples.
* readinto() can be interrupted by ctrl-c.
* readinto() API doesn't support signed numbers because it never did.
* sample_rate is now required in the constructor because supported
values will vary per-port.
* 16 bit values are full range. 12 bit samples from RP2040 are stretched
in the same way they are for AnalogIn.
Fixes #7226
2022-12-01 17:46:07 -08:00
Dan Halbert
082b0d1aed
Merge pull request #7191 from jepler/fastpixelmap
...
Add a fast PixelMap-like class
2022-12-01 11:43:00 -05:00
foamyguy
0563487433
get slicing
2022-11-30 19:16:20 -06:00
Jeff Epler
530e5a1df2
Use standard validation function
2022-11-30 14:39:51 -06:00
Jeff Epler
c46e219795
Having an input-only pin is rare, save a string on other ports
2022-11-30 14:39:49 -06:00
Jeff Epler
d39d146352
Merge some messages
2022-11-30 14:39:47 -06:00
Jeff Epler
f67bca94c4
On python3 log(0) raises math domain error, not zerodivisionerror
2022-11-30 14:39:33 -06:00
Jeff Epler
2b01c139f5
use a standard validator function
2022-11-30 12:06:20 -06:00
Jeff Epler
7c9cd567a0
If uart is disabled, no pins will work; show NotImplementedError instead
2022-11-30 12:06:18 -06:00
Jeff Epler
8658e7a954
re-use length validator
2022-11-30 12:06:18 -06:00
Jeff Epler
ac999098ee
merge a message
2022-11-30 12:06:18 -06:00
Jeff Epler
6ac2022093
merge a message
2022-11-30 12:06:16 -06:00
Jeff Epler
284ac21f51
merge a message
2022-11-30 12:06:16 -06:00
Dan Halbert
1bcfff3716
Merge pull request #7272 from tannewt/picow_mdns
...
Add MDNS support to Pico W
2022-11-29 10:09:24 -05:00
MicroDev
8a9d841da9
Merge pull request #7275 from jshimbo/main
...
supervisor.ticks_ms() documentation has an error
2022-11-29 14:34:24 +05:30
MicroDev
e93af31b63
Merge pull request #7269 from jepler/socketpool-gaierror
...
Add SocketPool.gaierror
2022-11-29 14:33:12 +05:30
Scott Shawcroft
81afe05811
Merge pull request #7265 from jepler/wifi-monitor-docs
...
Fix documentation of wifi.Monitor
2022-11-28 16:23:40 -08:00
Scott Shawcroft
c13ca95da1
Add MDNS support to Pico W
...
This adds both cpy-MAC.local and circuitpython.local support.
Fixes #7214
2022-11-28 16:15:28 -08:00
Jeff Epler
aef55b7e41
Add SocketPool.gaierror
...
gaierror(-2) is raised in the failure case of getaddrinfo. This is
compatible with cpython's socket module.
Typical session:
```
>>> import socketpool
>>> import wifi
>>> socket = socketpool.SocketPool(wifi.radio)
>>> try: socket.getaddrinfo("boo", 0)
... except socket.gaierror as e: ee = e
...
>>> type(ee)
<class 'gaierror'>
>>> ee.errno == socket.EAI_NONAME
True
>>> ee.strerror
'Name or service not known'
>>> raise ee
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <module>
gaierror: (-2, 'Name or service not known')
```
Closes : #6941
2022-11-28 16:57:44 -06:00
Scott Shawcroft
ad2d190507
Merge pull request #7247 from tannewt/picow_web_workflow
...
Enable* web workflow for Pico W
2022-11-28 14:19:42 -08:00
Jeff Epler
e1c025d6dd
Fix documentation of wifi.Monitor
...
Its methods & properties were incorrectly documented as being directly
in 'wifi'
2022-11-28 13:30:08 -06:00
foamyguy
57d7f7f2ad
move to _pixelmap
2022-11-24 09:07:08 -06:00
Jeffrey Shimbo
c0b57ff8c5
Typo in docs for supervisor.ticks_ms()
...
https://docs.circuitpython.org/en/latest/shared-bindings/supervisor/index.html#supervisor.ticks_ms
ticks_add() helper function has an error
2022-11-24 06:05:46 -08:00
Dan Halbert
17be447c4b
correct Radio.connect() and .start_ap() signatures; clean up some code
2022-11-22 17:11:03 -05:00
Scott Shawcroft
dc20390588
Fix stubs
2022-11-22 09:04:12 -08:00
foamyguy
19f1119994
Merge branch 'main' into fastpixelmap
...
# Conflicts:
# shared-module/adafruit_pixelbuf/PixelBuf.c
2022-11-21 20:25:58 -06:00
Scott Shawcroft
c3a96a63c0
Enable* web workflow for Pico W
...
* Except for circuitpython.local which depends on MDNS and will be
done in a follow up PR.
Progress on #7214
2022-11-21 16:24:05 -08:00
s-ol
40d35e9eaa
Don't block in I2CTarget.request(-1)
...
Partially reverts #6985
Closes #7241
2022-11-20 16:08:00 +01:00
foamyguy
ef3398422a
allow set_root_group for FrameBufferDisplay instead of show()
2022-11-19 11:41:48 -06:00
foamyguy
e3cae22297
allow set_root_group for EPaperDisplay instead of show()
2022-11-18 17:34:03 -06:00
foamyguy
403e3ef430
change to CIRCUITPYTHON_TERMINAL. change internal API to use set_root_group
2022-11-18 16:53:18 -06:00
MicroDev
f637332de6
Merge pull request #7209 from jepler/code-optimize-pixelbuf
...
Save code space by packing rgbw values into C union
2022-11-18 14:46:55 +05:30
Scott Shawcroft
866ff5bd21
Merge pull request #7197 from FoamyGuy/vectorio_hidden
...
implement self hidden property for vectorio shapes
2022-11-16 12:56:10 -08:00
foamyguy
788638f727
displayio.SERIAL_GROUP constant
2022-11-15 19:15:25 -06:00
foamyguy
1329fe998c
add to .h and format code
2022-11-14 15:33:55 -06:00
foamyguy
2cd5d4f5a5
allow setting root_group on Display
2022-11-14 15:10:28 -06:00
Jeff Epler
adca341d3b
Save code space by packing rgbw values into C union
...
It's more efficient passing one register-sized structure than 4
arguments or 4 pointers; working on intermediate values of 'int' size
is also more efficient in code size!
On raspberry pi pico w, this increased free flash space by +104 bytes.
It also increased the speed of my testing animation very slightly, from
187fps to 189fps when run 'unthrottled'
2022-11-14 09:29:45 -06:00
Jeff Epler
cdab078d9d
shared-bindings: Get rid of CYW43 special cases in shared-bindings
...
.. by moving it into a new weak function that can be replaced
just by the picow build.
2022-11-14 08:44:08 -06:00
foamyguy
56be547754
fix type name
2022-11-11 20:18:42 -06:00
foamyguy
3c4d8c6926
implement self hidden property for vectorio shapes
2022-11-11 17:50:07 -06:00