summaryrefslogtreecommitdiff
path: root/shared-module
AgeCommit message (Collapse)Author
2020-05-13Gamepad & GamepadShift: Enable ticks while object existsJeff Epler
Otherwise, button presses might not be noticed.
2020-05-12add performance measurement to VectorShapewarriorofwire
2020-05-12make Circle return explicitwarriorofwire
2020-05-10vectorio: fix up Rectanglewarriorofwire
* Fix drawing 1 pixel too large * Need to pad dirty area to ensure removed shapes are fully removed
2020-05-10vectorio: clean up after group removalwarriorofwire
VectorShape tells the Group to redraw whatever it left behind when it is removed now.
2020-05-10vectorio: respect display transpose and mirror.warriorofwire
VectorShape now just uses the Group's and Display's absolute transforms.
2020-05-09vectorio: switch per-shape transform to Displaywarriorofwire
Rather than maintain a transform per-shape, we'll just use whatever settings are on the Display. Currently only transpose is done.
2020-05-09Add vectorio: for drawing shapeswarriorofwire
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.
2020-05-06aesio: add basic AES encryption and decryptionSean Cross
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>
2020-05-05Merge pull request #2842 from hierophect/stm32-h7-displayiohierophect
STM32: Add displayio to F7/H7
2020-05-04make translate againDan Halbert
2020-05-01Fix flag typoLucian Copeland
2020-04-30Make PulseIO optional within DisplayIOLucian Copeland
2020-04-21ringbuf testedDan Halbert
2020-04-21merge from adafruitDan Halbert
2020-04-21further ringbuf cleanupDan Halbert
2020-04-20Merge remote-tracking branch 'adafruit/master' into lower_powerScott Shawcroft
This isn't perfect and needs a bit more testing.
2020-04-17framebufferio: update copyright informationJeff Epler
2020-04-17RGBMatrix: finish renaming from ProtomatterJeff Epler
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.
2020-04-17framebufferio: get width, etc., from protocol, not object propertyJeff Epler
2020-04-17Rename Protomatter -> RGBMatrixJeff Epler
This is a quick rename, it changes the user-facing names but not the internal names of things.
2020-04-17protomatter: move get_width/height to common_halJeff Epler
2020-04-17Rename _protomatter -> protomatterJeff Epler
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.
2020-04-16Remove tick.h from merged file.Scott Shawcroft
2020-04-14Merge remote-tracking branch 'adafruit/master' into lower_powerScott Shawcroft
2020-04-14displayio: swap colors in palettes tooJeff Epler
.. change the in-rom palette to be in RGB565 order
2020-04-14protomatter: Respond to review commentsJeff Epler
- 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
2020-04-14framebufferio: move backlight down to the underlying framebufferJeff Epler
2020-04-14protomatter: Use low end of supervisor heapJeff Epler
Per @tannewt, this area "sees more churn", so it's probably the right choice here
2020-04-14protomatter: release the protomatter object during release_displays()Jeff Epler
2020-04-14protomatter: allocator: Never supervisor-alloc while gc availableJeff Epler
This may have been contributing to fragmentation of the supervisor heap
2020-04-14FramebufferDisplay: remove probably not needed constructor argumentsJeff Epler
2020-04-14_protomatter: move get/set paused into shared-moduleJeff Epler
2020-04-14deinit: Work harder to ensure storage is released at deinitJeff Epler
2020-04-14fix build for non-displayio & non-protomatter targetsJeff Epler
2020-04-14protomatter: more memory allocation fixesJeff Epler
- 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
2020-04-14Add Protomatter and FramebufferDisplayJeff Epler
2020-04-14displayio: implement, use allocate_new_display_bus_or_raiseJeff Epler
2020-04-14displayio: implement, use allocate_display_or_raiseJeff Epler
2020-04-13make packed word and copy it incaternuson
2020-04-09add docstring, clean upcaternuson
2020-04-09initial working fillcaternuson
2020-04-08Save backlight_on_high correctly.Scott Shawcroft
Fixes #2750
2020-03-31Merge remote-tracking branch 'adafruit/master' into lower_powerScott Shawcroft
2020-03-28Merge pull request #2730 from tannewt/fix_fourwire_phase_polarityJeff Epler
Add polarity and phase to FourWire.
2020-03-25adding a backlight polarity flag to Displaysiddacious
2020-03-25Add polarity and phase to FourWire.Scott Shawcroft
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
2020-03-18Pixelbuf: subscr: Get correct pixel valueJeff Epler
Previously, the 0th pixel's value was always returned
2020-03-17Fix up Spresense build. It doesn't sleep.Scott Shawcroft
2020-03-13Initial work on SAMDScott Shawcroft