Commit Graph

1075 Commits

Author SHA1 Message Date
helgibbons 8f2837d930 add a bit of onboard led flashage 2022-10-18 15:17:10 +01:00
helgibbons ce76ff5ea3 update docs 2022-10-18 14:25:02 +01:00
ZodiusInfuser a7dd4b3baf Updated MP examples with plasma_stick defs 2022-10-18 13:13:57 +01:00
Phil Howard d736342578 Galactic Unicorn: Paint app. 2022-10-17 16:06:28 +01:00
helgibbons 5d45f9aa06 add error handling 2022-10-13 19:01:02 +01:00
helgibbons e986832414 add spooky rainbows for @guru 2022-10-13 18:15:35 +01:00
Phil Howard 70b7d3065d Galactic Unicorn: Add dedicated firmware build. 2022-10-13 14:53:22 +01:00
Phil Howard a41715a377 PicoGraphics: Include RGB888 pen type for MicroPython. 2022-10-13 14:02:36 +01:00
Phil Howard 1357cb876d Galactic Unicorn: Fix audio test linting. 2022-10-13 13:47:25 +01:00
ZodiusInfuser df79caf34e Exposed remaining AudioChannel parameters 2022-10-13 13:28:59 +01:00
ZodiusInfuser 8e8299a80b Linting 2022-10-13 13:27:58 +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 b2e4e16fab Cleanup of GU and fix for flashes on MP soft reset 2022-10-13 13:26:57 +01:00
ZodiusInfuser fbc6737f1e Finished feature_test.py 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 c8b5ffff8c More MP examples for GU 2022-10-13 13:26:57 +01:00
ZodiusInfuser 2283e73368 Fix for native comments raising linting errors 2022-10-13 13:26:57 +01:00
ZodiusInfuser 34a1a54cd1 Added nostalgia prompt example, and fixed linting 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 7fd175abc5 Galactic Unicorn: More MicroPython bringup. 2022-10-13 13:26:41 +01:00
ZodiusInfuser a25699c73d Initial setup og GU Micropython 2022-10-13 13:25:26 +01:00
helgibbons d7f85c1160 tweak readme 2022-10-12 18:38:14 +01:00
helgibbons 8b19a9b314 linting 2022-10-12 18:32:45 +01:00
helgibbons 76c6e36e59 tweak readme 2022-10-12 18:32:00 +01:00
helgibbons 6e93e4d5bf add readme 2022-10-12 18:23:24 +01:00
helgibbons bdc22af6e5 add fire example 2022-10-12 18:20:32 +01:00
helgibbons 7014bcb749 add sensor examples 2022-10-12 16:54:48 +01:00
helgibbons db170a7b76 linting 2022-10-12 12:25:38 +01:00
helgibbons 2c71351ef7 add RV3028 function example 2022-10-12 12:21:13 +01:00
helgibbons 97abbb7af8 add spoooky mooon example 2022-10-12 12:06:41 +01:00
Hel Gibbons b22c536dcc add PIR example 2022-10-10 17:17:03 +01:00
Hel Gibbons f6cd2839cc Update weather.py 2022-10-10 15:17:25 +01:00
helgibbons 86b1cd40dc Update readmes 2022-10-06 15:54:50 +01:00
helgibbons 262bd673ed Add Automation 2040 W Mini init to examples 2022-10-06 15:54:16 +01:00
helgibbons 3fa620db10 Fix error in automation.py 2022-10-06 15:52:48 +01:00
Gee Bartlett 28b6698430
Automation 2040w MicroPython PWM (#489)
Co-authored-by: ZodiusInfuser <christopher.parrott2@gmail.com>
2022-10-06 12:27:46 +01:00
Philip Howard 8280a6a720
Merge pull request #491 from adriangalilea/main
Add adjust_to_sea_pressure function
2022-10-06 12:13:24 +01:00
Philip Howard 9878e4bff7
Merge pull request #528 from pimoroni/patch-plasma-alloc
Plasma: Use m_new to alloc buffer on gc_heap if not supplied.
2022-10-06 12:12:34 +01:00
Philip Howard 1ac55c49ea
Merge pull request #527 from pimoroni/driver/inky-frame-4.0
Support for Inky Frame 4.0"
2022-10-06 12:09:17 +01:00
Philip Howard 32ae781186
Merge pull request #520 from gauntface/patch-1
Correct common path
2022-10-05 15:45:32 +01:00
Philip Howard c3f3d7fa35
Merge pull request #525 from PeterCopeland/patch-1
Move set_brightness to APA102
2022-10-05 15:37:48 +01:00
helgibbons 1886c4c3d2 add rainbows and blinkies 2022-10-05 15:00:59 +01:00
helgibbons 283986b531 more weather linting 2022-10-05 12:20:20 +01:00
helgibbons 9653dcaabd linting 2022-10-05 12:17:00 +01:00
helgibbons dd6d0a23ea add examples 2022-10-04 19:17:09 +01:00
Phil Howard eaf9fcdf93 Plasma: Use m_new to alloc buffer on gc_heap if not supplied.
When no buffer was supplied it would fall upon the class to call "new" and allocate within C/C++'s (very small) heap.

Ensure a MicroPython managed buffer (allocated from gc_heap) is always supplied to the APA102/WS2812 classes.
2022-10-04 11:39:56 +01:00
Phil Howard 9663be2787 Inky Frame: New button test, old is now button demo. 2022-10-03 14:37:02 +01:00
Phil Howard 9424ae7081 Inky Frame: Improve LED PWM example to test all LEDs. 2022-10-03 14:35:42 +01:00
Phil Howard 14fec0406d Inky Frame: Update examples to support 4.0". 2022-10-03 14:35:27 +01:00
Hel Gibbons 6393e74f86
Update README.md 2022-10-03 09:10:59 +01:00
Peter Copeland 8cc6e85f98
Move set_brightness to APA102
Documentation for set_brightness function was under WS2812 but text referred to APA102, and set_brightness is not supported on WS2812. I've moved the paragraph to the end of the APA102, verbatim.
2022-10-02 23:43:12 +01:00
Phil Howard 6aa1bbd271 UC8159: 0/180 degree rotation support. 2022-09-30 21:04:22 +01:00
Phil Howard 7f02501fa6 UC8159: Alternate resolution support. 2022-09-30 15:18:01 +01:00
Phil Howard c1816ae9d6 PicoGraphics: MicroPython support for Inky Frame 4.0 2022-09-29 14:04:56 +01:00
Matt Gaunt-Seo 4a645a1a68
Correct common path 2022-09-25 19:07:05 -07:00
Hel Gibbons d6d1e00307
Add link to common files 2022-09-21 15:02:13 +01:00
Philip Howard 3868e42b66
Merge pull request #506 from TimAidley/feature/progress-pride-flag
Add Progress Pride flag to pride badge example.
2022-09-21 11:46:08 +01:00
Tim Aidley 213e47ffd7 Fixed chevron size mismatch.
I decided I wanted the first chevron a little smaller, and realized I had the sign of the chevron height value reversed. The initial white triangle is now a bit smaller, and the chevron stripes slightly wider.
2022-09-06 20:13:16 -07:00
Tim Aidley 6292d33cdb Fixes to align with flake8 style 2022-09-06 20:08:12 -07:00
Tim Aidley f1aee84ef1 Add Progress Pride flag to pride badge example.
Adds the chevrons from the progress pride flag as an option on the Tufty pride flag example.
2022-09-01 08:22:17 -07:00
helgibbons dd872f5102 fix typo 2022-08-25 17:12:51 +01:00
helgibbons b8110f3905 Update LiPo examples to use PicoGraphics 2022-08-25 17:11:13 +01:00
helgibbons 2cbd710620 Remove references to old picoexplorer module 2022-08-25 16:10:32 +01:00
Phil Howard fddac54f86 JPEGDEC: Add option to disable dither on RGB332. 2022-08-11 11:46:45 +01:00
btmask 3cfac2787b Add adjust_to_sea_pressure function
Now describe_pressure() gives meaningful insights if you set the altitude
2022-08-09 23:52:51 +02:00
Phil Howard 42a29dbe7b Wakeup: Port to Badger 2040. 2022-08-08 12:05:55 +01:00
Mike Bell ac449ff640 Wakeup: Early ROSC to ~48MHz.
Speed up MicroPython Pico W startup to init_priority(101) execution from ~160ms to ~32ms.
2022-08-08 12:05:18 +01:00
Phil Howard f7781e2696 Wakeup: Fixup crt0.S and runtime.c.
Assert the VSYS_EN pin before copying SRAM and zeroing BSS.

Saves ~142ms of startup time before GPIO input is latched and pin is asserted.
2022-08-08 12:05:18 +01:00
Phil Howard 898e2a1b32 Wakeup: Optionally turn off RTC CLOCK_OUT. 2022-08-08 12:05:18 +01:00
Phil Howard 9ec77c2f10 LTR559: Lux as float.
Avoid truncating Lux to uint16_t.
2022-08-08 12:05:18 +01:00
Phil Howard fb246441bd MicroPython: Add picow_enviro build. 2022-08-08 12:05:18 +01:00
Phil Howard a4b6d86ac7 MicroPython: Port wakeup GPIO latch to asm. 2022-08-08 12:05:18 +01:00
Phil Howard dfa13f2a39 MicroPython: Early wakeup GPIO latch module. 2022-08-08 12:05:18 +01:00
Philip Howard 5b900cb088
Merge pull request #482 from pimoroni/guru-patch-1
Update bme68x_demo.py
2022-08-08 11:26:21 +01:00
Philip Howard 54ef2ddfd3
Merge pull request #476 from pimoroni/hel_more_inky_frame
add SD card example for Inky Frame
2022-08-08 10:05:04 +01:00
Paul Beech 553cedc80e Update bme68x_demo.py 2022-08-08 10:02:02 +01:00
Phil Howard b529475148 Python: Fix new linting errors. 2022-08-03 09:07:32 +01:00
Philip Howard 4abe57d0f3
Merge pull request #478 from pimoroni/patch_pcf85063a_mp
Exposed byte access for PCF RTC
2022-08-02 10:29:06 +01:00
helgibbons 822f3354aa add SD card example for Inky Frame 2022-07-28 18:39:12 +01:00
Phil Howard 0734de30ea Inky Frame: Fix random joke for #462. 2022-07-27 13:53:06 +01:00
Phil Howard 11f0f2f0f9 Badger2040: Produce build without baked-in BadgerOS. 2022-07-27 11:56:44 +01:00
Phil Howard 8f0a143924 Pico Unicorn: Fix clear for #461 2022-07-26 11:50:54 +01:00
jon 50c7bd69ee Added missing switch case for new RGB888 pen type 2022-07-26 05:34:23 +01:00
Philip Howard 2991c2ec2d
Merge pull request #465 from pimoroni/patch-badger2040-partial-lockup
Badger2040: Fix fast partial update endless busy wait for #464.
2022-07-25 17:35:43 +01:00
Phil Howard de61929eac Badger2040: Fix fast partial update endless busy wait for #464. 2022-07-25 16:46:23 +01:00
Philip Howard 0f090d8999
Merge pull request #460 from pimoroni/hel_inky_frame
Add Inky Frame examples and other misc fixes
2022-07-25 15:37:20 +01:00
Hel Gibbons 5f68f6be6f fix typo (taupo?) 2022-07-25 14:34:28 +01:00
Hel Gibbons 1e47184c84 Add PWM example, tweak readmes 2022-07-25 13:42:21 +01:00
helgibbons bfa9fe9527 update Inky Frame readme 2022-07-22 19:18:28 +01:00
helgibbons a32bbd1c63 Update Inky Frame readme 2022-07-22 19:17:39 +01:00
helgibbons 0ad6cb9987 add image examples 2022-07-22 18:54:37 +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
Philip Howard 4c0a6908e4
Merge pull request #433 from lesley-byte/patch-2
Create show_ip_address
2022-07-22 14:56:52 +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
Philip Howard 0f826782c6
Merge pull request #454 from pimoroni/patch-vl53l5cx-ram-usage
VL53L5CX: Alloc results data in MPY gc_heap.
2022-07-22 12:11:36 +01:00
Philip Howard d6841eb898
Merge pull request #456 from pimoroni/patch-shift-register
MicroPython: Add ShiftRegister class.
2022-07-22 11:17:47 +01:00
helgibbons e28ba31049 Merge branch 'hel_inky_frame' of https://github.com/pimoroni/pimoroni-pico into hel_inky_frame 2022-07-22 10:34:54 +01:00
helgibbons 779a20e702 add button test example 2022-07-22 10:34:38 +01:00
Phil Howard e7a4ee0282 VL53L5CX: Alloc results data & config in MPY gc_heap.
RAM constraints on Pico W were causing a hardlock. This change allocates the results struct, config and motion config on gc_heap to relieve system RAM pressure.

Fixes #448
2022-07-22 10:01:34 +01:00
Hel Gibbons 8f5a99258f add non-binary flag! 2022-07-21 15:01:12 +01:00
Phil Howard ec7bc36659 MicroPython: Add ShiftRegister class. 2022-07-21 14:11:26 +01:00
Mat Stace 653e92cafd maintain cursive font for header after timer expires and script pulls new activity 2022-07-21 11:23:11 +01:00
ZodiusInfuser ea4d514d57 Doc improvements and added C++ doc 2022-07-20 16:10:37 +01:00
Hel Gibbons 50f88ed175 adjust columns in Automation web example 2022-07-20 15:57:20 +01:00
ZodiusInfuser df4a7639c8 Added function reference 2022-07-20 15:43:13 +01:00
ZodiusInfuser 0313d2b750 Added documentation for Automation 2040W 2022-07-20 15:37:39 +01:00
Hel Gibbons a2a4561abf correct typos in Automation web interface 2022-07-20 15:08:54 +01:00
Hel Gibbons 15b766f87d Tweak MQTT setup in Enviro+ example 2022-07-20 11:43:38 +01:00
helgibbons 48d42d926c correct readme title 2022-07-19 18:54:44 +01:00
helgibbons a38a4a40a9 update Pico Explorer function reference 2022-07-19 18:34:56 +01:00
helgibbons 1fedc038f5 Update Pico Explorer function reference 2022-07-19 14:08:13 +01:00
helgibbons ad7121dbdc Move set_font down to title line
(it was sometimes drawing the title with the wrong font)
2022-07-15 15:58:11 +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
helgibbons 1adc320a78 Update enviro_all_mqtt.py 2022-07-15 13:03:09 +01:00
Phil Howard d8402f48bd Inky Frame: Delay example updates on USB. 2022-07-15 12:12:43 +01:00
Phil Howard d215bb4cfe Common: Add .mpy files. 2022-07-15 12:05:12 +01:00
Gee Bartlett a95942dbf7 Automation 2040W: Add web interface example. 2022-07-15 12:05:12 +01:00
Hel Gibbons 31fc56816e Pico Enviro+: More examples. 2022-07-15 12:05:12 +01:00
Phil Howard 4ffb94e1ad PicoW: Add common files and refactor. 2022-07-15 12:05:12 +01:00
Phil Howard afea765b71 Inky Frame: MicroPython Examples.
Co-authored-by: thirdr <ryan@pimoroni.com>
2022-07-15 12:05:11 +01:00
Phil Howard 9e81e321e8 PicoGraphics: Update MicroPython Docs. 2022-07-13 12:04:08 +01:00
Hel Gibbons d712913f36
lint readme 2022-07-12 19:50:32 +01:00
helgibbons 32455e6092 linting cheerlights example and examples readme 2022-07-12 19:43:51 +01:00
helgibbons 07ef40bc2b Add Pico Explorer examples readme 2022-07-12 18:36:01 +01:00
helgibbons 7f88ab9f02 Add cheerlights example 2022-07-12 18:33:46 +01:00
Philip Howard 42e48abd14
Merge pull request #431 from RichiH/patch-1
README.md: Fix typo
2022-07-11 15:26:51 +01:00
Hel Gibbons d9132d13e5 Update README.md 2022-07-11 13:22:10 +01:00
Hel Gibbons 05518ed0eb Add Inky Pack examples readme 2022-07-11 13:17:47 +01:00
lesley-byte 6faa188cc5
Create show_ip_address
To show the ip address on Inky pack when creating the LED is ON/ LED is OFF server for the pico W.
2022-07-08 09:07:05 -04:00
Richard Hartmann 38be814757
README.md: Fix typo 2022-07-07 16:41:16 +02:00
Hel Gibbons 1337d2abdb
Update examples to use PicoGraphics (#428)
* correct filename in name_badge.py for Tufty

* Update 240x240 round breakout examples to work with PicoGraphics

* Update colourlcd240x240demo.py to work with PicoGraphics

* Fixed rainbow.py for Pico Display and Pico Display 2.0

* Update display examples to work with PicoGraphics

* add new display example 🌈

* adventures in rainbow RAM

* add button example for pico inky pack

* tidy up examples, make names more consistent

* Update Pico Explorer and 160x80 LCD breakout examples

* Accommodate dither
2022-07-07 09:37:47 +01:00
Philip Howard 4eb54b3ec6
Merge pull request #420 from pimoroni/examples/inky_pack
Inky Pack: MicroPython Examples.
2022-07-07 09:25:03 +01:00
Hel Gibbons 997839daf0
Correct the Enviro+ LED pins (#430)
* Correct Enviro+ LED pins
2022-07-07 09:24:23 +01:00
Phil Howard f85343012a PicoGraphics: Power off added for UC8151. 2022-07-06 14:25:42 +01:00
Phil Howard fa9b4535bc Pico Inky Pack: MicroPython Examples. 2022-07-06 14:17:24 +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
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
Phil Howard feac1fed75 CI: Add Automation + Inventor to picow build. 2022-07-01 07:34:21 +01:00
Phil Howard 74083d083c CI: Add PicoW MicroPython build.
Wireless raises memory usage significantly requiring Pico Unicorn and Pico Scroll (which both need slight refactoring) to be excluded from the build.

The Flash/Filesystem split has changed from a regular Pico build and may change again. Flashing this to a regular Pico *WILL TRASH YOUR FILESYSTEM*.
2022-07-01 07:08:12 +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
Philip Howard 1ec0908f2f
Merge pull request #414 from pimoroni/patch-inky-frame-wait
UC8159: Timeout-based busy wait.
2022-06-29 10:40:50 +01:00
Phil Howard 2d8080eada UC8159: Timeout-based busy wait. 2022-06-29 10:32:11 +01:00
Philip Howard 24635046ef
Merge pull request #410 from pimoroni/patch-inky-pack-update-speed
PicoGraphics: Partial update/speed support. Tidyup.
2022-06-28 10:11:47 +01:00
Gee Bartlett 2653cc7df5
Enviro MicroPython examples (#406)
Co-authored-by: Gee Bartlett <geeus81@gmail.com>
Co-authored-by: helgibbons <50950368+helgibbons@users.noreply.github.com>
2022-06-28 10:11:03 +01:00
Phil Howard 16aae0b1f2 PicoGraphics: Partial update/speed support. Tidyup. 2022-06-27 17:32:30 +01:00
ZodiusInfuser 1cf7e29d09 MP for new function 2022-06-27 17:23:07 +01:00
Phil Howard b0cfb12b20 SH1107: Support for alternate i2c address.
Add `i2c_address` option to MicroPython PicoGraphics.
2022-06-27 14:18:24 +01:00
Philip Howard 2721ad682f
Merge pull request #381 from pimoroni/patch-optimise-breakout-rtc-args
Breakout RTC: Optimise required kwarg functions to positional.
2022-06-27 10:02:45 +01:00
Philip Howard efea8a728b
Merge pull request #401 from pimoroni/patch-badger2040-fixups
Badger2040: Move to more generic fixups hack.
2022-06-24 11:20:22 +01:00
Phil Howard 7dbec2add6 JPEGDEC: Stream from filesystem.
Avoid loading jpeg files into RAM and stream from the filesystem to handle larger files gracefully.
2022-06-24 11:03:29 +01:00
Phil Howard b497b87c95 UC8159: Port to PicoGraphics/DisplayDriver. 2022-06-24 11:03:29 +01:00
Phil Howard 9b032cb3a2 Badger2040: Move to more generic fixups hack. 2022-06-23 16:34:21 +01:00
Phil Howard 0e72369c7b UC8151: Rotation support. 2022-06-23 16:30:42 +01:00
Phil Howard e3f98d56cf PicoGraphics: UC8151 Support for Inky Pack. 2022-06-23 15:48:45 +01:00
Phil Howard 646bd1a9b0 UC8151: Refactor to uc8151_legacy. 2022-06-23 13:57:25 +01:00
helgibbons aacbef56c6 Add boot button to button test, new LED PWM example 2022-06-21 10:40:58 +01:00
Kevin McAleer 952cb4e825 updated PicoGraphics README and .gitignore 2022-06-20 21:11:19 +01:00
jon 27f1ecb596 Tufty2040: Tidy up examples. Wavy Message.
Co-authored-by: Phil Howard <phil@pimoroni.com>
2022-06-17 15:55:32 +01:00
helgibbons f20049aa26 Tufty2040: MicroPython examples. 2022-06-17 15:15:19 +01:00
Phil Howard 3cd64202fd MicroPython: Correct is not True usage.
Co-authored-by: ZodiusInfuser <christopher.parrott2@gmail.com>
2022-06-17 15:15:19 +01:00
thirdr ef1bdff2bd Tufty2040: MicroPython examples.
Co-authored-by: Phil Howard <phil@pimoroni.com>
2022-06-17 15:15:02 +01:00
ZodiusInfuser 0258247b4b PCF85063A: Change location of some constants. 2022-06-17 12:41:31 +01:00
Phil Howard 122e57aa9a CI: Build Tufty 2040 + Board fixups.
Add board fixups including Pico SDK board .h and MicroPython board dir since these are not yet upstream.
2022-06-17 11:38:19 +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
Phil Howard 5d968a5463 ulab: Support for MicroPython v1.19 2022-06-16 14:48:23 +01:00
Phil Howard 9239769368 QRCode: Support for MicroPython v1.19. 2022-06-16 10:56:17 +01:00
Phil Howard 1657a970bd PicoGraphics: Add SH1107 support to MMicroPython. 2022-06-16 09:23:29 +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 48b9e5a96e PicoGraphics: README 2022-06-15 15:50:53 +01:00
Phil Howard 92c8c70aaa PicoGraphics: Start README. Spritesheet converter. 2022-06-14 15:51:39 +01:00
Phil Howard 31ade6af72 JPEGDEC: Open just before decode to avoid seek overrun. 2022-06-14 15:38:25 +01:00
Phil Howard 27d571b473 PicoGraphics: Tidy up dithering. 2022-06-14 15:06:44 +01:00
Phil Howard b9ca8ec779 PicoGraphics: Add load_spritesheet. 2022-06-14 14:15:27 +01:00
Phil Howard eb303ae811 PicoGraphics: Integer sprite scaling. 2022-06-14 13:28:27 +01:00
Phil Howard 6a3ba0d421 MicroPython: Shim MP_REGISTER_MODULE for >1.18 compat.
MicroPython has changed MP_REGISTER_MODULE to use only *two* args and now runs the preprocessing stage on files before running makemoduledefs.py.

This change avoids the build exploding, since the new regex matches the last two args as a single argument and generates a malformed module defs include.

The pattern here exploits the fact that 1.18 and below do not preprocess files, so *both* MP_REGISTER_MODULE lines are included in the source, but *only* the three arg version is matched by regex.

In >1.18 the files will be processed and the three arg version removed before makemoduledefs.py processes it.
2022-06-14 12:08:47 +01:00
Phil Howard e63a0e7da7 AS7262: Update MicroPython example. 2022-06-13 20:17:59 +01:00
Phil Howard 5d7113e8c9 PicoGraphics: Basic 128x128 RGB332 spritesheet support. 2022-06-13 20:12:03 +01:00
Phil Howard 24f4b6fc83 MicroPython: Drop crummy PicoSystem module.
Saves about 1.5k.
2022-06-13 20:12:03 +01:00
Phil Howard c66a590142 Tufty2040: Solarized example. 2022-06-13 20:12:03 +01:00
Phil Howard 03dc1e9941 PicoGraphics: Support sensible default rotations.
Rotate Tufty to 180 degrees by default.
Rotate Pico Display to 270 degrees by default.
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 8917505175 JPEGDEC: Add open_file. 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 024518ed9a PicoGraphics: Don't require wordwrap. 2022-06-13 20:12:03 +01:00
Phil Howard bfea30b662 Pimoroni Bus: Allow SPIBus to take mosi arg, no backlight by default. 2022-06-13 20:12:03 +01:00
Phil Howard 4500497e3c PicoGraphics: Add get_buffer_size.
Take the guesswork out of correctly sizing a bytearray. Accepts a display and pen type.
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 f5d7f34145 ulab: Fix broken submodule. 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 cf6b6e04f4 ST7789: Simplify MicroPython bindings.
Kwargs should not be used unless there are non-required arguments with default values.

Save ~290 bytes and a bunch of noisy lines of code.
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 dbed4a463f ST7789: Minor code tidyup. 2022-06-13 20:11:09 +01:00
Phil Howard 7068217ccb Fix linting error. 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 ae22838151 Pimoroni Bus: Tidy up. Print pins. 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 38efc7de62 MicroPython: Fix pimoroni.py 2022-06-13 20:11:09 +01:00
Phil Howard cf842d559e Badger2040: Remove deprecated modules. 2022-06-13 20:11:09 +01:00
Phil Howard 0264dddc2c Pico Explorer: Update examples for Motor, Buzzer, Button, ST7789. 2022-06-13 20:11:09 +01:00
Phil Howard 6ace09dbc3 Re-renable Pico Explorer and enable Pimoroni Bus 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 dbd716f78f Add Buzzer to Pimoroni module 2022-06-13 20:11:09 +01:00
Phil Howard 844a5af384 ST7789/PicoGraphics: Update some examples. 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 1cd58ed298 Remove debug print 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
Phil Howard 446db105f9 Tufty2040: JPEG Decode 2022-06-13 20:11:09 +01:00
Phil Howard b42425b000 Tufty2040: MicroPython bindings for ST7789Parallel. 2022-06-13 20:11:09 +01:00
Phil Howard a9eb58a3ce MicroPython: Fix Class name QSTRs. 2022-06-13 20:06:39 +01:00
Phil Howard ff5d175eb2 AS7262: Optimize function types. Saves 600 bytes. 2022-06-13 19:21:21 +01:00
Phil Howard 8d638e2744 MicroPython: Drop redundant Print. Saves 4K. 2022-06-13 18:59:51 +01:00
Philip Howard 8d329ccdd4
Merge pull request #378 from pimoroni/pcf85063a
Support for PCF85063A RTC
2022-06-13 18:41:49 +01:00
Phil Howard 8cb15d5b5c PCF85063a: Optimise functions, drop print. 2022-06-13 18:36:49 +01:00
Hel Gibbons b999b5c1e6 Linting businessbot.py 2022-05-30 17:04:10 +01:00
Hel Gibbons fe9446aea3 Linting businessbot.py 2022-05-30 17:02:27 +01:00
Hel Gibbons 3bdb313f3d Create businessbot.py 2022-05-30 16:57:32 +01:00
ZodiusInfuser df63655c76 Added MP support for rtc 2022-05-30 15:33:10 +01:00
Phil Howard 28d555fa4e Breakout RTC: Optimise required kwarg functions to positional. 2022-05-30 15:16:43 +01:00
Philip Howard 7db6d62515
Merge pull request #375 from pimoroni/experimental/build-tweaks
Customise MicroPython C++ modules per board to avoid blowing 640K binary limit on 2MB Pico boards
2022-05-27 11:56:57 +01:00
Phil Howard a860b0fba8 ulab: bump to 4.0.0 2022-05-27 11:32:55 +01:00
Phil Howard 9a494828bc CI: Customised MPY modules per-board 2022-05-27 11:32:52 +01:00
Phil Howard 5c92ac3762 ADCFFT: Use util.hpp 2022-05-27 11:04:13 +01:00
Phil Howard f7c42e90a8 ADC FFT library & MicroPython Bindings 2022-05-23 16:12:22 +01:00
Phil Howard bc0390b86c MicroPython: Use placement new to alloc classes on GC_HEAP 2022-05-23 15:34:49 +01:00
Phil Howard 0b73535ac1 ST7789: Add fixes from #344
Fix line and triangle primitives.

Rename any "x1, y1" kwargs to just "x, y" if no subsequent coordinates accepted.
2022-05-23 13:54:44 +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 1feefde00c MicroPython: Promote machine.I2C() to PimoroniI2C.
Create a new PimoroniI2C object internally if a "machine.I2C()" object is supplied in constructors.
2022-05-18 13:20:33 +01:00
Phil Howard 7d3b48c509 MicroPython: Make Pimoroni I2C compatible with machine.I2C 2022-05-18 13:15:12 +01:00
Phil Howard c2256c481b VL53L5CX: Autoload firmware in MicroPython bindings. 2022-05-17 14:05:32 +01:00
Phil Howard aeceefea59 VL53L5CX: Sideload firmware from user-supplied .bin 2022-05-17 12:33:07 +01:00
Philip Howard 22ab2b232a
Merge pull request #355 from pimoroni/patch-pico-explorer-examples
Use I2C pins constants for #351
2022-05-16 10:37:30 +01:00
ZodiusInfuser 717ad908cb Optimized some encoder functions 2022-05-12 23:57:22 +01:00
ZodiusInfuser 51d08bebd9 Optimized most motor functions 2022-05-12 23:49:31 +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
ZodiusInfuser 19ec07e8c6 Added encoder C++ examples 2022-05-12 16:15:40 +01:00
ZodiusInfuser 0c88f7892b Added MP encoder examples 2022-05-12 14:45:20 +01:00
ZodiusInfuser fac3e7365a Ported shim examples to C++, and tidy up 2022-05-12 13:20:52 +01:00
Phil Howard 8db8ad3140 MicroPython: Drop PicoDisplay/PicoDisplay2 modules.
Drop the deprecated PicoDisplay and PicoDisplay2 modules in favour of ST7789.

Saves ~5k.
2022-05-12 12:49:33 +01:00
Phil Howard a1f7c2fc2b ST7789: Port examples.
Update the Pico Display examples to use ST7789.

Since LED and Button input was also part of the Pico Display modules, replace with pimoroni.Button and pimoroni.RGBLED.
2022-05-12 12:45:27 +01:00
Phil Howard e870949a27 MicroPython: Add slots to pimoroni.py 2022-05-12 12:45:01 +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
Phil Howard af802c8300 Use I2C pins constants for #351 2022-05-12 10:35:35 +01:00
ZodiusInfuser 3c3a8c1752 Typo 2022-05-12 10:17:24 +01:00
Philip Howard 84b6a0c8ee
Merge pull request #347 from pimoroni/driver/vl53l5cx
Add vl53l5cx driver, MicroPython bindings and examples
2022-05-11 10:52:25 +01:00
ZodiusInfuser 59019ab850 Added MP examples for pico motor shim, and tweaked others 2022-05-10 18:36:44 +01:00
ZodiusInfuser c75b35265b Removed old motor_shim module 2022-05-10 18:35:33 +01:00
ZodiusInfuser 71f0ea76ed Further Motor documentation 2022-05-09 18:20:48 +01:00
ZodiusInfuser 3bbf733bfb Further Motor documentation 2022-05-09 18:19:48 +01:00
ZodiusInfuser 13ac475b7c Further Motor documentation 2022-05-09 18:16:41 +01:00
ZodiusInfuser 6c9f4a9235 Further Motor documentation 2022-05-09 17:26:44 +01:00
Phil Howard 85fc718268 VL53L5CX: Add object tracking MicroPython example. 2022-05-09 17:17:44 +01:00
ZodiusInfuser 7499cc0378 Further Motor documentation 2022-05-09 17:07:14 +01:00
ZodiusInfuser de0e908def Encoder readme tweaks 2022-05-09 09:58:33 +01:00
Phil Howard 8392401cf9 Badger 2040: Fix partial update hang for #348 2022-05-06 17:56:10 +01:00
ZodiusInfuser b782287c63 Added readme for encoder 2022-05-05 16:54:02 +01:00
ZodiusInfuser 71a7a80218 Finalise motor API 2022-04-29 13:02:00 +01:00
Philip Howard 2413713bb8
Merge pull request #345 from andypiper/badger-samples-docs
Updating the samples README to reflect current contents
2022-04-29 11:36:35 +01:00
ZodiusInfuser 898e4bace4 Finalised motor cluster frequency, and disabled loading zone 2022-04-29 00:09:19 +01:00
ZodiusInfuser 15e5eaa890 Finished C++ examples and tweaked MP examples 2022-04-28 21:23:18 +01:00
Phil Howard 3afead416a VL53L5CX: Bringup Motion and add example. 2022-04-28 14:38:34 +01:00
Lukáš Říha 4de8762381 fix micorpython line and triangle primitives for breakout LCDs 2022-04-28 14:32:53 +02:00
Lukáš Říha cbd28ca432 add micropython drawing primitives demo to breakout_roundlcd 2022-04-28 14:32:32 +02:00
ZodiusInfuser 415a1e559a Setup and partial implementations of C++ examples 2022-04-26 23:15:13 +01:00
ZodiusInfuser 56451bff30 Finished MP examples 2022-04-26 12:52:28 +01:00
ZodiusInfuser 0efe210c4c Added in PH_EN motor driver, and zeropoint support 2022-04-25 16:16:02 +01:00
ZodiusInfuser 7608e3f293 Encoder driver finalising 2022-04-25 12:28:42 +01:00
Andy Piper 7c47b1c53f
Updating the samples README to reflect current contents 2022-04-23 21:47:09 +01:00
ZodiusInfuser 2eb6a0cf3e Changed encoder folder and gave it a namespace 2022-04-22 16:23:45 +01:00
ZodiusInfuser ba076ccc7b Renamed Snapshot back to Capture 2022-04-22 16:06:54 +01:00
ZodiusInfuser 1bde0acbef Renamed target to setpoint to be more accurated to PID literature 2022-04-22 15:22:32 +01:00
ZodiusInfuser ae606e7bf5 Removed MP accesors to Snapshot class 2022-04-22 15:14:30 +01:00
ZodiusInfuser 652612fc31 Removed old C++ motor implementation 2022-04-22 13:59:40 +01:00
ZodiusInfuser 98c57741b6 linting fix 2022-04-21 21:22:35 +01:00
ZodiusInfuser 6b3ba659a2 Added a reactive encoder example 2022-04-21 21:14:41 +01:00
ZodiusInfuser 70d1368a2b Extended tuning examples to be general control examples 2022-04-21 17:38:37 +01:00
ZodiusInfuser c837081fe2 Added PID class and MP tuning examples 2022-04-21 16:47:37 +01:00
ZodiusInfuser 0f792c1e0b Added attrtuple for capture, and some position control examples 2022-04-20 21:59:20 +01:00