Commit Graph

242 Commits

Author SHA1 Message Date
Philip Howard 33b2c3908d
Merge pull request #441 from pimoroni/patch-picographics-docs
PicoGraphics: Update C++ docs.
2022-07-15 13:40:23 +01:00
Philip Howard 3ec9f09174
Merge pull request #426 from pimoroni/library/inky_frame
Inky Frame: Library + C++ Examples.
2022-07-15 13:39:57 +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 ac2fa97e96 Inky Frame: Library + C++ Examples. 2022-07-05 09:34:23 +01:00
Philip Howard 9c079bb1e5
Merge pull request #419 from pimoroni/patch-uc8159-3bpp
PicoGraphics/UC8159: 3bit bitplane pen mode.
2022-07-04 11:36:20 +01:00
ZodiusInfuser d9d8f4417a
Libraries and examples for Automation 2040 W (#418)
* Libraries and examples for Automation 2040 W

* Fix for initialisation error
2022-07-01 07:05:37 +01:00
ZodiusInfuser 6f8152df0f Libraries and examples for Inventor 2040 W 2022-06-30 21:30:43 +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 eee28a6f94 Bitmap Fonts: Break to newline on \n. 2022-06-29 07:50:18 +01:00
Phil Howard 16aae0b1f2 PicoGraphics: Partial update/speed support. Tidyup. 2022-06-27 17:32:30 +01:00
Phil Howard bb2db8423e JPEGDEC: Add CMake files. 2022-06-24 11:15:44 +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
Phil Howard 646bd1a9b0 UC8151: Refactor to uc8151_legacy. 2022-06-23 13:57:25 +01:00
Pete Favelle 80012790ce read_nh3 and read_oxidising now call the correct get_raw_* functions 2022-06-21 15:34:52 +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 e480620e9f Tufty2040: Drop rogue pin. 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 1b68e498d4 ST7789/PicoGraphics: Update docs. 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 656d69399a JPEGDEC: Fix dither buffer size 2022-06-13 20:12:03 +01:00
Phil Howard d2b065d2da JPEGDEC: Use 4-bit dither. 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 7f0fe44881 JPEGDEC: Move to libraries, use C++, draw into PicoGraphics. 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