Phil Howard
a41aa7954d
PNG/JPEGDEC: Use MP_ROM_QSTR.
2025-01-23 14:08:24 +00:00
Phil Howard
ef0d80b151
Hub75: Remove 128x128 panel rotation hack.
2025-01-22 16:44:01 +00:00
Phil Howard
a9a18c3c9e
CI: Bump MicroPython to v1.24.1.
2025-01-21 16:37:14 +00:00
Phil Howard
a2e6a8838e
PicoVector: AF: Support for 16bit point count.
...
Somewhere in the conversion from C++ to C we lost support for 16-bit point counts.
Raise the internal point count to 16-bit, and check for a flag in the font.
If the flag is set, treat the point count as 16-bits, otherwise fallback to 8 for back compatibility.
2025-01-16 18:12:44 +00:00
Phil Howard
5e2ba8d6cc
PicoVector: Fix fonts not rendering with no transform set.
2025-01-16 16:32:34 +00:00
Phil Howard
fc42c6abe7
Tufty 2040: Update spectrometer vector example.
2025-01-16 16:32:34 +00:00
Phil Howard
0df3095b06
PicoVector: Fix bug in polygon iterator.
...
list(Polygon) should return a list of points, but crashed with non-empty polygons.
We were advancing to the next path and then retriving an invalid point count for building the tuple.
Save the point count before advancing to the next path.
2025-01-16 16:32:34 +00:00
Phil Howard
1ae18141ef
Tufty 2040: Update polygons example.
2025-01-16 16:32:34 +00:00
Phil Howard
5d883cc14d
ST7789: Add RAMCTRL mentioned in #1040 .
2025-01-16 16:32:34 +00:00
Mike Bell
974b3ccb6b
PicoVector: Fix ppp arc memory corruption.
2025-01-16 16:32:34 +00:00
Mike Bell
d10fa81395
Hub75: Fix LED ghosting.
2025-01-16 16:32:34 +00:00
Mike Bell
dff55e1789
PicoVector: Fully initialise text metrics.
2025-01-16 16:32:34 +00:00
Phil Howard
219b93c90b
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-01-16 16:32:34 +00:00
Phil Howard
3a0b049447
PicoVector: Add arbitrary matrix transform.
2025-01-16 16:32:34 +00:00
Phil Howard
3f2bce2979
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-01-16 16:32:34 +00:00
Phil Howard
09a06bd0a2
PicoVector: Fix bug in Polygon.regular.
2025-01-16 16:32:34 +00:00
Phil Howard
796e7cf338
PicoGraphics: Check for out of range layers.
2025-01-16 16:32:34 +00:00
Phil Howard
ff1917c2f6
PicoVector: MPY bindings for line and arc.
2025-01-16 16:32:34 +00:00
Phil Howard
bed45f6424
PicoVector: Tweak for C++ compatibility.
2025-01-16 16:32:34 +00:00
Mike Bell
e99a791352
PicoVector: Avoid clipping bottom right AA edges.
2025-01-16 16:32:34 +00:00
Jonathan Williamson
749feb03ea
PicoVector: Add star and line primitives.
2025-01-16 16:32:34 +00:00
Phil Howard
f44196860a
PicoGraphics: Implement RGB888 alpha blending.
2025-01-16 16:32:34 +00:00
Mike Bell
4fc8323e9a
Hub75: Reformat loop for performance.
...
~3.09ms to ~2.87ms per frame without overclock.
2025-01-16 16:32:34 +00:00
Phil Howard
44ffeeed3f
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-01-16 16:32:34 +00:00
Phil Howard
515521c16c
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-01-16 16:32:34 +00:00
Phil Howard
93323f4a28
PicoVector: Remove * 4 from pp_nodes lookup.
2025-01-16 16:32:34 +00:00
Phil Howard
b71324bbd4
PicoGraphics/Hub75: Add support for 128x128.
2025-01-16 16:32:34 +00:00
Phil Howard
27b363db5f
PicoVector: Update example with text bounds.
2025-01-16 16:32:34 +00:00
Phil Howard
c9c7f1d634
PicoGraphics: Don't force Presto to RGB565.
2025-01-16 16:32:34 +00:00
Mike Bell
b9f11a3b1d
PicoGraphics: Presto full res option.
2025-01-16 16:32:34 +00:00
Mike Bell
4274cd183b
PicoVector: Apply overall transform to text rendering.
2025-01-16 16:32:34 +00:00
Mike Bell
6942bc7329
PicoVector: Add optional text max width and max height.
2025-01-16 16:32:34 +00:00
Phil Howard
cc38cf06fb
PicoVector: Revert the tile buffer to be fixed.
...
Ensure that MicroPython doesn't ever place the tile buffer into PSRAM
and trash performance.
2025-01-16 16:32:34 +00:00
Phil Howard
234ea41f40
PicoVector: Runtime buffer allocation.
2025-01-16 16:32:34 +00:00
Phil Howard
0cd4669f7d
PicoVector: Prefix some pretty-poly variables.
2025-01-16 16:32:34 +00:00
Phil Howard
25f30fba00
PicoGraphics: Non-blocking Inky update for #936 .
2025-01-16 16:32:34 +00:00
Phil Howard
9985daf56b
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-01-16 16:32:34 +00:00
Phil Howard
b69ad9b1b3
PicoGraphics: Add Presto.
2025-01-16 16:32:34 +00:00
Phil Howard
e04e6efea6
PicoVector: Remove (ifdef guard) debug functions.
2025-01-16 16:32:34 +00:00
Phil Howard
230d9facab
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-01-16 16:32:34 +00:00
Phil Howard
97f00a05a3
PicoGraphics: RGB565 skip layers if not enabled.
2025-01-16 16:32:34 +00:00
Phil Howard
9989135926
PicoVector: Improve text rendering and control.
2025-01-16 16:32:34 +00:00
Phil Howard
23d166895f
PicoGraphics: Add layer support to PicoVector tile renderer.
2025-01-16 16:32:34 +00:00
Phil Howard
d4e0d660b9
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-01-16 16:32:34 +00:00
Phil Howard
3f46772e44
PicoVector: Update C++ examples.
2025-01-16 16:32:34 +00:00
Phil Howard
34cd133cd1
PicoVector: Rewrite around new linked-lists poly.
2025-01-16 16:32:34 +00:00
Phil Howard
5c03d8e30a
PicoVector: Use tile renderer for all pens.
2025-01-16 16:32:34 +00:00
Phil Howard
80c52183fc
PicoVector: Support float types in MicroPython bindings.
2025-01-16 16:32:34 +00:00
Phil Howard
8212fb715b
PicoVector: Remove malloc from MicroPython bindings.
2025-01-16 16:32:34 +00:00
Phil Howard
d6862fd49d
PicoGraphics: Add get_clip.
2025-01-16 16:32:34 +00:00