Dan Halbert
51c547a5b9
add generic arg validation routines; add interval args to keypad
2021-06-21 12:13:39 -04:00
Dan Halbert
154e91ab85
add EventQueue.store_next() to allow reusing event objects
2021-06-21 08:18:06 -04:00
Dan Halbert
8cd7e774e7
add KeyMatrix columns_to_anodes arg
2021-06-18 12:03:47 -04:00
Dan Halbert
af66931f71
Added keypad.ShiftRegisterKeys
2021-06-17 20:51:45 -04:00
Dan Halbert
a152bd3b72
add .num_keys and .store_states() to Keys and KeyMatrix
2021-06-17 12:02:54 -04:00
Dan Halbert
cd31136c30
factor out keypad.EventQueue
2021-06-16 15:55:54 -04:00
Dan Halbert
3d18c5c327
Use a single list of keypad scanners
2021-06-16 13:29:38 -04:00
Dan Halbert
1803a6a71d
both Keys and KeyMatrix work
2021-06-15 11:15:09 -04:00
Dan Halbert
350652ee21
Keys works; more testing to do
2021-06-14 22:59:17 -04:00
Dan Halbert
32eec85230
compiles
2021-06-14 20:54:43 -04:00
Dan Halbert
627c426259
wip
2021-06-14 16:00:15 -04:00
Dan Halbert
01a8a95b2c
fix signed/unsigned compilation problem
2021-06-10 01:14:16 -04:00
Dan Halbert
d3d9e0a487
add debouncing
2021-06-10 00:07:23 -04:00
Tsutomu IKEGAMI
0a7c839c13
Fix format (expand tab)
2021-06-10 12:11:12 +09:00
Tsutomu IKEGAMI
72c4a5a523
Fix coordinate conversion algorithm of partial refresh area in displayio.TileGrid
2021-06-10 11:47:51 +09:00
Dan Halbert
7d23206018
Inital keypad work: Keys working: one pin per key
...
keypad.Buttons and keypad.State
Buttons -> Keys; further work
wip
wip
wip: compiles
about to try
keypad.Keys working
2021-06-08 20:27:31 -04:00
lady ada
467a4e7664
fix comment
2021-06-07 19:51:57 -04:00
lady ada
b39dd84560
move the col/row offsets to the top so oleds can take advantage of em
2021-06-07 19:43:49 -04:00
lady ada
2ff9e9766f
handclang
2021-06-07 12:39:59 -04:00
lady ada
8f1c25c8ae
fix SH110x mode, the SH1107 is actually column not row mode BUT the SD1107 module we use is vertical orientation (confusing!) so row/col are NOT swapped. we will have to fix the SH1107 driver to match. this fix required for SH1106 (which uses the same page mode commands but ISNT rotated)
2021-06-06 18:25:40 -04:00
Tsutomu IKEGAMI
a4be61912c
Fix move cursor esc sequence of terminalio to meet ANSI standard
2021-06-03 20:40:37 +09:00
Dan Halbert
3930440bc5
Fix usb_cdc.enable(console=False, data=True)
2021-06-02 11:29:56 -04:00
Scott Shawcroft
6ee9acc900
Merge pull request #4755 from jepler/esp32s2-protomatter
...
Esp32s2 protomatter
2021-06-01 13:32:34 -07:00
Jeff Epler
9df8f235b1
OnDiskBitmap: INCOMPATIBLE CHANGE: Allow them to use palettes
...
Before, when an OnDiskBitmap was a paletted bitmap type, the palette
was internal to the OnDiskBitmap, and it internally performed the palette
conversion itself. When using with a tilegrid, a ColorConverter() object
always had to be passed.
Now, an OnDiskBitmap has a "pixel_shader" property. If the bitmap is
a paletted bitmap type, it is a (modifiable) Palette object. Otherwise,
it is a ColorConverter() object as before. This allows palette effects
to be applied to paletted OnDiskBitmaps.
Code that used to say:
```python
face = displayio.TileGrid(odb, pixel_shader=displayio.ColorConverter())
```
must be updated to say:
```python
face = displayio.TileGrid(odb, pixel_shader=odb.pixel_shader)
```
Compatible code for 6.x and 7.x can say
```python
face = displayio.TileGrid(odb, pixel_shader=getattr(odb, 'pixel_shader', ColorConverter())
```
2021-05-28 10:53:21 -05:00
Jeff Epler
9ff6ccba48
remove commented-out code
2021-05-27 11:33:17 -05:00
Jeff Epler
11288c1c28
esp32s2: Add rgbmatrix support
2021-05-26 11:21:59 -05:00
Jeff Epler
0d7f257eae
displayio: Pause rgbmatrix during soft-reset
...
We can't handle rgbmatrix's interrupts from here until the display is
reinitialized, so set the display as paused.
With this change, I can survive multiple cycles with wifi+rgbmatrix
on an esp32s2. Before, it usually failed.
2021-05-26 11:18:02 -05:00
Dan Halbert
0f66832829
Merge branch 'main' into hid_devices-gc
2021-05-24 18:17:52 -04:00
Scott Shawcroft
0d92558012
Merge pull request #4800 from dhalbert/too-many-hid-devices
...
Handle too many HID devices properly
2021-05-24 14:26:41 -07:00
Dan Halbert
5a9b95e611
unlock board.I2C() on reset
2021-05-21 17:49:50 -04:00
Dan Halbert
c6eb0283dc
Don't set num_hid_devices before it's validated
2021-05-21 17:34:30 -04:00
Dan Halbert
5a81f275cf
Don't change number of HID devices until it's vetted
2021-05-21 17:29:21 -04:00
Dan Halbert
7d0cda2614
gc all pointers in hid_devices properly
2021-05-21 16:32:55 -04:00
Scott Shawcroft
5643355e90
Merge remote-tracking branch 'adafruit/main' into simplify_status_led
2021-05-20 08:35:15 -07:00
Dan Halbert
aebee2de73
Handle USB_HIGHSPEED for MIDI also
2021-05-19 07:43:47 -04:00
Kamil Tomaszewski
da248d1594
spresense: Fix USB CDC and MSC
2021-05-18 17:02:16 +02:00
Dan Halbert
fa6c06fb38
count in/out endpoints; allow more usb modules on low-endpoint boards
2021-05-13 21:59:02 -04:00
Scott Shawcroft
1a0b4193b7
Simplify the status LED to save power
...
This also removes the need to pin share because we don't use the
status LED while user code is running.
The status flashes fallback to the HW_STATUS LED if no RGB LED is
present. Each status has a unique blink pattern as well.
One caveat is the REPL state. In order to not pin share, we set the
RGB color once. PWM and single color will be shutoff immediately but
DotStars and NeoPixels will hold the color until the user overrides
it.
Fixes #4133
2021-05-13 14:41:20 -07:00
Scott Shawcroft
a70fc0caee
Merge pull request #4744 from tannewt/merge_1.14
...
Merge MicroPython 1.14
2021-05-11 16:11:58 -07:00
Scott Shawcroft
e02a26453c
Merge MicroPython 1.14 into CircuitPython
2021-05-11 15:07:40 -07:00
ajs256
3c8b8cdba7
make translate
2021-05-10 16:57:38 -07:00
ajs256
7cd8e98962
Make two error messages sentence case
2021-05-10 16:51:13 -07:00
Dan Halbert
f504af3127
fix HID; fix interface name table creation
2021-05-09 00:42:45 -04:00
Jeff Epler
5e06c91244
Merge pull request #4716 from tyomitch/main
...
s/Circuit Python/CircuitPython/g
2021-05-08 08:47:29 -05:00
Scott Shawcroft
42f4065c8a
Merge remote-tracking branch 'adafruit/main' into merge_1.13
2021-05-06 11:17:53 -07:00
Artyom Skrobov
908d83d1f2
s/Circuit Python/CircuitPython/g
...
Some comments and messages used the non-standard spelling
2021-05-06 16:22:35 +03:00
Scott Shawcroft
3fda0c0a1b
Fix board builds and use MP_ERROR_TEXT in py and extmod
2021-05-05 17:51:52 -07:00
Dan Halbert
adc3d7d55e
update Python API according to review comments
2021-05-03 22:29:02 -04:00
Dan Halbert
d2b558993e
merge from main, including MicroPython 1.12 merge
2021-05-03 20:56:04 -04:00
Dan Halbert
5b5de4b92e
fix sHID report doc and API
2021-05-03 20:53:31 -04:00
Scott Shawcroft
b35fa44c8a
Merge MicroPython 1.12 into CircuitPython
2021-05-03 14:01:18 -07:00
Dan Halbert
be7b2b00a8
uncrustify with newer version of uncrustify
2021-04-30 10:40:12 -04:00
Dan Halbert
71a8cadb09
working!
2021-04-29 22:26:38 -04:00
Dan Halbert
abfb020d41
MSC, CDC, HID keyboard definitely working
2021-04-29 17:41:43 -04:00
Dan Halbert
f06d54524d
merge from adafruit
2021-04-28 23:48:26 -04:00
Dan Halbert
587aedd14f
rework storage allocation
2021-04-28 13:00:44 -04:00
Dan Halbert
8500e846c6
partially working
2021-04-27 23:53:23 -04:00
Dan Halbert
f98a54628b
wip: compiles
2021-04-27 14:37:36 -04:00
Scott Shawcroft
17fcd499b2
Merge pull request #4649 from tannewt/merge_1.11_2
...
Merge MicroPython v1.11 into CircuitPython
2021-04-27 11:02:02 -07:00
Dan Halbert
7a40b4daec
very much WIP
2021-04-26 23:54:01 -04:00
Scott Shawcroft
76033d5115
Merge MicroPython v1.11 into CircuitPython
2021-04-26 15:47:41 -07:00
Dan Halbert
c26e49c2e6
wip: starting to try to compile
2021-04-25 23:17:41 -04:00
Dan Halbert
9d1fcc3b14
merge from main
2021-04-25 10:27:52 -04:00
Dan Halbert
aea3c4d3ab
wip
2021-04-25 10:23:59 -04:00
Dan Halbert
2ba2574ebf
Merge pull request #4619 from tyomitch/microbit
...
[build] Allow USB to be set to 0
2021-04-24 10:31:29 -04:00
Dan Halbert
556a126917
wip: getting closer
2021-04-23 21:44:13 -04:00
Scott Shawcroft
80e8b4ac14
Merge pull request #4635 from jepler/pcc
...
WIP: Implement 'ParallelImageCapture' for samd51
2021-04-23 13:31:53 -07:00
Artyom Skrobov
4e3c1d4a4c
[build] Allow USB to be set to 0
...
Unify USB-related makefile var and C def as CIRCUITPY_USB.
Always define it as 0 or 1, same as all other settings.
USB_AVAILABLE was conditionally defined in supervisor.mk,
but never actually used to #ifdef USB-related code.
Loosely related to #4546
2021-04-23 11:13:34 -04:00
Dan Halbert
2b4c88d633
wip: partial HID, still needs rework
2021-04-23 00:18:05 -04:00
Dan Halbert
64e0958916
wip: descriptor building
2021-04-21 23:25:36 -04:00
Dan Halbert
6b18a51d57
wip: working on descriptor templates
2021-04-20 22:20:34 -04:00
Dan Halbert
51ccf8dc30
wip: revert usb_descriptor changes; use raw descriptors instead
2021-04-19 23:24:18 -04:00
Jeff Epler
76d68f21ac
displayio: Add RGB555/565/_SWAPPED format support
...
This is helpful when displaying frames from an OV7670 camera, which
uses the RGB565_SWAPPED format internally.
2021-04-19 10:23:47 -05:00
Scott Shawcroft
5ccd5dc08b
Fix struct.pack with padding bytes
...
It used to validate the following arg could fit in a single byte.
Now, it always uses zero to pad.
2021-04-16 12:39:23 -07:00
Dan Halbert
6cb751ab06
wip: revamp API names
2021-04-14 22:10:09 -04:00
Scott Shawcroft
3978b50b8d
Merge pull request #4489 from gamblor21/audiomixer_rp2040
...
Add non M4 audiomixer support
2021-04-14 12:19:17 -07:00
Dan Halbert
4a7e129287
wip: latent usb device enabling/disabling
2021-04-13 23:33:44 -04:00
gamblor21
cd8deb0b72
Removed all the M4 comments
2021-04-13 17:36:14 -05:00
Artyom Skrobov
c6ee471b52
Merge branch 'main' of https://github.com/adafruit/circuitpython into patch-3
2021-04-13 00:32:19 -04:00
Mark
7ace53f22c
Remove comment for define being M4 only it can be M7 too
...
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-04-12 22:35:55 -05:00
Jeff Epler
280aefffb7
IncrementalEncoder: Re-add missing update of quarter_count
...
This lost line caused incremental encoders to stay stuck at 0 forever.
I seem to have lost it while trying to create tidy commits :frown:
2021-04-09 08:47:40 -05:00
Jeff Epler
3ce0b512f8
rasberrypi: IncrementalEncoder: factor out state machine
2021-04-08 16:25:47 -05:00
Jeff Epler
78089107bc
displayio.Bitmap: Allow modification though the buffer protocol
...
It is required to call .dirty() with appropriate arguments after modifications through the buffer protocol, or the display might not be updated correctly.
2021-04-03 10:41:20 -05:00
gamblor21
9bf4b4d81e
Fixes to math for level calculations
2021-04-02 16:47:25 -05:00
hathach
7c3975ecf2
update tinyusb to fix midi buffer overflow issue
2021-04-02 17:57:56 +07:00
Tsutomu IKEGAMI
171820e53f
Fix format
2021-04-01 20:45:15 +09:00
Tsutomu IKEGAMI
5f77d07760
Fix format
2021-04-01 20:26:10 +09:00
Tsutomu IKEGAMI
3c4d763fef
Fix format.
2021-04-01 18:04:33 +09:00
Tsutomu IKEGAMI
7810cb275c
Add two escape sequences to terminalio.Termial:
...
- ESC[yy;xxH : move cursor to (xx, yy)
- ESC[2J : clear screen
2021-04-01 17:33:57 +09:00
Dan Halbert
a13da2ad57
Merge pull request #4486 from kmatch98/displayio_area_expand
...
`displayio` and `vectorio`: move to displayio_area_union and away from _expand
2021-03-26 23:00:05 -04:00
Artyom Skrobov
8056af8648
[synthio] add a simple MidiTrack implementation
2021-03-26 16:38:10 -04:00
Jeff Epler
172715194f
adafruit_bus_device: SPIDevice: Fix so it works with bitbangio.SPI
...
.. by calling methods, same as we did for I2C
2021-03-26 14:51:53 -05:00
Jeff Epler
a70b679ed5
bitbangio.SPI.read: Support write_value, fix some other nits
2021-03-26 12:24:09 -05:00
gamblor21
0b212e2243
Add non M4 audiomixer support
2021-03-25 17:30:40 -05:00
Kevin Matocha
56362a9806
remove duplicated code, replace with displayio_area_canon
2021-03-25 11:31:07 -05:00
Kevin Matocha
9485805b6a
move to displayio_area_union and away from _expand
2021-03-25 11:21:39 -05:00
Kevin Matocha
3785eb7779
correct rectangle size dimensions
2021-03-25 09:36:40 -05:00
Scott Shawcroft
98425c9a9d
Merge pull request #4464 from kmatch98/transform_fix
...
update logic for displayio.TileGrid's transform_xy
2021-03-22 15:52:23 -07:00
Scott Shawcroft
d52662856b
Merge pull request #4462 from jepler/disable-usb-cdc
...
storage: Correct when we check for USB mounts
2021-03-22 15:52:10 -07:00
Kevin Matocha
24831a79d3
update logic for transform_xy
2021-03-22 16:38:56 -05:00
Jeff Epler
5a0e9945e6
storage: Correct when we check for USB mounts
...
Closes #4417
2021-03-22 11:45:54 -05:00
Jeff Epler
a05aab8304
Merge pull request #4454 from jepler/bitmaptools-readinto-4bit
...
Fix reading 4-bit data
2021-03-21 19:56:23 -05:00
Jeff Epler
c64fccbeee
hex may be more obvious
2021-03-21 13:48:08 -05:00
Jeff Epler
7229fe631d
Fix reading 4-bit data
2021-03-21 13:37:38 -05:00
Jeff Epler
e084a92671
Merge pull request #4432 from jepler/bitmap-dirty-improvements
...
Bitmap dirty improvements
2021-03-20 13:09:59 -05:00
Kevin Matocha
9b188934d1
off by one error in rotozoom dirty_area
2021-03-19 21:23:55 -05:00
Jeff Epler
39500cdeab
Merge commit '40829d4cc85394513ca631cff23254344e29786c' of https://github.com/kmatch98/circuitpython into bitmap-dirty-improvements
2021-03-19 20:40:30 -05:00
Jeff Epler
95ac6c716b
rotozoom: switch to using set_dirty_area + write_pixel
2021-03-19 20:40:23 -05:00
Kevin Matocha
40829d4cc8
switch to > in displayio_area_canon
2021-03-19 20:30:37 -05:00
Dan Halbert
1512ca520b
Fix PWMOut non-error handling and never reset
2021-03-19 09:57:21 -04:00
Jeff Epler
d0125617fd
Merge pull request #4428 from kmatch98/bitmap-read-2
...
Add `reverse_rows` to speedy bitmaptools.readinto function
2021-03-18 18:41:35 -05:00
Jeff Epler
623ece2c73
Merge pull request #4429 from jepler/displayio-bitmap-memoryview
...
displayio.Bitmap: Make memoryview()able
2021-03-18 18:38:25 -05:00
Jeff Epler
f5fd42c393
displayio: Move bitmap read-only checking to displayio_bitmap_set_dirty_area
...
This is a modest code savings, but more importantly it reduces
boilerplate in bitmap-modifying routines.
Callers need only ensure they call displayio_bitmap_set_dirty_area in
advance of the bitmap modifications they perform.
(note that this assumes that no bitmap operation can enter background
tasks. If an operation COULD enter background tasks, it MUST re-dirty
the area it touches when it exits, simply by a fresh call to
set_dirty_area with the same area as before)
2021-03-18 09:20:56 -05:00
Jeff Epler
36d608aa67
displayio_bitmap_set_dirty_area: rewrite in terms of displayio_area
...
.. simplifying code in the process. For instance, now fill_region
uses area routines to order and constrain its coordinates.
Happily, this change also frees a modest amount of code space.
2021-03-18 09:20:56 -05:00
Jeff Epler
3b506f0fa5
displayio: area: add displayio_area_canon
...
This routine will be used to simplify code that deals with ranges
of bitmap coordinates.
2021-03-18 09:06:00 -05:00
Jeff Epler
f40c0c13ad
displayio: area: add displayo_area_copy_coords, displayio_area_empty
...
.. and simplify the implmentation of displayio_area_union
This _slightly_ changes the behavior of displayio_area_union:
Formerly, if one of the areas was empty, its coordinates were still
used in the min/max calculations.
Now, if one of the areas is empty, the result gets the other area's coords
In particular, taking the union of the empty area with coords (0,0,0,0)
with the non-empty area (x1,y1,x2,y2) would give the area (0,0,x2,y2)
before, and (x1,y1,x2,y2) after the change.
2021-03-18 09:05:07 -05:00
Jeff Epler
47ca792765
arrayblit: mark bitmap area as dirty
2021-03-17 20:25:22 -05:00
Scott Shawcroft
670375dc0d
Merge pull request #4426 from kmatch98/main
...
Add getter for displayio.Palette item transparency/opacity.
2021-03-17 18:13:39 -07:00
Jeff Epler
c157ada90c
displayio.Bitmap: Make memoryview()able
2021-03-17 16:26:45 -05:00
Kevin Matocha
c37a1f45f3
ran pre-commit for formatting fixes
2021-03-17 11:00:32 -05:00
Kevin Matocha
580121d46e
minor formatting
2021-03-17 09:38:53 -05:00
Kevin Matocha
ef91e1752c
merge upstream/main
2021-03-17 09:30:51 -05:00
Kevin Matocha
5c3cce6f5d
add is_transparent getter to displayio.Palette
2021-03-16 20:43:23 -05:00
Jeff Epler
58679dc038
Merge remote-tracking branch 'origin/main' into bitmap-read-2
2021-03-16 12:21:50 -05:00
Jeff Epler
97b6664201
re-format with uncrustify
2021-03-16 12:20:09 -05:00
Kevin Matocha
227ac67463
Add reverse_rows option to bitmaptools.readinto
2021-03-16 10:01:12 -05:00
Jeff Epler
542fb58673
add arrayblit
2021-03-15 20:36:44 -05:00
microDev
a52eb88031
run code formatting script
2021-03-15 19:27:36 +05:30
Jeff Epler
094265cb86
bitmaptools.readinto: Fix diagnostics on atmel-samd builds
2021-03-14 15:36:20 -05:00
Jeff Epler
9133b23a37
bitmaptools: Add readinto
...
When reading uncompressed bitmap data directly, readinto can work
much more quickly than a Python-coded loop.
On a Raspberry Pi Pico, I benchmarked a modified version of
adafruit_bitmap_font's pcf reader which uses readinto instead of
the existing code. My test font was a 72-point file created from Arial.
This decreased the time to load all the ASCII glyphs from 4.9 seconds to
just 0.44 seconds.
While this attempts to support many pixel configurations (1/2/4/8/16/24/32
bpp; swapped words and pixels) only the single combination used by
PCF fonts was tested.
2021-03-14 13:57:46 -05:00
Scott Shawcroft
b413535ee1
Merge pull request #4376 from kmatch98/displayio_bitmap
...
add fill_region and draw_line to bitmap_tools
2021-03-12 16:50:39 -08:00
Dan Halbert
fa34b8a404
correct clock stretch timeout for board.I2C()
2021-03-11 21:02:07 -05:00
Kevin Matocha
a9afa0d9d4
Move input checks to shared-module, update docstrings
2021-03-11 16:18:17 -06:00
Kevin Matocha
85f0f07d51
add fill_region and draw_line to bitmaptools
2021-03-10 11:37:27 -06:00
Kevin Matocha
0c012da080
refactor displayio set_pixel for use in bitmap_tools
2021-03-07 11:22:30 -06:00
Artyom Skrobov
915a5eddeb
[audiocore] buffer_read
was never used
2021-03-05 10:25:09 -05:00
Dan Halbert
d1184e7e94
Be cognizant of null transform for .transpose_xy
2021-03-04 14:40:50 -05:00
Dan Halbert
29575ee439
use self->members in displayio_group_set()
2021-03-03 17:36:48 -05:00
Dan Halbert
cd48c5ee83
Merge pull request #4315 from dhalbert/rp2040-i2c-short-writes
...
RP2040: Implement short I2C writes (2 bytes or less) using bitbangio
2021-03-03 12:42:47 -05:00
Jeff Epler
efc2667b5f
Merge pull request #4186 from jepler/update-protomatter-rp2
...
Enable protomatter on RP2040 builds
2021-03-02 19:01:37 -06:00
Dan Halbert
f31b472309
Merge remote-tracking branch 'adafruit/main' into rp2040-i2c-short-writes
2021-03-02 15:17:12 -05:00
Dan Halbert
9939c59caa
wip
2021-03-02 15:16:55 -05:00
Scott Shawcroft
e4f0e47d9f
Merge pull request #4233 from pewpew-game/displayio-group-list
...
displayio: make Group use a python list internally
2021-03-02 09:59:58 -08:00
Scott Shawcroft
d0eab5c561
Merge pull request #4256 from kmatch98/bt_cleanup
...
Add `bitmaptools` module
2021-03-01 18:24:12 -08:00
Jeff Epler
238484ec26
Merge remote-tracking branch 'origin/main' into update-protomatter-rp2
2021-03-01 15:18:32 -06:00
Radomir Dopieralski
24473b7983
Separate out mp_obj_list_insert for use in display.Group
...
Note that for some reason this makes the binary 500 bytes larger!
2021-02-27 21:13:55 +01:00
Radomir Dopieralski
38fb7b511b
Remove max_size from displayio.Group
...
Still accept it as an argument. Add deprecation note.
2021-02-27 20:52:38 +01:00
Radomir Dopieralski
9c41753e44
Remove unused typedef for group children
2021-02-27 20:52:38 +01:00
Radomir Dopieralski
e505c59ed8
Separate mp_obj_list_pop so it can be used outside of objlist.c
2021-02-27 20:52:38 +01:00
Radomir Dopieralski
121c6bcc9b
Replace displaio.Group.children with a python list
...
This is a first go at it, done by naive replacing of all array
operations with corresponding operations on the list. Note that
there is a lot of unnecessary type conversions, here. Also, list_pop
has been copied, because it's decalerd STATIC in py/objlist.h
2021-02-27 20:52:38 +01:00