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
ZodiusInfuser
a46ea3b097
Bug fix and tweaks to rotary example
2021-08-24 14:15:58 +01:00
ZodiusInfuser
a5d9fcf48a
Renamed bme68x plasma example to Monitor
2021-08-24 11:41:56 +01:00
ZodiusInfuser
88a9449e0a
Added micropython version of bme example, and backported some fixes
2021-08-23 16:21:38 +01:00
ZodiusInfuser
bfcb688264
Moved some variables to constants
2021-08-23 14:58:38 +01:00
ZodiusInfuser
b72e0a1bb9
Added Plasma2040 example that displays data from the BME68x
2021-08-20 18:17:39 +01:00
ZodiusInfuser
0faa312358
Updated micropython example to use working submodule
2021-08-19 15:16:40 +01:00
ZodiusInfuser
8e763f5efe
Added a plasma2040 namespaces
2021-08-19 14:12:56 +01:00
ZodiusInfuser
c1cc505e0a
Tweak to rotary, for consistency
2021-08-19 12:58:13 +01:00
ZodiusInfuser
64e6d248d5
Updated rainbow example to be consistant across languages
2021-08-19 12:58:13 +01:00
ZodiusInfuser
f5aba96419
Added user button to rainbow example
2021-08-19 12:58:13 +01:00
Gee Bartlett
54e59bae27
added staker game demo for plasma2040
2021-08-18 17:26:51 +01:00
Phil Howard
6ce80cd289
Plasma WS2812: Add RGBW and color-order support
2021-08-02 14:37:07 +01:00
Phil Howard
815e784625
Plasma 2040 library & examples
...
Library:
Includes classes for driving WS2812 and APA102 LEDs and defines for Plasma features.
Encoder Example:
Supports connecting a Rotary Encoder via the Qw'St connector.
Works with APA102 or WS281X pixels.
Pressing A will cycle between:
1. Colour change
2. Brightness change
3. Cycle delay
Pressing B will switch back into auto-cycle mode.
Turning the encoder at any time will switch out of auto cycle mode into parameter adjust mode.
Also includes a bugfix to Rotary Encoder for getting the interrupt correctly.
Rainbow Example:
Basic rainbow cycle, press B to speed up and A to slow down.
2021-08-02 14:36:01 +01:00
Phil Howard
f0eff195fe
C++ SDK Support for BME280 and BMP280
2021-08-02 14:20:40 +01:00
Phil Howard
c402d92e0f
Basic MicroPython bindings for BME68X
...
The BME68X library is *linked* against the MicroPython bindings, rather than compiled directly in.
This saves specifing the list of target files twice.
2021-08-02 14:12:46 +01:00
Phil Howard
22d39faf5f
Bringup BME688 and BME680 sensors
...
This changeset brings the BOSCH BME68X Sensor API library in as a submodule and makes it buildable with CMake.
A thin wrapper- the BME68X driver- provides simple init, configure, read_forced and read_parallel functions.
Two BME688 examples are available for forced-mode and parallel-mode operation.
2021-08-02 14:11:56 +01:00
Phil Howard
b80b714c4f
BH1745 MicroPython bindings & example
2021-07-30 12:41:06 +01:00
Phil Howard
ea6acf2207
Porti BH1745 to Pimoroni I2C
2021-07-30 12:41:06 +01:00
Phil Howard
54169f4150
Add BH1745 driver
2021-07-30 12:41:02 +01:00
Phil Howard
6022928517
Fix Pico Explorer SPI for #162
...
The switch to common I2C and common definitions for SPI had broken an edge case in Pico Explorer where no backlight pin is used.
The backlight pin was inadvertently set to the front Breakout Garden SPI slot default, which is pin 20- this also happens to be the I2C SDA pin for Pico Explorer, breaking I2C comms.
This fix adds a new special case board "PICO_EXPLORER_ONBOARD" so that ST7789 can be initialised without the backlight pin.
This will be useful for anyone using ST7789 without the rest of the Pico Explorer library, although it feels a little contrived.
Also switches ST7735 over to the common defines.
2021-06-05 19:06:11 +01:00
Phil Howard
8015ffdb95
Rewrite this code for #158
...
Rewrites the cursed Pico RGB Keypad code so that it can't hurt anyone else.
Turns out the whole loop could have been a bitwise operator.
The true lesson was the people we met along the way.
2021-05-24 16:48:15 +01:00
Phil Howard
7fa9e5bdca
Enable -Werror -Wall and fix all the things
...
Since MicroPython builds under stricter conditions, this change should help minimise pitfalls when writing/binding drivers.
2021-05-17 16:20:42 +01:00
Phil Howard
445737088f
Switch drivers over to I2C class, tidy up common include
...
Removes all driver-specific SDA/SCL pin definitions and defaults.
Pin type is "uint" everywhere, but "PIN_UNUSED" is *int*_max for MicroPython compat. That's still a lot of pins!
Adds baudrate to the I2C class, and allows a driver (like Trackball) to check the baudrate is supported
2021-05-17 11:46:12 +01:00
Phil Howard
42c7555c96
Add common I2C class
...
This change adds a common I2C class, gathering various I2C functions into a single point of responsibility.
It's necessary for correctly managing the I2C bus pins and state across multiple devices.
2021-05-14 23:02:38 +01:00
Phil Howard
3dfae2ed5c
Add a common header for pins and settings
...
* Add a common/pimoroni.hpp to list default pins for various add-ons
* Move the BG SPI Slot enum here for safe keeping
* Switch all GPIO pin references to "uint" to match Pico SDK and bring back PIN_UNUSED as UINT_MAX
2021-05-14 21:55:19 +01:00
Phil Howard
5ca77b6e28
Cleanup RV3028 comments/whitespace
2021-05-14 13:15:39 +01:00
Phil Howard
904bf657bb
Add check for valid Chip ID and fail early
...
Confused myself by plugging this into a BG base. It gave all the appearance of working, but the time was not counting up.
Turns out the library will happily talk to no device whatsoever and when you "set_time" it's stored in an C array and returned as if it came from the RTC.
2021-05-14 13:15:39 +01:00
ZodiusInfuser
80eddb24c7
Updated RV3028 driver to our coding style and included a standalone C example
2021-05-14 13:15:08 +01:00
Phil Howard
d9d37df068
Enable stdio UART for IOE examples
2021-05-14 12:58:16 +01:00
ZodiusInfuser
524e590298
Removed old test cases for IOExpander
2021-05-14 12:41:46 +01:00
ZodiusInfuser
2f3c6fc878
Added C++ examples for IOExpander
2021-05-14 12:41:46 +01:00
ZodiusInfuser
ef256e1173
Print text fix
2021-05-14 12:41:46 +01:00
ZodiusInfuser
151daf1c7b
Standalone C demos for Enc and Pot
2021-05-14 12:41:46 +01:00
ZodiusInfuser
e9a96ceb8a
PicoExplorer C demos for Enc and Pot
2021-05-14 12:41:46 +01:00
Phil Howard
fd3ef973b6
Fix MICS6814 heater enable, improve demo
2021-05-14 12:41:46 +01:00
ZodiusInfuser
41056e011d
Added old pot and encoder examples (will tidy up later)
2021-05-14 12:41:46 +01:00
ZodiusInfuser
05af3e86ba
Renamed IOExpander and added Pot, Enc, and MICS specific classes
2021-05-14 12:40:33 +01:00
Phil Howard
b088d7286f
Enable stdio UART where it's disabled
2021-05-14 10:44:12 +01:00
ZodiusInfuser
c4b166d4d9
MSA301 Driver and example tweaks
2021-05-14 10:02:49 +01:00
Jonathan Williamson
f211fe67e6
Added MSA301 driver, library, and example
2021-05-14 10:01:29 +01:00
Phil Howard
2b70c1c0d7
AS7262 Add C++ explorer example
2021-05-12 16:05:49 +01:00
Phil Howard
c4383647c6
AS7262 tweak C++ demo
2021-05-12 16:04:50 +01:00
ZodiusInfuser
a6c738d018
Finished micropython bindings for AS7262, and added example
2021-05-12 16:04:50 +01:00
ZodiusInfuser
5af43311f4
Micropython bindings and minor tweaks for AS7262
2021-05-12 16:04:50 +01:00
Phil Howard
6afbc2e64c
AS7262 driver
...
Co-authored-by: ZodiusInfuser <christopher.parrott2@gmail.com>
2021-05-12 16:04:50 +01:00
Philip Howard
5d27dbc711
Merge pull request #137 from pimoroni/driver/st7789
...
C++ and MP support and example for 1.3" LCD breakout
2021-05-10 08:59:19 +01:00
Philip Howard
5a60c477ac
Merge pull request #121 from graeme-winter/set-pixels-as-image
...
Set pixels as image, add show_bitmap_1d(), show_text()
2021-05-07 14:26:33 +01:00
Philip Howard
a99be13272
Merge pull request #139 from pimoroni/example/pico-wireless-sdcard
...
Pico Wireless example: Serve files from SD card
2021-05-07 14:18:50 +01:00
Phil Howard
4047de13ac
Fewer, faster circles in 240x240 LCD demo
2021-05-07 13:48:56 +01:00
ZodiusInfuser
0e64c5674e
Removed unneeded includes
2021-05-07 13:48:56 +01:00
ZodiusInfuser
95773318d1
Added better example for LCD
2021-05-07 13:48:56 +01:00
ZodiusInfuser
16106d5596
Micropython bindings for ColourLCD and minor tweaks for ST7789, and RoundLCD
2021-05-07 13:48:51 +01:00
ZodiusInfuser
02c5817865
Removed unneeded includes
2021-05-07 11:10:48 +01:00
ZodiusInfuser
2c2b97e0ce
Added better example for LCD
2021-05-07 11:10:48 +01:00
ZodiusInfuser
2be5b11c42
Micropython bindings for small ColourLCD and ST7735
2021-05-07 11:10:47 +01:00
ZodiusInfuser
ded2710f90
Micropython binding fixes and example for SGP30
2021-05-06 10:16:10 +01:00
Simon Reap
62e085e81c
SGP30 driver for Raspberry Pico
...
Co-authored-by: ZodiusInfuser <christopher.parrott2@gmail.com>
2021-05-06 10:01:19 +01:00
ZodiusInfuser
3f379d04e7
C++ and MP support and example for LTR559 breakout ( #135 )
...
* C driver and example for LTR559 breakout
* Micropython bindings and example for LTR559
2021-05-06 09:48:17 +01:00
Phil Howard
24fa369759
Pico Wireless HTTP SD Card demo
2021-05-05 17:32:35 +01:00
ZodiusInfuser
7d3eb60b33
C++ and MP support and example for Trackball breakout ( #134 )
...
* C and Micropython bindings for trackball
* C and Micropython examples for trackball
2021-05-04 22:29:53 +01:00
ZodiusInfuser
69ba1c88ef
C++ and MP support and examples for Dotmatrix breakout ( #133 )
...
* C driver for LTP305 breakout
* Micropython bindings for LTP305 breakout
* Micropython examples for dotmatrix
* C++ examples for dotmatrix
Co-authored-by: Phil Howard <phil@gadgetoid.com>
2021-05-04 10:34:52 +01:00
Phil Howard
8a15da1f66
Move scroll_text, show_text, bitmap_1d and set_pixels into C++ library
...
Move scroll_text into the C++ library and make it support std::string.
Move show_bitmap_1d to set_bitmap_1d in the C++ library. Use it as the basis for show_text and scroll_text.
Change show_text to set_text since it does not implicitly show the result.
Add a new pico-scroll demo to show off the scrolling text functionality.
2021-04-22 20:00:25 +01:00
Phil Howard
91bf9be9f0
IS31FL3731 for RGBMatrix5x5 and Matrix11x7
...
Add IS31FL3731 driver
Add RGBMatrix5x5 library and example
Add Matrix11x7 library and example
Co-authored-by: ZodiusInfuser <christopher.parrott2@gmail.com>
2021-04-22 17:29:37 +01:00
Philip Howard
7776536d83
Merge pull request #126 from pimoroni/pico-wireless
...
C++/MicroPython Support & Examples for Pico Wireless
2021-04-22 13:40:59 +01:00