| Age | Commit message (Collapse) | Author |
|
This can be enforced by pre-commit, but correct it separately to make it easier to review.
|
|
VectorShape tells the Group to redraw whatever it left behind when it is removed now.
|
|
VectorShape now just uses the Group's and Display's absolute transforms.
|
|
Rather than maintain a transform per-shape, we'll just use whatever
settings are on the Display. Currently only transpose is done.
|
|
vectorio builds on m4 express feather
Concrete shapes are composed into a VectorShape which is put into a displayio Group for display.
VectorShape provides transpose and x/y positioning for shape implementations.
Included Shapes:
* Circle
- A radius; Circle is positioned at its axis in the VectorShape.
- You can freely modify the radius to grow and shrink the circle in-place.
* Polygon
- An ordered list of points.
- Beteween each successive point an edge is inferred. A final edge closing the shape is inferred between the last
point and the first point.
- You can modify the points in a Polygon. The points' coordinate system is relative to (0, 0) so if you'd like a
top-center justified 10x20 rectangle you can do points [(-5, 0), (5, 0), (5, 20), (0, 20)] and your VectorShape
x and y properties will position the rectangle relative to its top center point
* Rectangle
A width and a height.
|
|
STM32: Add displayio to F7/H7
|
|
|
|
|
|
This isn't perfect and needs a bit more testing.
|
|
This gets all the purely internal references. Some uses of
protomatter/Protomatter/PROTOMATTER remain, as they are references
to symbols in the Protomatter C library itself.
|
|
This is a quick rename, it changes the user-facing names but not the
internal names of things.
|
|
I originally believed that there would be a wrapper library around it,
like with _pixelbuf; but this proves not to be the case, as there's
too little for the library to do.
|
|
|
|
.. change the in-rom palette to be in RGB565 order
|
|
|
|
|
|
- bump supervisor alloc count by 4 (we actually use 5)
- move reconstruct to after gc heap is reset
- destroy protomatter object entirely if not used by a FramebufferDisplay
- ensure previous supervisor allocations are released
- zero out pointers so GC can collect them
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes #2750
|
|
|
|
Add polarity and phase to FourWire.
|
|
|
|
It was fixed as 0/0 even though it used to get it from the current
SPI state. This makes it more explicit with kwargs.
Thanks to magpie_lark and kmatocha on the Adafruit Support forum
for finding the issue: https://forums.adafruit.com/viewtopic.php?f=60&t=162515
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We weren't correctly collecting the start and stop sequences. As
a result, the GC would free the space and allocate other info
there.
Thanks to JacobT on Discord for the bug report!
|
|
This code is shared by most parts, except where not all the #ifdefs
inside the tick function were present in all ports. This mostly would
have broken gamepad tick support on non-samd ports.
The "ms32" and "ms64" variants of the tick functions are introduced
because there is no 64-bit atomic read. Disabling interrupts avoids
a low probability bug where milliseconds could be off by ~49.5 days
once every ~49.5 days (2^32 ms).
Avoiding disabling interrupts when only the low 32 bits are needed is a minor
optimization.
Testing performed: on metro m4 express, USB still works and
time.monotonic_ns() still counts up
|
|
|
|
|
|
Add random dithering to ColorConverter
|
|
|
|
|
|
|
|
This allows for one to preserve ordering within a Group while
hiding something temporarily.
Fixes #1688
|
|
Fixes #2098
|
|
|
|
|
|
|
|
|
|
|