Wykres commitów

664 Commity (5a92a9c73505a8cb8fa3320a1605379e8892a05c)

Autor SHA1 Wiadomość Data
Phil Howard 540bc2f75f Pico Unicorn/Scroll: Add buttons/dimensions to both module and class. 2023-03-27 15:11:30 +01:00
Phil Howard bad6a9e8d6 CPPMEM: Reduce fixed C++ heap to 1k.
Removing the use of std::map from LTP305's "dotfont" dramatically reduced init heap usage. Reduce the fixed buffer to account for this.
2023-03-27 15:11:30 +01:00
Phil Howard 049a121974 Dot Matrix: Allow set char from string. 2023-03-27 15:11:30 +01:00
Phil Howard 140fe913ae MicroPython: Don't include wireless pack in W builds. 2023-03-27 15:11:30 +01:00
Philip Howard 2303702c15
Merge pull request #730 from pimoroni/patch-boot-py
Move boot.py to modules_py.cmake
2023-03-27 10:59:25 +01:00
Phil Howard 0148e5f5e7 MicroPython: Move boot.py to modules_py.cmake.
The cppmem module *must* be switched into MicroPython heap mode or C++ code will inevitably run out of RAM.

Thus boot.py needs to be included in every build.
2023-03-27 10:41:16 +01:00
Phil Howard f5859ad371 Badger: Drop deprecated cmake files. 2023-03-27 10:31:12 +01:00
Phil Howard 393879581a Badger 2040: Add deprecation warnings and firmware links. 2023-03-27 10:30:19 +01:00
Philip Howard c6b4a30c09
Merge pull request #725 from pimoroni/patch-frame-convert-heap
MicroPython: Magic C++ Memory Management.
2023-03-27 10:28:16 +01:00
Janos P Toth be1b827cfc
Update README.md 2023-03-25 10:14:58 -07:00
Phil Howard 2c0310ca9a MicroPython: Switch C++ allocation mode in boot.py. 2023-03-24 20:37:26 +00:00
Phil Howard 667faf70d1 MicroPython: Magic C++ allocator module.
This module redirects all pre-init object memory allocations into a static, fixed-sized, linear, non-freeing memory pool.

It then auto-switches into "MICROPYTHON" mode, whereupon all C++ `new` and `delete` calls are remapped to `m_malloc` and `m_free` respectively.
2023-03-24 15:11:07 +00:00
Hel Gibbons 5392c5aa03
Merge pull request #713 from pimoroni/examples/inky_frame
Inky Frame: add new examples and update sample images
2023-03-20 14:18:43 +00:00
Phil Howard 1b0b783a2f Pico Scroll: Add support for PicoGraphics. 2023-03-16 16:59:31 +00:00
helgibbons 9aa0465d8b hub75: function correction 2023-03-16 16:52:17 +00:00
Phil Howard b83bdbf198 MicroPython: Pico W parity with Pico build. 2023-03-16 15:02:32 +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 9964ed716b Servo/Motor: Use m_new instead of new. 2023-03-16 13:25:19 +00:00
Phil Howard a45eeb1623 Pico Wireless: Use tracked alloc. 2023-03-16 13:25:19 +00:00
Phil Howard aa91450f59 Pico Unicorn: Use tracked alloc. 2023-03-16 13:25:19 +00:00
Phil Howard dd7ea6fdc3 Pico Scroll: Use tracked alloc. 2023-03-16 13:25:19 +00:00
Phil Howard e4cb7ce95f Pico RGB Keypad: Use tracked alloc. 2023-03-16 13:25:19 +00:00
Phil Howard 157841f9db MicroPython: Add tracked alloc/free class helpers. 2023-03-16 13:25:19 +00:00
Phil Howard 1f0302bd66 BME280: Check read status and throw error on fail. 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
Phil Howard b74b371d2b JPEGDEC: Don't pass filename through std::string.
The result of GET_STR_DATA_LEN should be null terminated, so converting to a std::string and then using .c_str() is both redundant and need
s heap.
2023-03-16 13:25:19 +00:00
Phil Howard 13599b55a1 MicroPython: Tidy up CMake files for our boards.
* Feature parity between Badger 2040 and Tufty 2040.
* Add ulab to Tufty 2040.
* Don't include modules_py modules for boards that don't use/need them.
* Tweak modules_py.cmake so modules can be copied by parent CMake files.
* Simplify copy_module function to avoid repetition.
2023-03-09 11:36:55 +00:00
Philip Howard faf4efac34
Merge pull request #702 from pimoroni/docs/inky73
Inky 7.3 tweaks & docs
2023-03-08 21:02:06 +00:00
Phil Howard 83f88c034d PicoGraphics: Enable thickness for all pens. Document. 2023-03-08 14:34:28 +00:00
Phil Howard aed14aca22 PicoGraphics: Expose line thickness support. 2023-03-08 12:08:47 +00:00
Phil Howard cacb5749ae Inky Frame: Add thickness support for Hershey text. 2023-03-08 11:35:07 +00:00
Anton Mosich aee0a2879b
Fix small typo in README 2023-03-06 23:28:47 +01:00
Phil Howard 64632559f9 Inky 7.3: Raise error on PicoGraphics buffer operations. 2023-03-02 13:08:44 +00:00
Hel Gibbons 5ca10794a8
PicoGraphics: clarify hsv units 2023-02-28 15:43:19 +00:00
Hel Gibbons 1cb170664e
PicoGraphics: correct hsv pen reference 2023-02-28 15:16:08 +00:00
Hel Gibbons 931b3b26b2 PicoGraphics: add note about HSV pen 2023-02-27 15:09:58 +00:00
Hel Gibbons b6042e78c1 Cosmic: update function reference 2023-02-27 15:09:58 +00:00
Philip Howard aab8f0be35
Merge pull request #225 from pimoroni/driver/mlx90640
Driver for the mlx90640 thermal camera
2023-02-23 17:18:46 +00:00
Phil Howard 8ff40fae6e MLX90640: MicroPython module. 2023-02-23 16:52:59 +00:00
Phil Howard bea90dfd60 JPEGDEC: Experimental 3bit/4bit palette no-dither. 2023-02-22 15:40:22 +00:00
Zoobdude 3797d4b76e
Update README.md 2023-02-21 21:48:44 +00:00
Phil Howard 2176e0feb1 MicroPython: Avoid some duplication in CMake files. 2023-02-21 12:52:47 +00:00
Phil Howard ff3efc0d28 Cosmic Unicorn: Include ulab. 2023-02-21 12:52:46 +00:00
Phil Howard 1b2dae45d3 Cosmic Unicorn: Add config and workflow for .uf2. 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
Philip Howard 93ac854672
Merge pull request #663 from pimoroni/feature/inky73
Support for Inky Frame 7.3" (using direct pen into PSRAM framebuffer)
2023-02-21 12:48:56 +00:00
Zoobdude ae908c6075
Update README.md 2023-02-20 19:50:01 +00:00
Phil Howard 88e50891d1 Inky 7.3: Add to PicoGraphics. 2023-02-20 12:29:59 +00:00
Phil Howard 4928ceff8d Inky 7.3: Add pen type to JPEGDEC. 2023-02-20 12:29:59 +00:00
helgibbons 2bdb05ce68 fix a couple of typos 2023-02-15 11:18:45 +00:00
Phil Howard cb82878cd2 Badger2040W: Add README.md for MicroPython. 2023-02-13 13:41:56 +00:00
Phil Howard cbcd9edd9a Badger2040W: Fix wakeup and quit to launcher button handling. 2023-02-10 22:15:09 +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
Phil Howard 9bd29e0ef2 JPEGDEC: Fix iWidthUsed skip not advancing pixel pointer. 2023-02-10 22:12:02 +00:00
Phil Howard c70043922a Badger2040W: Switch to PicoGraphics. 2023-02-10 22:12:02 +00:00
Phil Howard 6ea105bb03 MicroPython: Switch Badger2040 to m_new_class. 2023-02-10 22:12:02 +00:00
Phil Howard d25324d6c7 MicroPython: Add Badger2040W firmware build. 2023-02-10 22:12:02 +00:00
Philip Howard de8cb95ab4
Merge pull request #660 from pimoroni/patch/hub75_color_order
Add support to Interstate / HUB 75 for panels with different color orders
2023-02-10 21:43:28 +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
ZodiusInfuser cacfbd174b Previous idea did not work, so now checking color order for every pixel set 2023-01-31 14:07:14 +00:00
ZodiusInfuser 1343f23316 Attempt at adding color order support to Hub75 2023-01-31 13:00:22 +00:00
Philip Howard 397ef786a9
Merge pull request #640 from pimoroni/patch-plasma-make-new
Plasma: Swap make_new/print functions for WS2812 module.
2023-01-19 15:46:35 +00:00
Hel Gibbons db5004d51c
Merge pull request #639 from pimoroni/docs/add-links
Update docs and add links
2023-01-19 14:45:59 +00:00
Phil Howard 6bf5c7f7b5 Plasma: Swap make_new/print functions for WS2812 module.
Fixes #637
2023-01-19 10:29:30 +00:00
Hel Gibbons 9aa2e33d46 PicoGraphics documentation tweaks 2023-01-18 16:59:05 +00:00
Hel Gibbons 92d58a17c0 Picographics documentation tweaks 2023-01-18 16:56:08 +00:00
Philip Howard 63fc338ca6
Merge pull request #625 from pimoroni/patch/bme68x-configure-fix
Fix BME68x configure function
2023-01-16 15:01:11 +00:00
Phil Howard 0709878cec MicroPython: Bump ulab.
Bump up to the tip of master for the latest fixes.

Need to switch this to targeting a release when one's available with the mp_obj_type_t fix.
2023-01-11 12:25:28 +00:00
Phil Howard fb6fdcc115 MicroPython: Update GU to MP_DEFINE_CONST_OBJ_TYPE. 2023-01-11 09:46:45 +00:00
Phil Howard 9bf1583787 MicroPython: Change machine_hw_i2c_type to machine_i2c_type. 2023-01-11 09:46:45 +00:00
Phil Howard 8b1bd814e5 MicroPython: Switch QRCode back to feature/micropython with fix. 2023-01-11 09:46:45 +00:00
Phil Howard 5f94ee7acc CI: Bump ulab to latest commit. 2023-01-11 09:46:45 +00:00
Phil Howard 5b3f84ebf0 MicroPython: TEST: Switch QRCode to fixed branch. 2023-01-11 09:46:45 +00:00
Phil Howard 77a5edc83f MicroPython: Update to support new slots mp_obj_type_t.
Follows the lead from: 662b9761b3

Update to support MP_DEFINE_CONST_OBJ_TYPE with backwards compatibility.
2023-01-11 09:46:45 +00:00
Hel Gibbons 1e1d8bf4f5
Fix bme68x configure 2023-01-09 15:07:06 +00:00
ZodiusInfuser 944830f616 Inky Frame: Enable Wakeup RTC, don't meddle with SR config. 2022-12-20 13:54:14 +00:00
Phil Howard 5251baf764 Wakeup: Add method to reset latched SR state. 2022-12-20 13:46:02 +00:00
Phil Howard f1e9e00cd5 Inky Frame: Add wakeup SR to lib, fix wakeup bug. 2022-12-20 13:46:02 +00:00
Phil Howard ba100ae069 Wakeup: Disable RTC & enable SR for Inky, always include shift function.
Due to quirks with how QSTRs are passed, conditionally including a function is difficult.

Instead, always include "get_shift_state" but throw a RuntimeError if its use is invalid (no shift register).
2022-12-20 13:46:02 +00:00
ZodiusInfuser 05d26aeecb Wakeup: Add shift register support. 2022-12-20 13:46:02 +00:00
ZodiusInfuser 43ef76b945 CI: Add build for Inky Frame. 2022-12-20 13:46:02 +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
Phil Howard e0a1627fba JPEGDEC/PicoGraphics: Add support for RGB888 target.
Fixes https://github.com/pimoroni/pimoroni-pico/issues/573
2022-12-13 14:03:30 +00:00
helgibbons a62c3f0e20 update readme 2022-12-01 17:49:53 +00:00
helgibbons 95252f2de5 update readme 2022-12-01 17:46:48 +00:00
helgibbons 7ac2a285d8 fix typo 2022-12-01 17:11:44 +00:00
Hel Gibbons 40945c4cee correct i2c constants 2022-11-14 13:01:33 +00:00
ZodiusInfuser f1d9ec7c61
Merge branch 'main' into driver/st7567 2022-11-08 11:17:24 +00:00
Gee Bartlett f3f260e176 finish docs and cmake gfx module 2022-11-04 17:23:30 +00:00
ZodiusInfuser 64b1a8c2d5
Additions to PicoGraphics readme for GU 2022-11-04 11:27:56 +00:00
ZodiusInfuser 408d105e8b
Link fixes 2022-11-04 11:13:57 +00:00
ZodiusInfuser 3765d43ce0
Link fixes 2022-11-04 11:12:20 +00:00
ZodiusInfuser d11c73d45e
Updated GU readme 2022-11-04 10:57:37 +00:00
Gee Bartlett 78101c47b5 linting demo 2022-11-03 17:33:58 +00:00