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