Wykres commitów

1143 Commity (360bf4310cf24b150bff46f868c0d22509335e44)

Autor SHA1 Wiadomość Data
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 48b9e5a96e PicoGraphics: README 2022-06-15 15:50:53 +01:00
Phil Howard 92c8c70aaa PicoGraphics: Start README. Spritesheet converter. 2022-06-14 15:51:39 +01:00
Phil Howard 31ade6af72 JPEGDEC: Open just before decode to avoid seek overrun. 2022-06-14 15:38:25 +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 b9ca8ec779 PicoGraphics: Add load_spritesheet. 2022-06-14 14:15:27 +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 6a3ba0d421 MicroPython: Shim MP_REGISTER_MODULE for >1.18 compat.
MicroPython has changed MP_REGISTER_MODULE to use only *two* args and now runs the preprocessing stage on files before running makemoduledefs.py.

This change avoids the build exploding, since the new regex matches the last two args as a single argument and generates a malformed module defs include.

The pattern here exploits the fact that 1.18 and below do not preprocess files, so *both* MP_REGISTER_MODULE lines are included in the source, but *only* the three arg version is matched by regex.

In >1.18 the files will be processed and the three arg version removed before makemoduledefs.py processes it.
2022-06-14 12:08:47 +01:00
Phil Howard e63a0e7da7 AS7262: Update MicroPython example. 2022-06-13 20:17:59 +01:00
Phil Howard 5d7113e8c9 PicoGraphics: Basic 128x128 RGB332 spritesheet support. 2022-06-13 20:12:03 +01:00
Phil Howard 24f4b6fc83 MicroPython: Drop crummy PicoSystem module.
Saves about 1.5k.
2022-06-13 20:12:03 +01:00
Phil Howard c66a590142 Tufty2040: Solarized example. 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 03dc1e9941 PicoGraphics: Support sensible default rotations.
Rotate Tufty to 180 degrees by default.
Rotate Pico Display to 270 degrees by default.
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 8917505175 JPEGDEC: Add open_file. 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 024518ed9a PicoGraphics: Don't require wordwrap. 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 bfea30b662 Pimoroni Bus: Allow SPIBus to take mosi arg, no backlight by default. 2022-06-13 20:12:03 +01:00
Phil Howard 4500497e3c PicoGraphics: Add get_buffer_size.
Take the guesswork out of correctly sizing a bytearray. Accepts a display and pen type.
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 3d489a9383 ST7789: 240x240 Handle unsupported rotations gracefully. 2022-06-13 20:12:03 +01:00
Phil Howard 8efe23fb5b Round LCD: Set to round in demo. 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 b13470b4fb PicoGraphics: Add set_palette and set_font. 2022-06-13 20:12:03 +01:00
Phil Howard 7cc0cd2930 Update tof display demo. 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 f5d7f34145 ulab: Fix broken submodule. 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 cf6b6e04f4 ST7789: Simplify MicroPython bindings.
Kwargs should not be used unless there are non-required arguments with default values.

Save ~290 bytes and a bunch of noisy lines of code.
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 dbed4a463f ST7789: Minor code tidyup. 2022-06-13 20:11:09 +01:00
Phil Howard 751916e7b9 Pico Explorer: Use Motor. 2022-06-13 20:11:09 +01:00
Phil Howard 7068217ccb Fix linting error. 2022-06-13 20:11:09 +01:00
Phil Howard b66da12c1b ST7789/PicoDisplay: Update C++ examples. Rename GenericST7789 -> PicoDisplayST7789. 2022-06-13 20:11:09 +01:00