Wykres commitów

1538 Commity (feature/ssf)

Autor SHA1 Wiadomość Data
Phil Howard d9420d26c3 PicoGraphics: Make blocking updates interruptable. 2025-05-09 21:33:11 +01:00
Phil Howard 7ad0169528 PicoGraphics: Make Inky block by default as intended. 2025-05-09 13:25:27 +01:00
Phil Howard e3a5365a39 PicoVector: Add tracked memory alloc, track the node buffer.
With a low GC threshold the node buffer was being collected (despite guards against this)
and causing further drawing operations to be corrupted.

Add a new tracked malloc method and use it for node buffers and font data.

Tweak pp_poly_add_path to accept a point count, avoiding many successive rellocs when
dealing with a known quantity of points (copying from an af_glyph_t.)
2025-05-08 16:28:11 +01:00
Phil Howard 232753a8c9 Inky73: Allow non-hacky pen types. 2025-04-25 15:36:12 +01:00
Phil Howard 9ac0ce1433 Pint: recvfrom: return IP address and port. 2025-04-25 15:36:12 +01:00
Phil Howard 89a2db24a1 Pint: Send socket config to binding.
Forward domain, type and proto to the socket binding.
2025-04-25 15:36:12 +01:00
Phil Howard b8e0e6282f Pint: Reduce user filesystem to fit firmware. 2025-04-25 15:36:12 +01:00
Phil Howard dfdad0dc68 Pint: Update to m_malloc_with_finaliser. 2025-04-25 15:36:12 +01:00
Phil Howard d142db71d1 Pint: Trim some cruft from the build so it doesn't esplode. 2025-04-25 15:36:12 +01:00
Phil Howard c285410466 Experimental: PINT module bindings.
P.I.N.T

Python Implementation of Network Transports.
2025-04-25 15:36:12 +01:00
Phil Howard 68e330285f PimoroniBus: SPIBus fix unused pin arguments.
Fixes #1074.
2025-04-25 15:36:10 +01:00
Phil Howard a42a122144 PimoroniBus: SPIBus fix unused pin arguments.
Fixes #1074.
2025-04-25 15:35:11 +01:00
Phil Howard 6358bac11e BME690: Add MP_ERROR_TEXT() around errors. 2025-04-24 08:53:56 +01:00
Phil Howard 499c38eec4 MicroPython: Replace MICROPY_HW_PIN_RESERVED with hal function. 2025-04-14 16:30:27 +01:00
Phil Howard 4ddd849bd3 BME69X: Add C driver and MicroPython bindings.
This is just a straight copy and paste of BME68X, dropping in the BME69X
Sensor API and wishing upon a star that it works.
2025-04-14 13:44:31 +01:00
Mike Bell dbd7ae94ec PicoVector: Set optimization flags. 2025-03-28 10:31:01 +00:00
Phil Howard 15c3e66456 Plasma: Make PIO and pin args optional. 2025-03-28 10:31:01 +00:00
Phil Howard 422969a1e0 Plasma: Add is_busy method. 2025-03-28 10:31:01 +00:00
Phil Howard 4f4aef8602 Plasma: Expose non-blocking update to MicroPython. 2025-03-28 10:31:01 +00:00
Phil Howard ba0bf0230d PimoroniBus: Support machine.Pin. 2025-03-28 10:31:01 +00:00
Phil Howard f7992d614d PimoroniBus: Switch to mp_obj_malloc. 2025-03-28 10:31:01 +00:00
Phil Howard 37e6d7a3b7 PimoroniBus: Clean up print function.
Use mp_printf to avoid fragmented output and converion into mp types.
2025-03-28 10:31:01 +00:00
Phil Howard abc4ad56a4 MicroPython: Switch everything else to mp_obj_malloc. 2025-03-28 10:31:01 +00:00
Phil Howard 731efa974e plasma: Support pins given as machine.Pin obj. 2025-03-28 10:31:01 +00:00
Phil Howard cee36e1bac plasma: Drop pin definitions from C module.
Remove pin definitions in anticipation of them moving to pins.csv.

Eg:

from plasma2040 import BUTTON_A
machine.Pin(BUTTON_A)

Should become:

machine.Pin("BUTTON_A")
2025-03-28 10:31:01 +00:00
Phil Howard 0703262b94 Pimoroni I2C: Switch to mp_obj_malloc. 2025-03-28 10:31:01 +00:00
Phil Howard 669a771c9b Pimoroni I2C: Support machine.Pin args. 2025-03-28 10:31:01 +00:00
Phil Howard e70929bfb8 ulab: Bump from 6.5.2 to 6.7.3. 2025-03-28 10:31:01 +00:00
Phil Howard 13a2263aed MicroPython: Add MP_ERROR_TEXT() for mp_raise_msg() calls. 2025-03-28 10:31:01 +00:00
Phil Howard 973fade9fd MicroPython: Fix errors reporting an errno. 2025-03-28 10:31:01 +00:00
Phil Howard 3d68cf0010 MicroPython: Add MP_ERROR_TEXT() around errors.
This is required for MicroPython error text compression which is
going to be enabled by default for RP2 builds.

We have a lot of error messages, so the potential flash gain here
is worth the effort of making this work.
2025-03-28 10:31:01 +00:00
Phil Howard d307e4f759 CI: Remove Unicorn boards.
These have moved to: https://github.com/pimoroni/unicorn
2025-03-28 10:31:01 +00:00
Phil Howard 1532b2ca7c PicoVector: Basic documentation. 2025-03-28 10:31:01 +00:00
Phil Howard 2a1c0402ce PicoVector: Make Polygon().path chainable. 2025-03-28 10:31:01 +00:00
Phil Howard 01faf376b7 Hershey Fonts: Fix default value setting for HERSHEY_FONTS. 2025-03-28 10:31:01 +00:00
Phil Howard fdfb28ebb8 Unicorns: Disable Hershey fonts to reclaim some bytes. 2025-03-28 10:31:01 +00:00
Phil Howard a25b27aca8 PicoVector: Improve transform handling.
* Store a reference to transform, so `set_transform(Transform())` is not GC'd until it is replaced
* Transformations return the transform, allowing chaining: `transform.rotate().scale().translate()`
* A new `get_transform` method for getting the currently set transform.
2025-03-28 10:31:01 +00:00
Phil Howard b9a14a275d PicoVector: Don't force iterated points to int(). 2025-03-28 10:31:01 +00:00
Phil Howard b3d7bd497d Hershey Fonts: ifdef guard hershey features for eventual deprecation.
Hershey fonts have all but been replaced by PicoVector's "Alright Fonts"
implementation and in many case we need this flash back!
2025-03-28 10:31:01 +00:00
Phil Howard 7fee95d668 PNG/JPEGDEC: Remove finalizer.
Remove the finalizer from PNGDEC and JPEGDEC, since it was both redundant
and actively harmful.

The finalizer was just calling "close" which is unecessary since the file
is closed automatically after opening/rendering and not left open.

If a file did not exist and "open_file" bailed with ENOENT then it would
be left in an unknown state, and the finalizer calling "close" would
cause a hardlock.
2025-03-28 10:31:01 +00:00
Phil Howard 25627588c3 PNG/JPEGDEC: Use MP_ROM_QSTR. 2025-03-28 10:31:01 +00:00
Phil Howard cfe031db33 Tufty 2040: Update spectrometer vector example. 2025-03-28 10:31:01 +00:00
Phil Howard 79844c6eaa 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-03-28 10:31:01 +00:00
Phil Howard 10acd5d3de Tufty 2040: Update polygons example. 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 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 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 405cd490ea PicoGraphics/Hub75: Add support for 128x128. 2025-03-28 10:31:01 +00:00