ZodiusInfuser
0120975b3c
Readme improvements
2023-05-10 16:08:51 +01:00
ZodiusInfuser
12e38c1157
Implemented GPIO MP support for Encoder wheel
2023-05-10 14:54:32 +01:00
ZodiusInfuser
653090c89e
Exposed support for GPIO pins on encoder wheel
2023-05-10 12:46:00 +01:00
Ray Bellis
67df015bfe
fonts need cstdint
2023-05-08 13:17:16 +01:00
ZodiusInfuser
8966cbf348
Added C++ readme
2023-05-04 14:59:01 +01:00
ZodiusInfuser
9f925b5259
Ported most encoder wheel examples to C++
2023-05-03 17:22:58 +01:00
ZodiusInfuser
e3f9f14dcf
Fix ioe reset timing out too early, and encoder reversed
2023-05-03 12:34:59 +01:00
ZodiusInfuser
1cfae8b5f8
More work on encoder wheel C++, adding reset to ioe
2023-05-02 22:55:19 +01:00
ZodiusInfuser
387df3bd12
Progress on encoder wheel C++ and MP
2023-05-02 17:31:11 +01:00
ZodiusInfuser
d4d6cd1936
Progress on encoder wheel C++ and MP
2023-05-02 16:19:22 +01:00
ZodiusInfuser
15978e5ddc
Temporary fix for compiler issues
2023-05-02 10:22:14 +01:00
ZodiusInfuser
59d57a193b
Initial support for Encoder wheel breakout
2023-05-02 10:22:14 +01:00
Phil Howard
761e8b5c3c
MicroPython: Don't include Hershey font map.
2023-03-27 15:11:30 +01:00
Phil Howard
1b0b783a2f
Pico Scroll: Add support for PicoGraphics.
2023-03-16 16:59:31 +00:00
Phil Howard
f2751ba6e9
Pico Unicorn: Add support for PicoGraphics.
2023-03-16 15:02:28 +00:00
Phil Howard
3eb42336e6
Pico Unicorn: Refactor into class.
...
Borrow heavily from Galactic/Cosmic Unicorn for the PIO/chained-DMA setup.
2023-03-16 13:25:19 +00:00
Phil Howard
044313551b
Pico Scroll: Refactor to class.
2023-03-16 13:25:19 +00:00
Phil Howard
bd3651d97d
Pico RGB Keypad: Refactor to class.
...
Because `mp_tracked_calloc` does not survive a soft reset but the memory region will, resulting in half-initialised frankenclasses that behave unpredictably.
Using the class pattern fixes this since it's always guaranteed to be initialised when a user instantiates it, and __del__ can handle cleanup.
2023-03-16 13:25:19 +00:00
Phil Howard
73f50e43ec
Hershey Fonts: Replace map lookup to avoid std::string.
2023-03-16 13:25:19 +00:00
Phil Howard
375df60ff3
PicoGraphics: Switch to string_view.
...
MicroPython's GET_STR_DATA_LEN macro returns a const byte array and len, which std::string would copy into heap.
Using string_view lets us wrap the existing const values.
2023-03-16 13:25:19 +00:00
Hel Gibbons
d0e2425e07
Merge pull request #655 from pimoroni/patch/i75-userbutton
...
i75/i75w: Auto-detect board and set up user button.
2023-03-16 11:58:59 +00:00
Phil Howard
a8a8321405
PicoGraphics: (Try to) handle non-div-2 thickness.
2023-03-08 14:49:09 +00:00
Phil Howard
83f88c034d
PicoGraphics: Enable thickness for all pens. Document.
2023-03-08 14:34:28 +00:00
Phil Howard
cacb5749ae
Inky Frame: Add thickness support for Hershey text.
2023-03-08 11:35:07 +00:00
Phil Howard
5f3f14e5ce
Galactic Unicorn: Add support for P4 and P8 pen modes.
2023-02-27 20:00:17 +00:00
Hel Gibbons
6fc8ebd024
Cosmic: update C/C++ function reference
2023-02-27 15:09:58 +00:00
Phil Howard
0c0a7b3bf6
PicoGraphics: Include dependencies if necessary.
...
Replaces #346
Co-authored-by: Charlie Birks <charlie@daft.games>
Co-authored-by: ThomasPDye <tompdye@googlemail.com>
2023-02-23 17:23:59 +00:00
Phil Howard
bfb2f8d2ba
Inky 7.3: Drop unpredictable taupe from dither palette.
2023-02-23 14:37:06 +00:00
Phil Howard
bff2e79a56
Inky 5.7: Dithered drawing ported from 7.3.
2023-02-23 14:17:54 +00:00
Phil Howard
a5b0633469
Inky 7.3: Dither pixel spans, move RGB flag out of RGB888.
2023-02-23 13:35:41 +00:00
Phil Howard
80fab77270
Inky 7.3: Remove side-effect from set_pixel_dither.
...
Do not change "color" when dithering the same colour across multiple pixels.
2023-02-23 13:12:07 +00:00
Phil Howard
c9f6dfec4f
PicoGraphics: from_hsv to RGB::from_hsv.
2023-02-23 12:59:19 +00:00
Phil Howard
3e0cd28876
Inky 7.3: Support dithering of arbitrary colours.
...
`create_pen` returns an int with the most significant byte set to indicate it is an RGB888 colour.
Pen values without the most significant byte set are treated as palette entries and handled normally.
2023-02-23 12:09:52 +00:00
Phil Howard
bea90dfd60
JPEGDEC: Experimental 3bit/4bit palette no-dither.
2023-02-22 15:40:22 +00:00
Phil Howard
d3a1a571d3
Inky 7.3: C++ library and JPEG example compatibility.
2023-02-22 14:34:25 +00:00
Gee Bartlett
8637967605
Made edits from review
2023-02-22 11:41:05 +00:00
Phil Howard
f4b0434229
PicoGraphics: Add create_pen_hsv to p4, p8 and rgb332 pens.
2023-02-21 12:52:46 +00:00
Phil Howard
bbeac41785
Cosmic Unicorn: Implement RGB888 frame convert.
2023-02-21 12:52:46 +00:00
Phil Howard
aa9c5b6538
Cosmic Unicorn: Add P4 and P8 support.
2023-02-21 12:52:46 +00:00
Phil Howard
72ad4dcc47
Cosmic Unicorn: Optimise buffer flip.
2023-02-21 12:52:46 +00:00
Gee Bartlett
9bc616690e
Cosmic Unicorn: MicroPython bindings.
...
started on MP driver
removed duplacte audio_i2s.pio
disabled GU lib options
bug fixes
bringing Picographics into line
Update picographics.cpp
fixing naming Cosmic to cosmic fixed H and W
2023-02-21 12:52:44 +00:00
lowfatcode
c3672d7e3d
Cosmic Unicorn: Driver and C++ examples.
2023-02-21 12:50:48 +00:00
Phil Howard
776383c111
Inky 7.3: Add ordered dither support.
2023-02-20 12:29:59 +00:00
AndrewCapon
0067b101a0
Inky 7.3: Direct pen & PSRAM update.
2023-02-20 12:29:52 +00:00
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