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
Phil Howard
b66da12c1b
ST7789/PicoDisplay: Update C++ examples. Rename GenericST7789 -> PicoDisplayST7789.
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
13f0813d8a
ST7789/PicoDisplay: Collapse make_new into one using pimoroni_bus.
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
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
Jonathan Williamson
7f5546f29a
Tufty2040: Initial screen bringup.
2022-06-13 20:11:09 +01:00
Phil Howard
83b6331094
Drop obsolete MicroPython binding compat constructors.
2022-05-30 11:52:37 +01:00
Phil Howard
f7c42e90a8
ADC FFT library & MicroPython Bindings
2022-05-23 16:12:22 +01:00
Charlie Birks
8be98da0e5
Use float pow for pico unicorn gamma
...
Looks like that was intended based on the float cast and all the f suffixes...
2022-05-23 14:09:50 +01:00
Charlie Birks
a4f91a93ee
Replace int pow(2, x) in pico unicorn
...
Using double pow here seems a bit inefficient (even if it's init code)
2022-05-23 14:07:31 +01:00
Charlie Birks
b9a8c0a536
Make global variables static in pico unicorn
2022-05-23 14:04:00 +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
8a68015eac
ST7789: Update README.md
2022-05-18 11:55:02 +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
65fb478b6e
ST7789: Port C++ examples to generic driver.
2022-05-12 16:02:56 +01:00
Phil Howard
1315af4e41
PicoDisplay: Use pins for buttons.
...
Swap the button constants to use pins, just in case someone tries to use these with Button() or PicoZero.
2022-05-12 12:44:00 +01:00
Phil Howard
813b7a401a
ST7789: Support rotation for PD and PD2.
2022-05-12 12:04:55 +01:00
ZodiusInfuser
15e5eaa890
Finished C++ examples and tweaked MP examples
2022-04-28 21:23:18 +01:00
ZodiusInfuser
415a1e559a
Setup and partial implementations of C++ examples
2022-04-26 23:15:13 +01:00
ZodiusInfuser
652612fc31
Removed old C++ motor implementation
2022-04-22 13:59:40 +01:00
ZodiusInfuser
8ef0d33f0c
Finalised more examples
2022-04-20 18:55:39 +01:00
ZodiusInfuser
180df9e085
Merge branch 'motor-pio' into motor-and-encoder
2022-04-19 16:28:12 +01:00
Luyáš Říha
746b47a601
fix micropython breakout_roundlcd rendering of graphics primitives
2022-04-18 20:40:05 +02:00
ZodiusInfuser
c113f30da6
Changed the motor implementation on PicoExplorer to used breaking mode
2022-04-13 10:47:42 +01:00
ZodiusInfuser
96070f61af
Started on motor readme, and updated API elements accordingly
2022-04-12 17:00:39 +01:00
ZodiusInfuser
ac3edafbf4
Contined motor dev
2022-04-05 16:53:36 +01:00
ZodiusInfuser
9a9c3832a2
Various motor work
2022-04-04 20:00:03 +01:00
Philip Howard
dbb9a3d181
Merge pull request #332 from pimoroni/feature/unicode-ish
...
Fonts: Ungracefully handle accented characters.
2022-04-01 16:26:31 +01:00
Phil Howard
3b8740fab6
Bitmap Fonts: Add letter spacing.
2022-04-01 15:38:48 +01:00
Phil Howard
0d43973326
Bitmap Fonts: Refactor and support for pound/degrees.
2022-04-01 15:38:42 +01:00
Phil Howard
b2ff46b516
Bitmap Fonts: Simplify and add support for 16bit fonts.
2022-04-01 15:38:34 +01:00
Phil Howard
e4bde0985a
Bitmap Fonts: Add final five chars.
2022-04-01 15:38:29 +01:00
Phil Howard
6a9bc8688f
Bitmap Fonts: Add accent rendering.
...
Render accents above and below the 64 characters > 127.
Different offsets for upper/lower case characters.
2022-04-01 15:38:20 +01:00
Phil Howard
ef940cc5ea
Fonts: Ungracefully handle accented characters.
...
Introduce a lookup table for the 64 accented characters > 127.
Remaps these characters back to a printable, non-accented version.
2022-03-31 16:13:30 +01:00
Mike Bell
a4acf4b94e
Fix buffer overrun on out of bounds rectangle height/width
2022-03-30 22:23:09 +01:00
ZodiusInfuser
e59bdc34c4
Added initial structure of new motor classes
2022-03-30 15:50:12 +01:00
ZodiusInfuser
8a36102c53
Merged in old motor implementation
2022-03-30 15:50:12 +01:00
Phil Howard
348b90225f
Badger 2040: Avoid sub 1 scale vanishing pixel font text.
2022-03-30 15:10:52 +01:00
Phil Howard
40d3c9e0be
Badger2040: Use bitmap measure functions.
2022-03-30 15:10:52 +01:00
Phil Howard
90ea262496
Bitmap Fonts: Add measure functions.
2022-03-30 15:10:52 +01:00
Phil Howard
3b8dcecd8e
Pico Graphics: Move bitmap fonts into generic library.
...
* Add bitmap font support into Badger 2040
2022-03-30 15:10:52 +01:00
Phil Howard
24819734b7
Separate Hershey Fonts into their own library.
2022-03-30 15:10:52 +01:00
ZodiusInfuser
41d55b1115
Ported the majority of Servo2040 MP examples to C++
2022-03-30 14:29:02 +01:00
ZodiusInfuser
f46deb1c5b
Ported the majority of Servo2040 MP examples to C++
2022-03-30 14:29:02 +01:00
ZodiusInfuser
e4bb26b081
Renamed LED_DAT to LED_DATA
2022-03-30 14:29:02 +01:00
ZodiusInfuser
aeb9705d15
Moved common PWM and MultiPWM out of servo driver, and renamed to cluster
2022-03-30 14:29:02 +01:00
ZodiusInfuser
f5836e56df
Raised servo functions to a base class, and added ServoCluster which uses the PIO PWM.
2022-03-30 14:28:17 +01:00
ZodiusInfuser
2e58841b5e
Started a hardware PWM servo class, with calibration support
2022-03-30 14:28:17 +01:00
ZodiusInfuser
aca98ca747
current WIP code for PIO based PWM
2022-03-30 14:28:17 +01:00
Mike Bell
5b6c220e2a
Actually use full screen image process, and fix it
2022-03-29 23:16:18 +01:00
Mike Bell
b1dddff291
Badger2040: Fix rectangle handling for thickness, use fast draw for dithered rectangle
2022-03-29 23:16:18 +01:00
Mike Bell
d96a584ddd
Badger2040: Improve performance of some large frame buffer writes
2022-03-29 23:15:43 +01:00
Philip Howard
66254ab743
Merge pull request #312 from deodre/patch-wireless-include-drivers
...
Updated path to esp32 drivers in /libraries/pico_wireless/pico_wireless.cmake
2022-03-29 14:12:21 +01:00
Phil Howard
b1fd8936cf
Badger2040: Enforce minimum update blocking time.
2022-03-25 10:57:30 +00:00
Mike Bell
fe943a05f7
Include USER button in button state
2022-03-24 23:24:10 +00:00
Teodor Cervinski
58ae6edb24
Updated path to esp32 drivers in /libraries/pico_wireless/pico_wireless.cmake
2022-03-23 11:34:52 +02:00
Phil Howard
249f54fae4
ST7789: Create generic display driver for #299
2022-03-21 17:02:46 +00:00
Phil Howard
39e9728b0e
Badger2040: Fix text rotation aliasing for #290
...
Fix text rendering at 90, 180 and 270 degree rotations by avoiding float -> int truncation.
2022-03-11 13:48:41 +00:00
Mike Bell
6975610fdc
Don't use wait_for_press because that waits for the button to be released
2022-03-09 23:53:56 +00:00
Mike Bell
fefa6f8880
Change internal state of Badger2040 to protected
2022-03-09 23:47:12 +00:00
Mike Bell
bbb995a062
Reboot on button press when halted but still have power
2022-03-09 23:32:52 +00:00
Mike Bell
d26bb1701c
Minor fixes to Badger2040 library
2022-03-02 21:08:17 +00:00
Phil Howard
f90559ed41
Badger2040: Add support for colour inverted mode
2022-02-25 14:49:28 +00:00
Phil Howard
2c27296cc4
Badger2040: Add image & icon support
2022-02-25 11:08:32 +00:00
Jonathan Williamson
e69115ea2e
added new meaasure_text() and measure_glyph() methods
2022-02-25 11:08:32 +00:00