Phil Howard
fc3060b640
PicoGraphics: Simplify RGB565 frame convert.
...
Rewrite RGB565 frame convert to iterate over pixels by index, and transfer the buffer when it fills.
Avoid using a bitmask so BUF_LEN can be arbitrary.
2022-09-21 11:32:19 +01:00
Phil Howard
bb9b5b69d3
PicoGraphics: Fix byte alignment bug in Pen P4.
...
Fix byte alignment to use the pixel index, rather than just the x-coordinate.
Prevent new rows from being erroneously byte-aligned in displays without an even width (eg: Pico Display portrait).
2022-09-21 11:26:58 +01:00
Mike Bell
7f330d1a04
Pico Graphics: Use fixed size buffer for frame conversion
2022-08-23 23:07:13 +01:00
Mike Bell
f341c15fa7
Pico Graphics: Double buffer scanline conversion
2022-08-23 21:48:26 +01:00
jon
4a4c723c89
Fixed set_pen()
2022-07-26 05:10:07 +01:00
jon
2f5e3235e6
Add missing pen type enumeration value
2022-07-26 05:08:12 +01:00
jon
364994fc64
Added missing entry to cmake file
2022-07-26 05:06:06 +01:00
jon
6ab9c8b1c7
Added RGB88 pen type
2022-07-26 04:55:32 +01:00
Philip Howard
33b2c3908d
Merge pull request #441 from pimoroni/patch-picographics-docs
...
PicoGraphics: Update C++ docs.
2022-07-15 13:40:23 +01:00
Phil Howard
f8e751ebff
PicoGraphics: Fix 3Bit mode dithering for Inky Frame.
2022-07-13 14:30:14 +01:00
Phil Howard
9dfc8a065c
PicoGraphics: Update C++ docs.
2022-07-11 15:56:15 +01:00
Pete Favelle
1b36899789
Missed one!
2022-07-09 16:57:35 +01:00
Pete Favelle
cba2543d82
Corrected some confusing typos
2022-07-09 16:51:49 +01:00
Phil Howard
f85343012a
PicoGraphics: Power off added for UC8151.
2022-07-06 14:25:42 +01:00
Phil Howard
6c1556a429
PicoGraphics: 1bit/1bitY dither all drawing operations.
...
Note: Pen now ranges from 0 (black) to 15 (white). Values between will be dithered ala Badger 2040.
2022-07-06 11:32:56 +01:00
Phil Howard
12866a0b7b
PicoGraphics/JPEGDEC: Use PicoGraphics dither.
2022-07-06 10:56:56 +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
Phil Howard
16aae0b1f2
PicoGraphics: Partial update/speed support. Tidyup.
2022-06-27 17:32:30 +01:00
Phil Howard
3007ee8039
PicoGraphics: Only consider used palette entries for dither.
2022-06-24 11:03:29 +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
jon
b0a386f240
PicoGraphics: RGB332 use 332->565 flash LUT.
2022-06-17 11:04:09 +01:00
jon
077159adeb
PicoGraphics: Add set_pixel_span and call where appropriate.
2022-06-17 11:04:02 +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
457589aaa9
PicoGraphics: Mark dither cache stale on pen update.
2022-06-14 15:25:50 +01:00
Phil Howard
27d571b473
PicoGraphics: Tidy up dithering.
2022-06-14 15:06:44 +01:00
Phil Howard
eb303ae811
PicoGraphics: Integer sprite scaling.
2022-06-14 13:28:27 +01:00
Phil Howard
f3d3dde04f
PicoGraphics: Fix PEN_P8 scanline callback.
2022-06-14 12:33:37 +01:00
Phil Howard
5d7113e8c9
PicoGraphics: Basic 128x128 RGB332 spritesheet support.
2022-06-13 20:12:03 +01:00
Phil Howard
ce9aa019ec
PicoGraphics: Fix P8 buffer size.
2022-06-13 20:12:03 +01:00
Phil Howard
582c67570a
PicoGraphics: Refactor pen types into their own cpp files.
2022-06-13 20:12:03 +01:00
Phil Howard
2419f0ef45
PicoGraphics/JPEGDEC: RGB332 per channel fast dither.
2022-06-13 20:12:03 +01:00
Phil Howard
602d1b41dd
PicoGraphics: Attempt at dither and scanline interrupts.
...
Currently both unused and both very slow.
Dither may only be feasible for <=8 colour displays.
JPEGDEC will dither to 4-bit greyscale quite happily.
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
1a9ebb7b6e
PicoGraphics: More pen conversion, better names.
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
49b62515c2
PicoGraphicS: Hershey support, bugfixes, tidyup.
2022-06-13 20:12:03 +01:00
Phil Howard
fc1561e54b
PicoGraphics: Fix set_framebuffer.
2022-06-13 20:12:03 +01:00
Phil Howard
b13470b4fb
PicoGraphics: Add set_palette and set_font.
2022-06-13 20:12:03 +01:00
Phil Howard
d1b7639e8a
PicoGraphics: Update README.
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
65788ae6bf
ST7789/PicoGraphics: Faster RGB332 mode lookups.
...
Replace palette search in RGB332 mode with a simple return of the RGB565 colour packed to RGB332,
since this is identical to its index in the palette.
2022-06-13 20:11:09 +01:00
Phil Howard
9b8d215cd3
ST7789/PicoGraphics: Update C++ libs and examples.
2022-06-13 20:11:09 +01:00
Phil Howard
c13f53092d
ST7789/PicoGraphics: Fix palette bugs, add reserve.
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
73f73a0ac5
Make colour truncation from 565 to 332 optional
2022-06-13 20:11:09 +01:00