Commit Graph

298 Commits

Author SHA1 Message Date
Phil Howard 6aa1bbd271 UC8159: 0/180 degree rotation support. 2022-09-30 21:04:22 +01:00
Phil Howard 7f02501fa6 UC8159: Alternate resolution support. 2022-09-30 15:18:01 +01:00
Mike Bell 799ed0786d Use DMA for SPI frame buffer too 2022-09-17 20:16:57 +01:00
Mike Bell 7f330d1a04 Pico Graphics: Use fixed size buffer for frame conversion 2022-08-23 23:07:13 +01:00
Philip Howard b8100d22e8
Merge pull request #487 from MichaelBell/tufty-overclock
ST7789 Parallel: Work with SYS clock faster than default
2022-08-11 13:07:51 +01:00
Phil Howard 9ec77c2f10 LTR559: Lux as float.
Avoid truncating Lux to uint16_t.
2022-08-08 12:05:18 +01:00
Mike Bell b8ba66f593 ST7789 Parallel: Work with SYS clock faster than 125MHz 2022-08-04 20:44:17 +01:00
jon e9c18b109d whoops. 2022-07-29 10:59:24 +01:00
Philip Howard c5d4865609
Merge pull request #413 from pimoroni/patch-pms3005-i2c
PMS5003: Support for i2c version.
2022-07-22 15:56:36 +01:00
Phil Howard de3ceac4a5 Pico Scroll/Unicorn: Fix static memory alloc for Pico W.
Pico Scroll and Pico Unicorn were allocating static buffers for gamma and font data respectively.

Make Pico Scroll's `__bitmap` static.

Move Pico Unicorn's three GAMMA tables to one 14-bit table in "pimoroni_common.hpp". Rename "GAMMA" to "GAMMA_8BIT".
2022-07-22 14:15:53 +01:00
Phil Howard e7a4ee0282 VL53L5CX: Alloc results data & config in MPY gc_heap.
RAM constraints on Pico W were causing a hardlock. This change allocates the results struct, config and motion config on gc_heap to relieve system RAM pressure.

Fixes #448
2022-07-22 10:01:34 +01:00
Phil Howard d81151a1c6 Inky Frame: Sensible limit on SDCard speed.
Going any faster will result in corruption- this showed up as visible lines of distortion down decoded JPEG files.
2022-07-18 15:32:58 +01:00
Phil Howard f85343012a PicoGraphics: Power off added for UC8151. 2022-07-06 14:25:42 +01:00
Phil Howard 103fe19049 PMS5003: Support for PMSA003I i2c module. 2022-07-05 16:05:24 +01:00
Phil Howard cb5f8308a0 PicoGraphics/UC8159: 3bit bitplane pen mode.
Add a 3bit pen mode to save 1/4th the RAM needed for the 600x448 Inky Frame.
2022-06-30 15:25:02 +01:00
Philip Howard c74210286f
Merge pull request #415 from pimoroni/patch-inky-frame-wait
UC8159: Timeout compiler error fix.
2022-06-29 15:29:21 +01:00
Phil Howard 589a9e1b23 UC8159: Timeout compiler error fix. 2022-06-29 11:14:11 +01:00
Philip Howard 1ec0908f2f
Merge pull request #414 from pimoroni/patch-inky-frame-wait
UC8159: Timeout-based busy wait.
2022-06-29 10:40:50 +01:00
Phil Howard 2d8080eada UC8159: Timeout-based busy wait. 2022-06-29 10:32:11 +01:00
Philip Howard 24635046ef
Merge pull request #410 from pimoroni/patch-inky-pack-update-speed
PicoGraphics: Partial update/speed support. Tidyup.
2022-06-28 10:11:47 +01:00
Phil Howard 16aae0b1f2 PicoGraphics: Partial update/speed support. Tidyup. 2022-06-27 17:32:30 +01:00
jon 0aa7eb1141 added ability to set/get the free ram byte on pcf85063a 2022-06-27 16:49:10 +01:00
Phil Howard b0cfb12b20 SH1107: Support for alternate i2c address.
Add `i2c_address` option to MicroPython PicoGraphics.
2022-06-27 14:18:24 +01:00
Phil Howard de967fd528 fatfs: Enable FF_USE_STRFUNC for f_gets. 2022-06-24 12:41:29 +01:00
Phil Howard b497b87c95 UC8159: Port to PicoGraphics/DisplayDriver. 2022-06-24 11:03:29 +01:00
Phil Howard f1f3d55a8c UC8159: Fix nibble order properly this time. 2022-06-23 16:35:33 +01:00
Phil Howard c428329a19 UC8159: Swap nibbles. Add colours enum. 2022-06-23 16:35:33 +01:00
Phil Howard c6074963fa UC8159: Basic driver 2022-06-23 16:35:32 +01:00
Phil Howard 0e72369c7b UC8151: Rotation support. 2022-06-23 16:30:42 +01:00
Phil Howard 6b232ddb30 UC8151: Invert by default.. 2022-06-23 16:12:58 +01:00
Phil Howard 04d8d66390 UC8151: New DisplayDriver based UC8151 driver.
HACK: Adds PicoGraphics_Pen1BitY to work around the UC8151 weird addressing.

TODO: Replace hack with an in-place transform to UC8151 pixel order from Pen1Bit.
2022-06-23 14:30:36 +01:00
Phil Howard 646bd1a9b0 UC8151: Refactor to uc8151_legacy. 2022-06-23 13:57:25 +01:00
Phil Howard 76715e45f8 ST7789: Convert Parallel IO to PIO + DMA.
Make display updates around 4x faster. Requires a PIO + SM to run Tufty 2040.
2022-06-17 11:03:55 +01:00
jon 360bf4310c SH1107: Add driver and example.
Add 1bit pen mode to PicoGraphics.

TODO:

* Rotation support
* Sizes other than 128x128 support
2022-06-15 16:57:40 +01:00
Phil Howard 1b68e498d4 ST7789/PicoGraphics: Update docs. 2022-06-13 20:12:03 +01:00
Phil Howard 62818a5f49 PicoGraphics: Palettes as RGB, Scanline convert with callback. 2022-06-13 20:12:03 +01:00
Phil Howard a558d35cab PicoGraphics: Remove last vestiges of template approach. 2022-06-13 20:12:03 +01:00
Phil Howard 1d32b967c2 ST7789: Separate code paths for future DMA/PIO support. 2022-06-13 20:12:03 +01:00
Phil Howard 3d489a9383 ST7789: 240x240 Handle unsupported rotations gracefully. 2022-06-13 20:12:03 +01:00
Phil Howard 4585e5ec0f ST7789: Fix 240x240 display rotations. 2022-06-13 20:12:03 +01:00
Phil Howard 4848e7ba59 PicoGraphics/ST7789/ST3375: Fixup C++ examples and libraries. 2022-06-13 20:12:03 +01:00
Phil Howard 67f1331b23 ST7789 -> PicoGraphics
* Absorb ST7735 support into the generic ST7789 driver and rename to PicoGraphics
* Delete obsolete MicroPython modules
* Refactor PicoGraphics to inherited class for each pen type
* Refactor ST7789 and ST7735 to derive from DisplayDriver
* Allow user to set pen_type in MicroPython constructor for RGB565, RGB332, P8 and P4 modes
2022-06-13 20:11:49 +01:00
Phil Howard 1a251822f5 ST7735: Update 160x80 LCD to new PicoGraphics<PenRGB565> 2022-06-13 20:11:09 +01:00
Phil Howard 7e4725d1cd ST7789/PicoGraphics: Templated framebuffer formats. 2022-06-13 20:11:09 +01:00
Phil Howard 13f0813d8a ST7789/PicoDisplay: Collapse make_new into one using pimoroni_bus. 2022-06-13 20:11:09 +01:00
Phil Howard a483b2aad4 ST7789/PicoGraphics: Refactor for init & rotation. 2022-06-13 20:11:09 +01:00
Phil Howard ef6179e77d ST7789/PicoGraphics: Refactor & make modes more explicit. 2022-06-13 20:11:09 +01:00
Phil Howard 51ad7edb09 Prefer RGB332, add palette management functions 2022-06-13 20:11:09 +01:00
Phil Howard 7abe4aae7f ST7789: Experimental 8bit framebuffer. 2022-06-13 20:11:09 +01:00
Jonathan Williamson 7f5546f29a Tufty2040: Initial screen bringup. 2022-06-13 20:11:09 +01:00