summaryrefslogtreecommitdiff
path: root/shared-module
AgeCommit message (Collapse)Author
2020-07-01Merge pull request #3083 from tannewt/esp32s2_busioJeff Epler
Add busio support for the ESP32-S2
2020-06-26sdcardio: implement new library for SD card I/OJeff Epler
Testing performed: That a card is successfully mounted on Pygamer with the built in SD card slot This module is enabled for most FULL_BUILD boards, but is disabled for samd21 ("M0"), litex, and pca10100 for various reasons.
2020-06-24Switch SPI to polling DMA and enable displayioScott Shawcroft
2020-06-24Add UART supportScott Shawcroft
2020-06-22_pew: move to common-halJeff Epler
I noticed that this code was referring to samd-specific functionality, and isn't enabled except in one samd board (pewpew10). Move it. There is incomplte support for _pew in mimxrt10xx which then caused build errors; adding a #if guard to check for _pew being enabled fixes it. The _pew module is not likely to be important on mimxrt but I'll leave the choice to remove it to someone else.
2020-06-15remove debugging printsDan Halbert
2020-06-15Fix ScanEntry prefix matching for allDan Halbert
2020-06-10Issue #3014 - refresh after changing to transparentDavePutz
Adding self->needs_refresh = true; in common_hal_displayio_palette_make_opaque() and common_hal_displayio_palette_make_transparent()
2020-06-03Fix up end of file and trailing whitespace.Diego Elio Pettenò
This can be enforced by pre-commit, but correct it separately to make it easier to review.
2020-06-01audiomixer: Fix garbled playback when voice 0 is stopped, audio popsJeff Epler
There were two main problems - word_buffer was being filled as though with unsigned samples, but during mixing all samples are kept in signed mode - If the first buffer was stopped, the voices_active flag got set anyway, even though the output buffer wasn't initialized yet, so the samples were mixed with indeterminate data We also cover the case where no buffer was playing, and ensure the output buffer is filled. This now works much better. Tested on neotrellis m4 playing back 4 mp3 streams at a time in signed-16, 22050Hz
2020-05-24Allow setting RGBW pixels with RGB tuplesRoy Hooper
2020-05-22Simplify pixelbuf set_pixels functionGeorge Waters
2020-05-22Use mp_int_t for setting pixelbuf slice indicesGeorge Waters
When handling negative steps, start and stop need to be mp_int_t so they can be checked against a potential negative value during the for loop used to set the slice values.
2020-05-21Implement negative step for pixelbuf slicesGeorge Waters
2020-05-18Merge pull request #2837 from k0d/serial-debugScott Shawcroft
Add support for a debug console, such as ST-Link VCP.
2020-05-19Enable showing the console on a debug uartMark Olsson
2020-05-18remove a duplication in polygon.cwarriorofwire
2020-05-18vectorio: speed up polygonwarriorofwire
This change takes polygon from 126k pixels per second fill to 240k pps fill on a reference 5 point star 50x66px polygon, updating both location and shape at 10hz. Tested on an m4 express feather. As a curiosity, the flat-out fill rate of a shape whose get_pixel is `return 0;` fills just shy of 375k pixels per second.
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