Hel Gibbons
5f68f6be6f
fix typo (taupo?)
2022-07-25 14:34:28 +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
helgibbons
a38a4a40a9
update Pico Explorer function reference
2022-07-19 18:34:56 +01:00
helgibbons
1fedc038f5
Update Pico Explorer function reference
2022-07-19 14:08:13 +01:00
Phil Howard
9e81e321e8
PicoGraphics: Update MicroPython Docs.
2022-07-13 12:04:08 +01:00
Richard Hartmann
38be814757
README.md: Fix typo
2022-07-07 16:41:16 +02: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
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
Phil Howard
feac1fed75
CI: Add Automation + Inventor to picow build.
2022-07-01 07:34:21 +01:00
Phil Howard
74083d083c
CI: Add PicoW MicroPython build.
...
Wireless raises memory usage significantly requiring Pico Unicorn and Pico Scroll (which both need slight refactoring) to be excluded from the build.
The Flash/Filesystem split has changed from a regular Pico build and may change again. Flashing this to a regular Pico *WILL TRASH YOUR FILESYSTEM*.
2022-07-01 07:08:12 +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
2d8080eada
UC8159: Timeout-based busy wait.
2022-06-29 10:32:11 +01:00
Phil Howard
16aae0b1f2
PicoGraphics: Partial update/speed support. Tidyup.
2022-06-27 17:32:30 +01:00
ZodiusInfuser
1cf7e29d09
MP for new function
2022-06-27 17:23:07 +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
Philip Howard
2721ad682f
Merge pull request #381 from pimoroni/patch-optimise-breakout-rtc-args
...
Breakout RTC: Optimise required kwarg functions to positional.
2022-06-27 10:02:45 +01:00
Phil Howard
7dbec2add6
JPEGDEC: Stream from filesystem.
...
Avoid loading jpeg files into RAM and stream from the filesystem to handle larger files gracefully.
2022-06-24 11:03:29 +01:00
Phil Howard
b497b87c95
UC8159: Port to PicoGraphics/DisplayDriver.
2022-06-24 11:03:29 +01:00
Phil Howard
0e72369c7b
UC8151: Rotation support.
2022-06-23 16:30:42 +01:00
Phil Howard
e3f98d56cf
PicoGraphics: UC8151 Support for Inky Pack.
2022-06-23 15:48:45 +01:00
Phil Howard
646bd1a9b0
UC8151: Refactor to uc8151_legacy.
2022-06-23 13:57:25 +01:00
Kevin McAleer
952cb4e825
updated PicoGraphics README and .gitignore
2022-06-20 21:11:19 +01:00
ZodiusInfuser
0258247b4b
PCF85063A: Change location of some constants.
2022-06-17 12:41:31 +01:00
Phil Howard
122e57aa9a
CI: Build Tufty 2040 + Board fixups.
...
Add board fixups including Pico SDK board .h and MicroPython board dir since these are not yet upstream.
2022-06-17 11:38:19 +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
Phil Howard
5d968a5463
ulab: Support for MicroPython v1.19
2022-06-16 14:48:23 +01:00
Phil Howard
9239769368
QRCode: Support for MicroPython v1.19.
2022-06-16 10:56:17 +01:00
Phil Howard
1657a970bd
PicoGraphics: Add SH1107 support to MMicroPython.
2022-06-16 09:23:29 +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
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
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
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
5d7113e8c9
PicoGraphics: Basic 128x128 RGB332 spritesheet support.
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
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
b13470b4fb
PicoGraphics: Add set_palette and set_font.
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
b66da12c1b
ST7789/PicoDisplay: Update C++ examples. Rename GenericST7789 -> PicoDisplayST7789.
2022-06-13 20:11:09 +01:00
Phil Howard
ae22838151
Pimoroni Bus: Tidy up. Print pins.
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
cf842d559e
Badger2040: Remove deprecated modules.
2022-06-13 20:11:09 +01:00
Phil Howard
6ace09dbc3
Re-renable Pico Explorer and enable Pimoroni Bus
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
1cd58ed298
Remove debug print
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
Phil Howard
3f9f28c60b
Add measure_text, fixed default palette init
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
Phil Howard
446db105f9
Tufty2040: JPEG Decode
2022-06-13 20:11:09 +01:00
Phil Howard
b42425b000
Tufty2040: MicroPython bindings for ST7789Parallel.
2022-06-13 20:11:09 +01:00
Phil Howard
a9eb58a3ce
MicroPython: Fix Class name QSTRs.
2022-06-13 20:06:39 +01:00
Phil Howard
ff5d175eb2
AS7262: Optimize function types. Saves 600 bytes.
2022-06-13 19:21:21 +01:00
Phil Howard
8d638e2744
MicroPython: Drop redundant Print. Saves 4K.
2022-06-13 18:59:51 +01:00
Phil Howard
8cb15d5b5c
PCF85063a: Optimise functions, drop print.
2022-06-13 18:36:49 +01:00
ZodiusInfuser
df63655c76
Added MP support for rtc
2022-05-30 15:33:10 +01:00
Phil Howard
28d555fa4e
Breakout RTC: Optimise required kwarg functions to positional.
2022-05-30 15:16:43 +01:00
Philip Howard
7db6d62515
Merge pull request #375 from pimoroni/experimental/build-tweaks
...
Customise MicroPython C++ modules per board to avoid blowing 640K binary limit on 2MB Pico boards
2022-05-27 11:56:57 +01:00
Phil Howard
a860b0fba8
ulab: bump to 4.0.0
2022-05-27 11:32:55 +01:00
Phil Howard
9a494828bc
CI: Customised MPY modules per-board
2022-05-27 11:32:52 +01:00
Phil Howard
5c92ac3762
ADCFFT: Use util.hpp
2022-05-27 11:04:13 +01:00
Phil Howard
f7c42e90a8
ADC FFT library & MicroPython Bindings
2022-05-23 16:12:22 +01:00
Phil Howard
bc0390b86c
MicroPython: Use placement new to alloc classes on GC_HEAP
2022-05-23 15:34:49 +01:00
Phil Howard
0b73535ac1
ST7789: Add fixes from #344
...
Fix line and triangle primitives.
Rename any "x1, y1" kwargs to just "x, y" if no subsequent coordinates accepted.
2022-05-23 13:54:44 +01:00
Philip Howard
db60553322
Merge pull request #327 from pimoroni/feature/merged-st7789
...
ST7789: Create generic display driver
2022-05-18 13:37:56 +01:00
Phil Howard
1feefde00c
MicroPython: Promote machine.I2C() to PimoroniI2C.
...
Create a new PimoroniI2C object internally if a "machine.I2C()" object is supplied in constructors.
2022-05-18 13:20:33 +01:00
Phil Howard
7d3b48c509
MicroPython: Make Pimoroni I2C compatible with machine.I2C
2022-05-18 13:15:12 +01:00
Phil Howard
c2256c481b
VL53L5CX: Autoload firmware in MicroPython bindings.
2022-05-17 14:05:32 +01:00
Phil Howard
aeceefea59
VL53L5CX: Sideload firmware from user-supplied .bin
2022-05-17 12:33:07 +01:00
ZodiusInfuser
717ad908cb
Optimized some encoder functions
2022-05-12 23:57:22 +01:00
ZodiusInfuser
51d08bebd9
Optimized most motor functions
2022-05-12 23:49:31 +01:00
Phil Howard
8e1e9df002
ST7789: Refactor and Bugfixes
...
* Make ST7789 accept only full config with SPI pins
* Make Generic ST7789 wrapper library handle "slot"
* Update Round LCD and 240x240 Square LCD
* Remove Python Round LCD and 240x240 LCD modules (we need the space!)
* Remove C++ Round LCD and 240x240 LCD libraries (they're a little redundant!)
* Fix garbage collected framebuffer bug in Python ST7789
* Deprecate "flip" in favour of "configure_display"
* Tidy up ST7789, remove dead/unused/commented code
2022-05-12 18:58:33 +01:00
ZodiusInfuser
305462d33c
Merge branch 'main' into motor-and-encoder
2022-05-12 17:02:50 +01:00
Phil Howard
8db8ad3140
MicroPython: Drop PicoDisplay/PicoDisplay2 modules.
...
Drop the deprecated PicoDisplay and PicoDisplay2 modules in favour of ST7789.
Saves ~5k.
2022-05-12 12:49:33 +01:00