Wykres commitów

2550 Commity (94ee06e01b51e86ddd7a29a5e5288b5e86130acc)

Autor SHA1 Wiadomość Data
Mike Bell 94ee06e01b PicoVector: Fix ppp arc memory corruption. 2025-03-28 10:31:01 +00:00
Mike Bell 37083a6952 Hub75: Fix LED ghosting. 2025-03-28 10:31:01 +00:00
Mike Bell a08395ca84 PicoVector: Fully initialise text metrics. 2025-03-28 10:31:01 +00:00
Phil Howard ba767b5217 PicoVector: Initialise pp_transform().
For some reason this was unset causing drawing to fail.

Reset it to a known good state in the constructor.
2025-03-28 10:31:01 +00:00
Phil Howard 17785d9299 PicoVector: Add arbitrary matrix transform. 2025-03-28 10:31:01 +00:00
Phil Howard c3680857ba PicoVector: Fix bug in Polygon.rectangle.
Fix spurious point in top-left corner causing a broken triangular
rectangle when any permutation of corners other than the bottom-left
is rounded.
2025-03-28 10:31:01 +00:00
Phil Howard ad7833e45a PicoVector: Fix bug in Polygon.regular. 2025-03-28 10:31:01 +00:00
Phil Howard 3e7baf6906 PicoGraphics: Check for out of range layers. 2025-03-28 10:31:01 +00:00
Phil Howard 9162120b90 PicoVector: MPY bindings for line and arc. 2025-03-28 10:31:01 +00:00
Phil Howard e6ae12e65a PicoVector: Tweak for C++ compatibility. 2025-03-28 10:31:01 +00:00
Mike Bell 4986537f5d PicoVector: Avoid clipping bottom right AA edges. 2025-03-28 10:31:01 +00:00
Jonathan Williamson 610b4e8e4b PicoVector: Add star and line primitives. 2025-03-28 10:31:01 +00:00
Phil Howard df5bda7363 PicoGraphics: Implement RGB888 alpha blending. 2025-03-28 10:31:01 +00:00
Mike Bell 545ea81e53 Hub75: Reformat loop for performance.
~3.09ms to ~2.87ms per frame without overclock.
2025-03-28 10:31:01 +00:00
Phil Howard cb6bf89a33 Hub75: Performance improvements and stacked mode.
Inline and simplify the pixel flip for a 13.2ms -> 3.8ms speedup at 128x128 on RP2350 stock.

Drop RGB565 mode.

Add the ability to stack some panels, eg: 2x128x64 in a 128x127 configuration.
2025-03-28 10:31:01 +00:00
Phil Howard 8b32174fc9 PicoVector: Avoid MicroPython GC.
Since we're not using tracked allocation, any memory we don't explicitly
hold a reference to will be assumed unused by MicroPython's GC.

Pass up the pp_nodes and pp_node_counts points (hackily) to fix this.
2025-03-28 10:31:01 +00:00
Phil Howard 8f87e1c75f PicoVector: Remove * 4 from pp_nodes lookup. 2025-03-28 10:31:01 +00:00
Phil Howard 405cd490ea PicoGraphics/Hub75: Add support for 128x128. 2025-03-28 10:31:01 +00:00
Phil Howard d7f55fa3c7 PicoVector: Update example with text bounds. 2025-03-28 10:31:01 +00:00
Phil Howard 9a43f5f371 PicoGraphics: Don't force Presto to RGB565. 2025-03-28 10:31:01 +00:00
Mike Bell 2811350c50 PicoGraphics: Presto full res option. 2025-03-28 10:31:01 +00:00
Mike Bell 00bfbddaf0 PicoVector: Apply overall transform to text rendering. 2025-03-28 10:31:01 +00:00
Mike Bell c94f4607de PicoVector: Add optional text max width and max height. 2025-03-28 10:31:01 +00:00
Phil Howard 074570f99c PicoVector: Revert the tile buffer to be fixed.
Ensure that MicroPython doesn't ever place the tile buffer into PSRAM
and trash performance.
2025-03-28 10:31:01 +00:00
Phil Howard 1bf73a20cd PicoVector: Runtime buffer allocation. 2025-03-28 10:31:01 +00:00
Phil Howard aa9d03f0cb PicoVector: Prefix some pretty-poly variables. 2025-03-28 10:31:01 +00:00
Phil Howard 24eee10895 PicoGraphics: Non-blocking Inky update for #936. 2025-03-28 10:31:01 +00:00
Phil Howard 64136cdb83 Plasma: Add support for GPIOs >=32.
For both APA102 and WS2812 the pins used on the same PIO must be in the same range.
The GPIO base offset applies to the whole PIO and not individual state machines.

This means that for APA102 both data and clock must be in the same pin range,
ie: either 16-48 inclusive or 0-31 inclusive.
2025-03-28 10:31:01 +00:00
Phil Howard 878af7c31f PicoGraphics: Add Presto. 2025-03-28 10:31:01 +00:00
Phil Howard 95b6c213dd PicoVector: Remove (ifdef guard) debug functions. 2025-03-28 10:31:01 +00:00
Phil Howard 089e5df243 PicoVector: Refactor text multiline support.
Drop dependence on null terminated strings, and for a final linebreak.

Bound all text processing using the text length.
2025-03-28 10:31:01 +00:00
Phil Howard 983370f916 PicoGraphics: RGB565 skip layers if not enabled. 2025-03-28 10:31:01 +00:00
Phil Howard 09dbfa1e64 PicoVector: Improve text rendering and control. 2025-03-28 10:31:01 +00:00
Phil Howard 086b9d0135 PicoGraphics: Add layer support to PicoVector tile renderer. 2025-03-28 10:31:01 +00:00
Phil Howard daa6603d1b PicoVector: Big refactor, ppp primitives.
* Remove Polygon types in favour of primitives .circle, .rectangle etc
* Add a new Transform type for building up transformation matrices
* Add support to set/clear transform on drawing
2025-03-28 10:31:01 +00:00
Phil Howard f0a09659f5 PicoVector: Update C++ examples. 2025-03-28 10:31:01 +00:00
Phil Howard 71bcc9d62c PicoVector: Rewrite around new linked-lists poly. 2025-03-28 10:31:01 +00:00
Phil Howard dd7d6262df PicoVector: Use tile renderer for all pens. 2025-03-28 10:31:01 +00:00
Phil Howard d39516f9e1 PicoVector: Support float types in MicroPython bindings. 2025-03-28 10:31:01 +00:00
Phil Howard fa20fec507 PicoVector: Remove malloc from MicroPython bindings. 2025-03-28 10:31:01 +00:00
Phil Howard 177e5e8762 PicoGraphics: Add get_clip. 2025-03-28 10:31:01 +00:00
Phil Howard 79a33d5a42 PicoVector: Fix x16 anti-aliasing. 2025-03-28 10:31:01 +00:00
Phil Howard 7bc6956dd8 PicoGraphics: Add RGB565 alpha blending support. 2025-03-28 10:31:01 +00:00
Phil Howard df9aeb8abb PicoVector: Remove alright_fonts.cpp from cmake. 2025-03-28 10:31:01 +00:00
Phil Howard 3add0024f6 PicoVector: C++ basic bringup. 2025-03-28 10:31:01 +00:00
Phil Howard 0da5eda410 PicoVector: render text that doesn't end with a linebreak. 2025-03-28 10:31:01 +00:00
Phil Howard 9879e6d602 PicoVector: Fix out of bounds drawing.
pretty-poly.h is not giving us fully clipped rectangles, so revert to the
slower bounds checked pixel for now.
2025-03-28 10:31:01 +00:00
Phil Howard 2fc45d0737 PicoVector: fix pointer arithmatic in af_load_font_file.
Pointers were being incremented as if they were bytes, rather than larger
containers.
2025-03-28 10:31:01 +00:00
Phil Howard a415261cc9 PicoVector: Break things until they work. 2025-03-28 10:31:01 +00:00
Phil Howard 3d6ac818a1 PicoVector: alright-fonts bringup. 2025-03-28 10:31:01 +00:00