Commit Graph

260 Commits

Author SHA1 Message Date
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 751916e7b9 Pico Explorer: Use Motor. 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 9b8d215cd3 ST7789/PicoGraphics: Update C++ libs and examples. 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
Jonathan Williamson 7f5546f29a Tufty2040: Initial screen bringup. 2022-06-13 20:11:09 +01:00
Phil Howard c526c3ce6e PMS5003: Basic PMS5003 active-mode only driver. 2022-06-13 18:45:58 +01:00
Jonathan Williamson 755da537dd fixed bug in set_timer() 2022-05-30 09:59:29 +01:00
Jonathan Williamson 4a5df45573 finishing rtc driver and demo 2022-05-30 09:59:29 +01:00
Jonathan Williamson 48c502c3a1 initial rtc driver and example 2022-05-30 09:59:29 +01:00
Phil Howard 634160a731 Avoid passing buffer into bool parameter 2022-05-27 11:22:47 +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 aeceefea59 VL53L5CX: Sideload firmware from user-supplied .bin 2022-05-17 12:33:07 +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 d5468b9616 Removed old balance demo 2022-05-12 16:54:27 +01:00
ZodiusInfuser 19ec07e8c6 Added encoder C++ examples 2022-05-12 16:15:40 +01:00
Phil Howard 65fb478b6e ST7789: Port C++ examples to generic driver. 2022-05-12 16:02:56 +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
ZodiusInfuser 59019ab850 Added MP examples for pico motor shim, and tweaked others 2022-05-10 18:36:44 +01:00
ZodiusInfuser 90af916fa1 Finalised PicoExplorer encoder example 2022-05-03 18:09:43 +01:00
ZodiusInfuser 24296af3d5 Indentation fixes 2022-04-29 00:09:58 +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
ZodiusInfuser 415a1e559a Setup and partial implementations of C++ examples 2022-04-26 23:15:13 +01:00
ZodiusInfuser 0efe210c4c Added in PH_EN motor driver, and zeropoint support 2022-04-25 16:16:02 +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 652612fc31 Removed old C++ motor implementation 2022-04-22 13:59:40 +01:00
Phil Howard 637f6d18ca VL53L5CX: Class wrapper 2022-04-19 17:24:06 +01:00
ZodiusInfuser 180df9e085 Merge branch 'motor-pio' into motor-and-encoder 2022-04-19 16:28:12 +01:00
ZodiusInfuser 9472a1f109 Fix for hard lock when taking many snapshots 2022-04-19 15:44:31 +01:00
Phil Howard 6028bc16b6 VL53L5CX: Initial bringup 2022-04-19 13:01:54 +01:00
ZodiusInfuser 90fd4b8fb9 Encoder mostly implemented, now with MP support 2022-04-17 16:16:59 +01:00
ZodiusInfuser 70b589d431 Fixed inability to use more than one encode, plus other things 2022-04-13 20:12:44 +01:00
ZodiusInfuser a5572e5e44 Fixes post rebase 2022-04-13 11:29:40 +01:00
ZodiusInfuser 33c0453515 Removed some unnecessary includes from the encoder example 2022-04-13 10:47:42 +01:00
ZodiusInfuser 8b4badb4b9 Added an example for using an encoder with the PicoExplorer 2022-04-13 10:47:42 +01:00
ZodiusInfuser 96070f61af Started on motor readme, and updated API elements accordingly 2022-04-12 17:00:39 +01:00
ZodiusInfuser ac3edafbf4 Contined motor dev 2022-04-05 16:53:36 +01:00
ZodiusInfuser 9a9c3832a2 Various motor work 2022-04-04 20:00:03 +01:00
ZodiusInfuser e59bdc34c4 Added initial structure of new motor classes 2022-03-30 15:50:12 +01:00
ZodiusInfuser 8a36102c53 Merged in old motor implementation 2022-03-30 15:50:12 +01:00
Phil Howard 30faa0966d Pico Wireless: WiFi Network scan example 2022-03-30 15:30:43 +01:00
ZodiusInfuser 1efa75a590 Renamed C++ Servo functions to match MP 2022-03-30 14:29:02 +01:00
ZodiusInfuser c5be5be759 Made calibration C++ better match MP 2022-03-30 14:29:02 +01:00
ZodiusInfuser 7f83c98968 Link fix 2022-03-30 14:29:02 +01:00
ZodiusInfuser 94bb4d3d95 Added C++ examples readme 2022-03-30 14:29:02 +01:00
ZodiusInfuser 15b19c9019 Removed old examples 2022-03-30 14:29:02 +01:00
ZodiusInfuser a0f12c679f Added final C++ example 2022-03-30 14:29:02 +01:00
ZodiusInfuser d4a1f6ed61 Disable uart on all examples to avoid confusing servos 2022-03-30 14:29:02 +01:00
ZodiusInfuser 5212b6a39f Added sensor and current examples 2022-03-30 14:29:02 +01:00
ZodiusInfuser f46deb1c5b Ported the majority of Servo2040 MP examples to C++ 2022-03-30 14:29:02 +01:00
ZodiusInfuser 8fc1270404 Added additional PWM/ServoCluster constructors 2022-03-30 14:29:02 +01:00
ZodiusInfuser aeb9705d15 Moved common PWM and MultiPWM out of servo driver, and renamed to cluster 2022-03-30 14:29:02 +01:00
ZodiusInfuser f5836e56df Raised servo functions to a base class, and added ServoCluster which uses the PIO PWM. 2022-03-30 14:28:17 +01:00
ZodiusInfuser d4012a271e Improvements to servo calibration and usage 2022-03-30 14:28:17 +01:00
ZodiusInfuser 2e58841b5e Started a hardware PWM servo class, with calibration support 2022-03-30 14:28:17 +01:00
ZodiusInfuser 5957304a46 Adding more PWM functionality 2022-03-30 14:28:17 +01:00
ZodiusInfuser de3cb52931 More progress on Servo PIO 2022-03-30 14:28:17 +01:00
ZodiusInfuser aca98ca747 current WIP code for PIO based PWM 2022-03-30 14:28:17 +01:00
Philip Howard faa83986af
Merge pull request #291 from pimoroni/experiment/multi-board-ci
Build MicroPython for multiple boards
2022-03-11 12:51:50 +00:00
Phil Howard dece2aac85 CI: More complete Python linting 2022-03-11 12:25:18 +00:00
Phil Howard de8c25ee31 Badger2040: Build .py conversion into convert.py 2022-03-10 09:42:32 +00:00
Mike Bell da14ec870f Fix image convert of black and white images 2022-03-09 23:24:36 +00:00
Philip Howard 459dc4aa91
Merge pull request #260 from MichaelBell/badger2040-fixes
Badger2040 C++ library and example fixes
2022-03-04 13:35:08 +00:00
Phil Howard ef72098949 Badger2040: Build assets from source + CMake builtin copy 2022-03-04 11:06:42 +00:00
Mike Bell 17a1efe962 Similar fix to sleep example 2022-03-02 21:19:32 +00:00
Mike Bell d26bb1701c Minor fixes to Badger2040 library 2022-03-02 21:08:17 +00:00
Phil Howard 465f5e4c4d Badger2040: Add image example, update convert.py 2022-02-25 11:08:32 +00:00
Phil Howard 2e741c7993 Badger2040: Add binary support to image converter. 2022-02-25 11:08:32 +00:00
Jonathan Williamson 07c62a849a added rotation by angle in degrees to text() and glyph() methods 2022-02-25 11:08:32 +00:00
Niko Kotilainen a5bf135ede changed pressed to pressed_to_wake 2022-02-25 11:08:31 +00:00
Niko Kotilainen 69e5645700 Badger image update reworked 2022-02-25 11:08:31 +00:00
Jonathan Williamson ad0ebee16b added image demo for badger2040 2022-02-25 11:08:31 +00:00
Jonathan Williamson f7d61b587a added support for badger2040 2022-02-25 11:08:31 +00:00
Phil Howard 0eeada72d7 New driver for SCD4X series CO2 sensors
Submodule Sensirion's embedded-i2c-scd4x driver
Add i2c_hal.cpp to binds it to Pimoroni::I2C
Port (loosely) scd4x_i2c_example_usage.c to Pico
2021-12-16 11:39:11 +00:00
Phil Howard 1bb4383074 HUB75 Perf, C++ scrolling text, docs 2021-12-02 12:41:30 +00:00
Phil Howard d4bf69324f HUB75 tidyup, examples 2021-11-23 13:58:34 +00:00
Phil Howard d1e8eaa016 Rename GAMMA to avoid conflict with common GAMMA 2021-11-12 12:13:25 +00:00
Phil Howard 48689470aa Vsync flip from front to back buffer 2021-11-12 12:12:02 +00:00
Phil Howard babe8a7760 Pure C++ HUB75 example
This code is intentionally written in C++ to illustrate the basics of driving HUB75 without being overly complicated to read and understand.

Tested on a 32x32 panel and a 64x64 "FM6126A" panel, for which this code includes a magic pair of register settings.
2021-11-12 12:12:02 +00:00
Philip Howard e249113fea
Merge pull request #183 from pimoroni/driver/icp10125
Driver for the ICP10125 pressure & temperature sensor
2021-11-09 17:02:50 +00:00
Philip Howard 1a9e2802fe
Merge pull request #206 from pimoroni/driver/pwm3901
C++ and MP drivers and examples for Optical Flow sensors
2021-10-06 11:19:29 +01:00
Philip Howard 2d465da3fa
Merge pull request #170 from pimoroni/driver/320x240lcd
320x240 LCD library + tweaks to ST7789 driver
2021-10-06 10:51:04 +01:00
ZodiusInfuser d08e790e9d Fixed namespace error with pmw examples. 2021-09-13 22:15:06 +01:00
ZodiusInfuser 27b74e140b Finished drivers bindings and examples for flow sensors. 2021-09-13 21:58:11 +01:00
Marijn Besseling 5737228cd4
Fix comment typo in pico_rgb_keyboard
the ^ operator is a bitwise XOR not OR
2021-09-08 19:34:35 +02:00
Phil Howard 7f486314db Driver for ICP10125 temperature/pressure sensor 2021-09-08 14:09:54 +01:00
Phil Howard efdc05805f Drop redundant library and example 2021-09-08 13:56:03 +01:00
ZodiusInfuser 9906fdec38 C class and MP bindings for PicoDisplay2 2021-09-08 13:56:03 +01:00
Phil Howard 9ba3a6cfab 320x240 LCD library + tweaks to ST7789 driver
Add the init required for the 320x240 2.0" LCD.

Add an option to set baudrate, 320x240 needs 74MHz for 60FPS

Add library and example for 320x240 2.0 LCD.
2021-09-08 13:55:57 +01:00
ZodiusInfuser 91dfbfdac5 Added PAA secret sauce 2021-09-07 16:23:32 +01:00
ZodiusInfuser a06fff3cbf Added frame capture support and demo 2021-09-07 16:23:32 +01:00
ZodiusInfuser 77f082a984 Initial setup for PMW/PAA flow sensor 2021-09-07 16:23:32 +01:00
ZodiusInfuser bb23ba22db Added C++ port of accelerometer example 2021-08-25 18:12:10 +01:00
ZodiusInfuser d8d0a538c0 Renamed Time to Speed to match MP example 2021-08-24 16:02:29 +01:00
ZodiusInfuser dc7da7d07a Switch rotary back to ws2812 2021-08-24 14:26:35 +01:00
ZodiusInfuser a347eb468f Fixed indentation of rainbow example 2021-08-24 14:16:27 +01:00