Commit Graph

411 Commits

Author SHA1 Message Date
Phil Howard 596fb55a57 Add "plasma" MicroPython module
Includes "WS2812" and "APA102" modules, wrapping the libraries.

Uses a destructor to clean up the LED strip and resources when MicroPython is stopped/restarted.
2021-08-02 14:37:06 +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
Philip Howard bcde0b6784
Merge pull request #152 from pimoroni/driver/bme280
Driver for BME280 and BMP280
2021-08-02 14:32:57 +01:00
Phil Howard 218d8ea929 Add documentation and features to BMx280 modules 2021-08-02 14:21:00 +01:00
Phil Howard be9b1437db Add MicroPython bindings for BME280 and BMP280 2021-08-02 14:20:59 +01:00
Phil Howard f0eff195fe C++ SDK Support for BME280 and BMP280 2021-08-02 14:20:40 +01:00
Philip Howard c832bf27be
Merge pull request #143 from pimoroni/driver/bme68x
Driver for BME688 and BME680 sensors
2021-08-02 14:17:23 +01:00
Phil Howard 746e21c542 BME68X Add Time/Temp config to Gas, document 2021-08-02 14:12:46 +01:00
Phil Howard 618fd559f9 BME68X Python example, docs and configure 2021-08-02 14:12:46 +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
Philip Howard 73d92023e9
Merge pull request #29 from pimoroni/driver-bh1745
Add BH1745 driver
2021-08-02 09:43:46 +01:00
Philip Howard c81b92ecdc
Merge pull request #180 from Daft-Freak/patch-1
Fix some ST7789 regs
2021-08-02 09:20:25 +01:00
Philip Howard f930720666
Merge pull request #187 from pimoroni/patch-ltr559
Fix LTR559 duty cycle
2021-08-02 09:12:25 +01:00
Phil Howard a0c2201df2 BH1745: Add I2C address constants 2021-07-30 13:46:28 +01:00
Phil Howard bd648034f5 Fix LTR559 duty cycle 2021-07-30 13:30:42 +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
Philip Howard 9e1eb6723d
Merge pull request #186 from pimoroni/pymodules
Add python module for RGBLED and Button
2021-07-28 12:52:31 +01:00
Phil Howard 6a4df04ac6 Add python module for RGBLED and Button
Add a pimoroni.py module which includes Python code equivilents of the RGBLED and Button C++ drivers.

This is simpler than binding these drivers into MicroPython and much easier to maintain/extend.
2021-07-28 12:06:57 +01:00
Philip Howard 5f23794c6c
Merge pull request #179 from pimoroni/patch-buttonled
Add RGBLED and Button libraries
2021-07-28 10:12:35 +01:00
Phil Howard 32e226bfca Add RGBLED and Button libraries
"RGBLED" PWMs 3 pins as a single RGB LED and exposes methods to set the colour via HSV/RGB.

"Button" handles tracking the state and changed state of a single GPIO button, in addition to supporting auto-repeat for held-down buttons.
2021-07-20 15:34:24 +01:00
Charlie Birks 47a2f7c1c7
Fix some ST7789 regs
Fixes frame rate/porch register confusion and uses PWCTRL1 instead of 0xd0.
2021-07-20 15:22:31 +01:00
Philip Howard 27fa43087b
Merge pull request #161 from pimoroni/patch-lcdtext
MP Fix for text scaling on lcd breakouts not working, and non-string vars hard-locking
2021-07-12 17:42:52 +01:00
Phil Howard 9d897276f4 Support both kwarg and positional scale
Relies on the default value of the scale argument to avoid needing to explicitly check if it's been supplied.

Fixes x/y (again) on character.
2021-07-12 17:31:17 +01:00
Phil Howard 91c346a17c Change wr to wordwrap for clarity 2021-07-12 16:07:10 +01:00
Philip Howard 141a9670bd
Merge pull request #177 from pimoroni/patch-rv3028
Fix RTC year argument for #176
2021-07-08 09:00:07 +01:00
Phil Howard b4c0d78ef7 Fix RTC year argument for #176 2021-07-07 17:11:02 +01:00
Philip Howard e277bf14dd
Merge pull request #173 from pimoroni/patch-micropython-1.16
Bump MicroPython to v1.16
2021-07-07 16:45:43 +01:00
Phil Howard 09b570ff66 Bump MicroPython to v1.16
* Bump MicroPython from v1.15 to v1.16
* Bump Blinka from 6.10.1 to 6.10.2
* Bump PlatformDetect from 3.13.3 to 3.14.1
* Revert backport patch/hotfix for lwip submodule
2021-06-23 12:47:53 +01:00
Philip Howard 37d86ee766
Merge pull request #171 from pimoroni/patch-pimoroni-pico-import
Add an external import helper module
2021-06-17 12:04:56 +01:00
Phil Howard adaebc33bd Add an external import helper module
Part of the fix for the Pico Boilerplate breakage mentioned in pimoroni/pico-boilerplate#8

This file is included here for posterity and because it's existence is used to validate PIMORONI_PICO_PATH
2021-06-17 11:57:52 +01:00
Philip Howard 28a0a825a8
Merge pull request #166 from pimoroni/patch-cheerlights-try-try-again
Retry failed HTTP connections in cheerlights.py
2021-06-05 19:49:55 +01:00
Phil Howard ff8917cbe0 Retry failed HTTP connections in cheerlights.py
As discussed on https://forums.pimoroni.com/t/pico-wireless-pack-fetching-data-from-web/17215/ the cheerlights.py example was stalling on the first HTTP request.

I have added a timeout in this case, so the code will stop waiting and retry after the 60second polling wait period. Users report this does the trick!
2021-06-05 19:45:07 +01:00
Philip Howard bd359b7fe1
Merge pull request #167 from pimoroni/patch-bump-blinka-platformdetect
Bump blinka to 6.10.1 and platformdetect to 3.13.3
2021-06-05 19:44:37 +01:00
Phil Howard 9935e0d781 Hotfix lwip submodule to avoid server errors
Pulls down the upstream patch from https://github.com/micropython/micropython/pull/7250 and applies it.

Issue discussed here: https://github.com/micropython/micropython/issues/5356
2021-06-05 19:38:42 +01:00
Phil Howard bffca106f6 Bump blinka to 6.10.1 and platformdetect to 3.13.3
Should include fixes and improvements to RP2040 made in versions 6.9.2 and 6.10.1.
2021-06-05 19:20:57 +01:00
Philip Howard a3b7fe2872
Merge pull request #164 from frankdrn/main
Fix character positioning for 3 breakout LCD's in Micropython
2021-06-05 19:17:41 +01:00
Philip Howard 3274069a27
Merge pull request #165 from pimoroni/patch-pico-explorer-spi
Fix Pico Explorer SPI for #162
2021-06-05 19:17:16 +01:00
Philip Howard c98e35ffae
Merge pull request #163 from davll/fix-ioexpander-build
Fix: Build error from ioexpander.cpp
2021-06-05 19:09:58 +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
frankdrn b60e0878dd
Merge pull request #1 from frankdrn/character-fix
Fix character positioning for 3 LCD breakouts in Micropython
2021-06-05 15:13:33 +01:00
frankdrn f65d2d00ed
Fix character positioning for colourlcd160x80 2021-06-05 09:09:20 +01:00
frankdrn a2d2165f81
Fix character positioning for colourlcd240x240 2021-06-05 09:07:08 +01:00
frankdrn 09b443bf2d
Update breakout_roundlcd.cpp 2021-06-05 09:04:34 +01:00
David Lin 1f385d8f30 Fix build error: missing printf declaration 2021-06-04 23:08:26 +08:00
Philip Howard 6d23fb210c
Merge pull request #160 from pimoroni/patch-who-wrote-this-code
Rewrite this code for #158
2021-05-26 13:16:30 +01:00
ZodiusInfuser dbbe71702a Fix for text scaling on lcd breakouts not working, and non-string vars hard-locking 2021-05-25 17:06:52 +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