Libraries and examples to support Pimoroni Pico add-ons in C++ and MicroPython.
MIT License
Published by Gadgetoid almost 3 years ago
Version 0.3.0 marks a MicroPython bump from v1.16 to v1.17 but is otherwise the same as v0.2.7.
MicroPython v1.17 brings a handful of changes, the most notable of which is f-strings. For a complete list, see - https://github.com/micropython/micropython/releases/tag/v1.17
See version 0.2.7 for changes to our modules - https://github.com/pimoroni/pimoroni-pico/releases/tag/v0.2.7
Published by Gadgetoid about 3 years ago
Version 0.3.0 marks a MicroPython bump from v1.16 to v1.17 but is otherwise the same as v0.2.7.
MicroPython v1.17 brings a handful of changes, the most notable of which is f-strings. For a complete list, see - https://github.com/micropython/micropython/releases/tag/v1.17
See version 0.2.7 for changes to our modules - https://github.com/pimoroni/pimoroni-pico/releases/tag/v0.2.7
Published by Gadgetoid about 3 years ago
Moved MicroPython HTTP library functions to "ppwhttp.py" and added many fixes to HTTP/HTTPS connection handling.
ppwhttp also supports routing and wildcard routes, see: https://github.com/pimoroni/pimoroni-pico/commit/78d50c29867fa2ef644cc62173ad28cc6eff797a
Published by Gadgetoid about 3 years ago
delete[]
a bytearray (or other not-driver-owned) bufferget
pixel methodclear
to reset countsPublished by Gadgetoid about 3 years ago
pimoroni.Analog
for general purpose ADC reading- intended for current-monitoring (isense) on - for example - Plasma 2040Published by Gadgetoid about 3 years ago
Published by Gadgetoid over 3 years ago
machine.RTC
set_time
to correctly set year in range 2000-2099Built against MicroPython release v1.16 - https://github.com/micropython/micropython/releases/tag/v1.16
Published by Gadgetoid over 3 years ago
Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15
Published by Gadgetoid over 3 years ago
This release is identical to v0.2.0, old release notes have been included below for posterity.
We've baked Adafruit's Blinka and PlatformDetect libraries into a new release of MicroPython so you can mix and match Adafruit CircuitPython libraries with our in-house ones.
For more information on how to get started with CircuitPython libraries on MicroPython see Adafruit's guide here: https://learn.adafruit.com/circuitpython-libraries-on-micropython-using-the-raspberry-pi-pico/
Note: if you're using our Blinka + PlatformDetect MicroPython .uf2 then you do not need to follow Adafruit's MicroPython Installation or Blinka/PlatformDetect setup steps. You can skip straight to downloading the .py bundle (MicroPython does not support CircuitPython's .mpy files) from here - https://circuitpython.org/libraries - or grabbing .py libraries of your choice.
This release includes the recent changes merged in https://github.com/pimoroni/pimoroni-pico/pull/129
Using I2C in MicroPython now requires an instance of the PimoroniI2C
class, which is created once and passed into individual breakout classes for them to use.
The PimoroniI2C
class has a __del__
method and finaliser, allowing Pico's I2C to be cleaned up during soft resets. This prevents an issue where using the wrong I2C pins would break I2C on a particular channel until the Pico is hard reset. A tricky situation for a device that... doesn't have a reset button!
See the Python examples for ... well ... examples of how to use the new I2C class with breakouts. For example, here's LTR559:
from pimoroni_i2c import PimoroniI2C
from breakout_ltr559 import BreakoutLTR559
PINS_BREAKOUT_GARDEN = {"sda": 4, "scl": 5}
PINS_PICO_EXPLORER = {"sda": 20, "scl": 21}
i2c = PimoroniI2C(**PINS_BREAKOUT_GARDEN)
ltr = BreakoutLTR559(i2c)
Eventually you'll be able to construct a PimoroniI2C
Note: This PimoroniI2C
class differs from machine.I2C
since it's a direct port of the I2C
class used to run out breakouts in C++. Interop may be possible at some point in the future but please understand that we are not raving lunatics and are making these odd, against-the-grain design choices because we want to re-use the C++ drivers in MicroPython.
Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15
Published by Gadgetoid over 3 years ago
This release includes the recent changes merged in https://github.com/pimoroni/pimoroni-pico/pull/129
Using I2C in MicroPython now requires an instance of the PimoroniI2C
class, which is created once and passed into individual breakout classes for them to use.
The PimoroniI2C
class has a __del__
method and finaliser, allowing Pico's I2C to be cleaned up during soft resets. This prevents an issue where using the wrong I2C pins would break I2C on a particular channel until the Pico is hard reset. A tricky situation for a device that... doesn't have a reset button!
See the Python examples for ... well ... examples of how to use the new I2C class with breakouts. For example, here's LTR559:
from pimoroni_i2c import PimoroniI2C
from breakout_ltr559 import BreakoutLTR559
PINS_BREAKOUT_GARDEN = {"sda": 4, "scl": 5}
PINS_PICO_EXPLORER = {"sda": 20, "scl": 21}
i2c = PimoroniI2C(**PINS_BREAKOUT_GARDEN)
ltr = BreakoutLTR559(i2c)
Eventually you'll be able to construct a PimoroniI2C
Note: This PimoroniI2C
class differs from machine.I2C
since it's a direct port of the I2C
class used to run out breakouts in C++. Interop may be possible at some point in the future but please understand that we are not raving lunatics and are making these odd, against-the-grain design choices because we want to re-use the C++ drivers in MicroPython.
Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15
Published by Gadgetoid over 3 years ago
Extends the fixes for class constructors in v0.1.7 to SPI breakouts.
Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15
Published by Gadgetoid over 3 years ago
pot = BreakoutPotentiometer(sda=4, scl=5)
enc = BreakoutEncoder(sda=4, scl=5)
Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15
Published by Gadgetoid over 3 years ago
More breakouts:
Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15
Published by Gadgetoid over 3 years ago
Breakout bonanza!
Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15
Published by Gadgetoid over 3 years ago
Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15
Published by Gadgetoid over 3 years ago
Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15
Published by Gadgetoid over 3 years ago
clear
isn't mapped to init
Build against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15
Published by Gadgetoid over 3 years ago
Fixes the backlight pin for Pico Display.
⚠️ Note: Breaks backlight control on Round LCD, but this needs some work to differentiate between different SPI slot CS and BL pins.
Note: This release should also include the MicroPython USB suspend fix: https://github.com/micropython/micropython/commit/ca3d51f12206a88463f2b2a2d27756a1b519cb6a
Published by Gadgetoid over 3 years ago
This version should build against mainline MicroPython, reducing any core differences between our .uf2 and MicroPython's own builds to zero. At least insofar as we keep up a relatively regular release schedule.
Includes a fix for PicoDisplay.text
to throw a TypeError
when given a non-string value to display, instead of hard-locking the Pico.
Includes support for our upcoming ST7789-powerd 240x240 pixel (ostensibly) Round LCD.
Published by Gadgetoid over 3 years ago
This is 0.0.8 but - hopefully - with ulab
.