| Age | Commit message (Collapse) | Author |
|
Otherwise, button presses might not be noticed.
|
|
|
|
|
|
* Fix drawing 1 pixel too large
* Need to pad dirty area to ensure removed shapes are fully removed
|
|
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.
|
|
This adds initial support for an AES module named aesio. This
implementation supports only a subset of AES modes, namely
ECB, CBC, and CTR modes.
Example usage:
```
>>> import aesio
>>>
>>> key = b'Sixteen byte key'
>>> cipher = aesio.AES(key, aesio.MODE_ECB)
>>> output = bytearray(16)
>>> cipher.encrypt_into(b'Circuit Python!!', output)
>>> output
bytearray(b'E\x14\x85\x18\x9a\x9c\r\x95>\xa7kV\xa2`\x8b\n')
>>>
```
This key is 16-bytes, so it uses AES128. If your key is 24- or 32-
bytes long, it will switch to AES192 or AES256 respectively.
This has been tested with many of the official NIST test vectors,
such as those used in `pycryptodome` at
https://github.com/Legrandin/pycryptodome/tree/39626a5b01ce5c1cf51d022be166ad0aea722177/lib/Crypto/SelfTest/Cipher/test_vectors/AES
CTR has not been tested as NIST does not provide test vectors for it.
Signed-off-by: Sean Cross <sean@xobs.io>
|
|
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
|
|
- rename oe_pin -> output_enable_pin
- improve and reorganize docstrings
- rename swapbuffers->refresh
- rename "paused" -> "brightness", change semantics slightly
- common_hal several functions
- clarify why the common_hal routines can't be used directly in the
protocol's function pointers
- whitespace cleanups
- remove prototypes for nonexistent functions
|
|
|
|
Per @tannewt, this area "sees more churn", so it's probably the right
choice here
|
|
|
|
This may have been contributing to fragmentation of the supervisor
heap
|
|
|
|
|
|
|
|
|
|
- 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
|
|
Previously, the 0th pixel's value was always returned
|
|
|
|
|