Phil Howard
47d547d650
Test: Drop duplicate audio i2s builds.
2024-12-04 12:28:29 +00:00
Phil Howard
01d8aa71fd
PicoGraphics: Check for out of range layers.
2024-12-03 12:55:54 +00:00
Phil Howard
2e38a72239
PicoVector: MPY bindings for line and arc.
2024-12-03 12:55:54 +00:00
Phil Howard
090ef5e6af
PicoVector: Tweak for C++ compatibility.
2024-12-03 12:55:54 +00:00
Mike Bell
5ef0428d50
PicoVector: Avoid clipping bottom right AA edges.
2024-12-03 12:55:54 +00:00
Jonathan Williamson
f63b446f2e
PicoVector: Add star and line primitives.
2024-12-03 12:55:54 +00:00
Phil Howard
eaf7d40c2b
PicoGraphics: Implement RGB888 alpha blending.
2024-12-03 12:55:54 +00:00
Mike Bell
ff101767cd
Hub75: Reformat loop for performance.
...
~3.09ms to ~2.87ms per frame without overclock.
2024-12-03 12:55:54 +00:00
Phil Howard
50d5a39fa9
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.
2024-12-03 12:55:54 +00:00
Phil Howard
73c2073f1c
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.
2024-12-03 12:55:54 +00:00
Phil Howard
9cb63e3246
PicoVector: Remove * 4 from pp_nodes lookup.
2024-12-03 12:55:54 +00:00
Phil Howard
2ceaa4b780
PicoGraphics/Hub75: Add support for 128x128.
2024-12-03 12:55:54 +00:00
Phil Howard
67ba43dc6f
PicoVector: Update example with text bounds.
2024-12-03 12:55:54 +00:00
Phil Howard
9caa8c7abe
PicoGraphics: Don't force Presto to RGB565.
2024-12-03 12:55:54 +00:00
Mike Bell
165e26b932
PicoGraphics: Presto full res option.
2024-12-03 12:55:54 +00:00
Mike Bell
8be8e08a17
PicoVector: Apply overall transform to text rendering.
2024-12-03 12:55:54 +00:00
Mike Bell
04afea0cbe
PicoVector: Add optional text max width and max height.
2024-12-03 12:55:54 +00:00
Phil Howard
bfc69b98cf
PicoVector: Revert the tile buffer to be fixed.
...
Ensure that MicroPython doesn't ever place the tile buffer into PSRAM
and trash performance.
2024-12-03 12:55:54 +00:00
Phil Howard
eedc4ee869
PicoVector: Runtime buffer allocation.
2024-12-03 12:55:54 +00:00
Phil Howard
3b2a45b0cd
PicoVector: Prefix some pretty-poly variables.
2024-12-03 12:55:53 +00:00
Phil Howard
756fabd02a
PicoGraphics: Non-blocking Inky update for #936 .
2024-12-03 12:55:53 +00:00
Phil Howard
97ab3985ba
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.
2024-12-03 12:55:53 +00:00
Phil Howard
3412037718
PicoGraphics: Add Presto.
2024-12-03 12:55:53 +00:00
Phil Howard
e89d94a229
PicoVector: Remove (ifdef guard) debug functions.
2024-12-03 12:55:53 +00:00
Phil Howard
aa37420739
PicoVector: Refactor text multiline support.
...
Drop dependence on null terminated strings, and for a final linebreak.
Bound all text processing using the text length.
2024-12-03 12:55:53 +00:00
Phil Howard
909044edcb
PicoGraphics: RGB565 skip layers if not enabled.
2024-12-03 12:55:53 +00:00
Phil Howard
8c423fc2b0
PicoVector: Improve text rendering and control.
2024-12-03 12:55:53 +00:00
Phil Howard
01393c6368
PicoGraphics: Add layer support to PicoVector tile renderer.
2024-12-03 12:55:53 +00:00
Phil Howard
3bd5829942
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
2024-12-03 12:55:53 +00:00
Phil Howard
ef2cbe9785
PicoVector: Update C++ examples.
2024-12-03 12:55:53 +00:00
Phil Howard
2496d7562a
PicoVector: Rewrite around new linked-lists poly.
2024-12-03 12:55:53 +00:00
Phil Howard
74b5a7580b
PicoVector: Use tile renderer for all pens.
2024-12-03 12:55:53 +00:00
Phil Howard
5f1f5751d2
PicoVector: Support float types in MicroPython bindings.
2024-12-03 12:55:53 +00:00
Phil Howard
b3ceea9393
PicoVector: Remove malloc from MicroPython bindings.
2024-12-03 12:55:53 +00:00
Phil Howard
2892b8214a
PicoGraphics: Add get_clip.
2024-12-03 12:55:53 +00:00
Phil Howard
1b71858dc5
PicoVector: Fix x16 anti-aliasing.
2024-12-03 12:55:53 +00:00
Phil Howard
c0a1484e81
PicoGraphics: Add RGB565 alpha blending support.
2024-12-03 12:55:53 +00:00
Phil Howard
188ea78bcf
PicoVector: Remove alright_fonts.cpp from cmake.
2024-12-03 12:55:53 +00:00
Phil Howard
1813eaafe2
PicoVector: C++ basic bringup.
2024-12-03 12:55:53 +00:00
Phil Howard
5457b99ae3
PicoVector: render text that doesn't end with a linebreak.
2024-12-03 12:55:53 +00:00
Phil Howard
b5bf2b24df
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.
2024-12-03 12:55:53 +00:00
Phil Howard
79b8e0c096
PicoVector: fix pointer arithmatic in af_load_font_file.
...
Pointers were being incremented as if they were bytes, rather than larger
containers.
2024-12-03 12:55:53 +00:00
Phil Howard
5e60db2758
PicoVector: Break things until they work.
2024-12-03 12:55:53 +00:00
Phil Howard
f6f33bc101
PicoVector: alright-fonts bringup.
2024-12-03 12:55:53 +00:00
Phil Howard
6a014d72ae
PicoVector: Swap rotate translation order.
2024-12-03 12:55:53 +00:00
Phil Howard
613d39b78b
PicoVector: Vendor pretty-poly and tweak rotation.
2024-12-03 12:55:53 +00:00
Phil Howard
0add523dcb
PicoVector: Suppress errors.
...
Ignore sign compare and narrowing conversion errors in pretty-poly.h.
2024-12-03 12:55:53 +00:00
Phil Howard
e859424c6f
PicoVector: Rewrite MicroPython bindings.
2024-12-03 12:55:53 +00:00
Phil Howard
12e93d26f3
PicoVector: Rewrite around new C pretty-poly.h.
2024-12-03 12:55:53 +00:00
Phil Howard
b6a98cd9ec
PicoGraphics: Support multiple layers in more types.
2024-12-03 12:55:53 +00:00