Commit Graph

342 Commits

Author SHA1 Message Date
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