Commit Graph

620 Commits

Author SHA1 Message Date
Philip Howard 7b7352130f
Merge pull request #739 from pimoroni/helgibbons-patch-1
PicoGraphics: document `dither=False`
2023-03-29 11:38:07 +01:00
Phil Howard cce02feabd CI: Set MICROPY_BOARD_DIR in CI workflow.
Move out of the USER_C_MODULES .cmake file.
2023-03-28 22:04:41 +01:00
Phil Howard d69797689a CI: Reduce repetition in product names. 2023-03-28 21:06:07 +01:00
Phil Howard 883d751f52 CI: Switch to MICROPY_BOARD_DIR and simplify fixups. 2023-03-28 21:05:05 +01:00
Hel Gibbons 5fa99c0690 PicoGraphics: add link 2023-03-28 16:44:30 +01:00
Hel Gibbons 6e7ec899eb
PicoGraphics: document `dither=False` 2023-03-28 15:56:15 +01:00
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