ZodiusInfuser
5a62a79a93
Renamed thick_line
2023-02-16 10:28:07 +00:00
Phil Howard
c3ad87765d
PicoGraphics: Extremely cursed thickness support for 1bit pens.
...
Experimental. There must be less cursed way to do this.
2023-02-10 22:15:07 +00:00
Mike Bell
3371b6c751
Select new row earlier to avoid lighting pixel on previous row very slightly
2023-02-10 10:36:56 +00:00
Philip Howard
c4decc5003
PicoGraphics: HSV Pen ( #665 )
...
Co-authored-by: Gee Bartlett <122281230+ageeandakeyboard@users.noreply.github.com>
2023-02-09 16:13:37 +00:00
Pete Favelle
d84d9f4520
Added PEN_RGB332 support
2023-01-31 12:57:35 +00:00
Philip Howard
ec0077ae71
Merge pull request #603 from ahnlak/unicorn-volume-fix
...
Unicorn volume fix
2022-12-16 21:03:04 +00:00
Philip Howard
930784df08
Merge pull request #600 from pimoroni/patch-jpegdec-rgb888
...
JPEGDEC/PicoGraphics: Add support for RGB888 target.
2022-12-16 20:53:55 +00:00
Gee Bartlett
104c819412
Hub75: Update to use Picographics ( #601 )
...
* have a basic pg working needs optimizing
* working well ported some examples from GU
* started on micropython module
* Fixes to get new Hub75 compiling in MP
* stripped down for faster compilling
* Update hub75.cmake
* added hub75 to galatic and eviro as it is needed for picographics
* Update picographics.c
* added hu75 update
* added _ModPicoGraphics_obj_t
* Update hub75.cpp
* update bindings
* some examples needs linting
* added other panel sizes and linted
* Update picographics.cpp
* Update picographics.c
* fixing gc memory allocation
* Update hub75.cpp
* Update interstate75_balls_demo.cpp
* review
* broke
* working with built in panel defs
* still borked
* not much change needs review
* Update hub75.cpp
* reverted alot of things
* adding i75 lib
* lots of updates ready to test compile mp
* Update picographics.h
* little tweaks
* an inability to count fixed!
* fixed some readme's
* lots of tiding
* fixed linting and removed experimental code
* Minor formatting
* Minor formatting and cmake tidy
* Removed unneeded parts of examples
* Final tidy
* tidy examples and adding more
* updated to new library
* documentation tweaks
* fixed inclusion of interstate75 module
* syncing some stuff
* fixed linting
Co-authored-by: ZodiusInfuser <christopher.parrott2@gmail.com>
2022-12-16 20:53:16 +00:00
Phil Howard
13414b5037
JPEGDEC: Clip drawing to iWidthUsed.
...
Corrects clipping width using new iWidthUsed value, noticable particularly on smaller jpegs and those that aren't a multiple of the MCU sized.
Fixes #573
2022-12-14 18:42:03 +00:00
Phil Howard
241e725464
JPEGDEC: Sync with upstream.
...
Adds setUserPointer and pDraw->pUser which we now use to store a pointer to the PicoGraphics instance.
2022-12-13 14:21:57 +00:00
Pete Favelle
b81c43f479
Removed const from picosynth volume
2022-12-08 17:19:35 +00:00
Pete Favelle
875119da70
Adjust PicoSynth volume when setting it in the Galactic Unicorn API
2022-12-08 17:07:07 +00:00
ZodiusInfuser
f1d9ec7c61
Merge branch 'main' into driver/st7567
2022-11-08 11:17:24 +00:00
ZodiusInfuser
23f56f05e4
Minor readme tweaks
2022-11-08 11:10:51 +00:00
Gee Bartlett
4f4b0b277c
updated readme's
2022-11-07 18:07:48 +00:00
ZodiusInfuser
678b8d7cf9
Review of GfxPack code
2022-11-07 12:50:50 +00:00
ZodiusInfuser
d11c73d45e
Updated GU readme
2022-11-04 10:57:37 +00:00
Gee Bartlett
7be5376abf
some small fixes for easier merging later
2022-11-02 20:58:20 +00:00
Gee Bartlett
952be145ec
Merge branch 'main' into driver/st7567
2022-11-02 20:50:18 +00:00
Gee Bartlett
79eb998183
adjustments prior to micropython
2022-11-02 20:43:07 +00:00
lowfatcode
b0e194b2b1
Added Galactic Unicorn function reference and example
2022-11-02 07:35:37 +00:00
Gee Bartlett
9af1081e68
gfx c libs working
2022-10-28 17:54:37 +01:00
Philip Howard
e928129d59
Merge pull request #537 from pimoroni/feature/galactic_unicorn
...
Galactic Unicorn
2022-10-19 14:08:20 +01:00
Philip Howard
3405130820
Merge pull request #536 from pimoroni/hel-plasma
...
Plasma Stick examples
2022-10-19 10:51:27 +01:00
ZodiusInfuser
41225090ef
Added some C specific examples for Plasma Stick
2022-10-17 16:15:02 +01:00
ZodiusInfuser
52a107e6d6
Switched GU over to chained DMA to remove interrupt use
2022-10-13 13:28:59 +01:00
ZodiusInfuser
df79caf34e
Exposed remaining AudioChannel parameters
2022-10-13 13:28:59 +01:00
ZodiusInfuser
53dfb9866d
Started splitting out synth into separate channel objects
2022-10-13 13:26:57 +01:00
ZodiusInfuser
882f76dcbc
More work on GU synth
2022-10-13 13:26:57 +01:00
ZodiusInfuser
deec835692
First addition of synth to GU
2022-10-13 13:26:57 +01:00
ZodiusInfuser
12ea527f44
Audio performance improvements and bugfixes
2022-10-13 13:26:57 +01:00
ZodiusInfuser
f809db6434
Added play_tone support to GU C++ and MP
2022-10-13 13:26:57 +01:00
ZodiusInfuser
e08ddd9837
Exposed audio to MP, and made it teardown cleanly
2022-10-13 13:26:57 +01:00
ZodiusInfuser
4551c991fb
Re-added audio PIO and made it's restart cleaner
2022-10-13 13:26:57 +01:00
ZodiusInfuser
b2e4e16fab
Cleanup of GU and fix for flashes on MP soft reset
2022-10-13 13:26:57 +01:00
ZodiusInfuser
739ca71f69
Added partial tear down
2022-10-13 13:26:57 +01:00
ZodiusInfuser
bb91d9e75b
WIP improvements to GU hardware reuse (temp disabled audio)
2022-10-13 13:26:57 +01:00
ZodiusInfuser
b35ed5d5ba
Moved MP examples over to PicoGraphics
2022-10-13 13:26:57 +01:00
ZodiusInfuser
82b5110691
Fixed colour order and added working MP examples
2022-10-13 13:26:57 +01:00
ZodiusInfuser
a25699c73d
Initial setup og GU Micropython
2022-10-13 13:25:26 +01:00
jon
5ea389c12a
Added support for new RGB888 pen type
2022-10-13 13:25:26 +01:00
jon
678be33b53
Update to use new RGB888 pen type
2022-10-13 13:25:26 +01:00
jon
f2c3d15b8e
Galactic Unicorn: Playing basic audio samples now works, added rainbow example for photoshoot
2022-10-13 13:25:18 +01:00
jon
eaaed2e862
Galactic Unicorn: Examples + features.
2022-10-13 13:24:08 +01:00
jon
5fdd08438f
stuff
2022-10-13 13:22:21 +01:00
jon
a3d3707284
more stuff
2022-10-13 13:22:21 +01:00
jon
09846ab221
Galactic Unicorn: Initial C++ experimentaion.
2022-10-13 13:21:22 +01:00
jon
a322c400f0
Added support for new RGB888 pen type
2022-10-13 13:19:50 +01:00
jon
c91c5d6bf4
Update to use new RGB888 pen type
2022-10-13 13:19:50 +01:00
jon
a486150470
Playing basic audio samples now works, added rainbow example for photoshoot
2022-10-13 13:19:50 +01:00
jon
63183d28be
Lots of features added
2022-10-13 13:19:50 +01:00
jon
e50827c412
stuff
2022-10-13 13:19:50 +01:00
jon
210b334fff
more stuff
2022-10-13 13:19:50 +01:00
jon
54ad59c77a
Rebasing Galactic Unicorn branch to main
2022-10-13 13:19:50 +01:00
Phil Howard
00ca53a30b
Inky Frame: Update C++ library to support 4.0"
2022-10-05 09:57:16 +01:00
Gee Bartlett
c48f81bc90
started on converting pico display demo
2022-09-29 12:01:35 +01:00
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
5d47ae080c
Merge pull request #453 from pimoroni/patch-automation2040w-doc
...
Added documentation for Automation 2040W
2022-07-22 14:59:23 +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
ZodiusInfuser
2516a06237
Doc improvements and added C++ doc
2022-07-20 16:12:37 +01:00
ZodiusInfuser
ea4d514d57
Doc improvements and added C++ doc
2022-07-20 16:10:37 +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
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
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