Phil Howard
d20af57dda
qrcode: Add to regular MicroPython build
2022-03-11 12:55:34 +00:00
Phil Howard
89172578ac
qrcode: Bind ECC and Mask controls
2022-03-11 12:52:29 +00:00
Phil Howard
087fd70276
Add QRCode MicroPython module
2022-03-11 12:52:29 +00:00
Phil Howard
2fd0330f63
CI: Move modules_py copy to CMake
2022-03-11 09:24:54 +00:00
helgibbons
dae16ea777
Update README.md
2022-03-08 17:47:10 +00:00
helgibbons
117c842fc0
Update README.md
2022-03-08 17:39:53 +00:00
Hel Gibbons
b01afbaac8
Update README.md
2022-03-08 17:36:35 +00:00
Hel Gibbons
613625776b
Update README.md
2022-03-08 17:28:57 +00:00
helgibbons
6d1a902adc
Update README.md
2022-03-08 17:25:46 +00:00
helgibbons
a5451f726f
Update README.md
2022-03-08 17:23:30 +00:00
Phil Howard
cbf330a1c7
Badger2040: Drop from regular MicroPython build
2022-03-04 15:27:28 +00:00
Phil Howard
e62b3a8fc8
Badger2040: Move assets & builtin tooling to examples dir
2022-03-04 15:26:00 +00:00
Phil Howard
e096e57566
Badger2040: Add missing boot.py
2022-03-04 11:32:11 +00:00
Phil Howard
e8d6d5930f
Badger2040: Rename e-reader and checklist to match builtins
2022-03-04 11:13:51 +00:00
Phil Howard
ef72098949
Badger2040: Build assets from source + CMake builtin copy
2022-03-04 11:06:42 +00:00
Philip Howard
273ca5c56d
Merge pull request #252 from pimoroni/badger2040-support
...
Support for Badger 2040
2022-02-25 16:25:22 +00:00
Phil Howard
f90559ed41
Badger2040: Add support for colour inverted mode
2022-02-25 14:49:28 +00:00
Phil Howard
169e332917
Badger2040: Add Medium speed, drop spicy super turbo
2022-02-25 13:37:35 +00:00
Phil Howard
2f8603e6b3
Badger2040: Add MicroPython README
2022-02-25 11:08:32 +00:00
Phil Howard
40616f9795
Badger2040: Attempt to power off on soft reset
2022-02-25 11:08:32 +00:00
Phil Howard
6585d6a670
MicroPython: Add missing Pico Graphics to LCD breakouts
2022-02-25 11:08:32 +00:00
Phil Howard
079e2397bf
Badger2040: Build badgerOS
2022-02-25 11:08:32 +00:00
ZodiusInfuser
c9bf201ff2
Added battery level example
2022-02-25 11:08:32 +00:00
Phil Howard
2c27296cc4
Badger2040: Add image & icon support
2022-02-25 11:08:32 +00:00
ZodiusInfuser
a346d4f2cf
Exposed text measure to MP and added Checklist example
2022-02-25 11:08:32 +00:00
Phil Howard
2820b62e8c
Badger2040: Fix MicroPython binding for led
2022-02-25 11:08:32 +00:00
Phil Howard
6ff5c39c1b
Badger2040: Bugfixes, danger LUTs, examples
2022-02-25 11:08:32 +00:00
Phil Howard
183dd5f8cb
Badger2040: Add text rotation to MicroPython
...
Bonus: Make rotation and scale arguments optional.
2022-02-25 11:08:32 +00:00
Phil Howard
1af63e583e
Badger2040: Add WIDTH/HEIGHT constants
2022-02-25 11:08:32 +00:00
Phil Howard
af230b5fd5
Badger2040: Refactor to fix MicroPython issues
...
Move busy wait logic into MicroPython bindings so that MICROPY_EVENT_POLL_HOOK can be called.
2022-02-25 11:08:32 +00:00
Phil Howard
5b084c1b9a
Badger2040: Add Fast/Slow LUTs, bugfix and tinkering helpers
2022-02-25 11:08:32 +00:00
Phil Howard
72d361fa74
Badger2040: Add text functions and input
2022-02-25 11:08:32 +00:00
Phil Howard
46d54072ce
Badger2040 MicroPython bindings
2022-02-25 11:08:32 +00:00
ZodiusInfuser
4b96817616
Possible fix for display glitch after first program run
2022-02-22 11:00:02 +00:00
ZodiusInfuser
e4afa6b6f2
Possible fix for display glitch after first program run
2022-02-14 12:56:40 +00:00
Philip Howard
ab602135b6
Merge pull request #232 from waveform80/rgbgrbrg
...
Fix ordering of tuple returned by WS2812.get
2022-01-25 11:10:49 +00:00
Philip Howard
9c05e69573
Merge pull request #235 from mozz100/patch-1
...
Fix "repeat_time" docs in README
2022-01-25 11:01:29 +00:00
Philip Howard
fcf7b47c31
Merge pull request #237 from pimoroni/patch-plasma-update
...
Plasma/MP: bind update method for #236
2022-01-25 10:56:13 +00:00
Philip Howard
553f3dee60
Merge pull request #174 from pimoroni/driver/scd4x
...
Driver for SCD4X series CO2 sensors
2022-01-25 10:29:28 +00:00
Phil Howard
52df22a16a
Plasma/MP: bind update method for #236
2022-01-07 16:04:46 +00:00
Richard Morrison
aea0756fb8
Update README.md
...
Fix documentation around `Button` class's `repeat_time` behaviour.
2022-01-04 22:09:38 +00:00
Dave Jones
1a66c9f6d6
Fix ordering of tuple returned by WS2812.get
...
(and types of numbers returned by both WS2812.get and APA102.get)
2021-12-23 00:39:22 +00:00
Hel Gibbons
fe80fb4788
tweak resources links
2021-12-21 14:51:06 +00:00
Phil Howard
6d6803612a
Add SCD41 MicroPython bindings
2021-12-16 11:39:34 +00:00
Philip Howard
c322717eb2
Merge pull request #193 from pimoroni/pure-cpp-i75
...
Pure C++ HUB75 example
2021-12-08 15:25:53 +00:00
Phil Howard
556d8cb57d
HUB75: Add expansion and feature pins
2021-12-06 14:37:04 +00:00
Phil Howard
580d8cf7a2
Plasma: Add WS2812 W suppot for #220
2021-12-03 10:50:06 +00:00
Phil Howard
1bb4383074
HUB75 Perf, C++ scrolling text, docs
2021-12-02 12:41:30 +00:00
Phil Howard
4dc3f9b9c4
HUB75 Scrolling wavy text and clock demo
2021-12-01 21:57:40 +00:00
Phil Howard
4d33649cd2
HUB75: More rational DMA/PIO setup/teardown, fixes reset bug
...
Defensively tear down DMA/PIO so it's in a known good state upon (soft)reset.
Issue was a race condition with DMA interrupts firing and not being achknowledged, leaving a stuck raised IRQ.
The blocking wait for DMA transactions also exacerbated this, turning a borken DMA interrupt and blank screen into an unrecoverable hardlock.
...not that the blank screen was recoverable without a soft reset anyway!
2021-11-25 17:52:44 +00:00
Phil Howard
e09ff78351
HUB75 Strobe invert and larger panel chaining support
2021-11-24 21:36:58 +00:00
Phil Howard
d4bf69324f
HUB75 tidyup, examples
2021-11-23 13:58:34 +00:00
Phil Howard
c07567f922
HUB75 Panel Types for FM6126A setup, fixes for 32x32
2021-11-23 11:29:41 +00:00
Phil Howard
eed7992127
HUB75 Fix intermittent display corruption issue
...
The FM6126A register write was causing some weirdness on soft reset where the pin state wasn't predictable.
Have twiddled some pins at startup to ensure everything works as expected.
Add set_hsv and set_all_hsv (since setting individual pixels with hsv is S L O W)
Made "flip()" blocking, it was easy to accidentally get a little tearing.
2021-11-22 16:34:56 +00:00
Phil Howard
66d25d2e9c
HUB75 Prevent stuck row on soft reset
...
TODO:
* Move this into drivers/ for C++ use too.
* Display still goes mighty weird sometimes!
2021-11-22 15:22:37 +00:00
Phil Howard
0e8c1228af
HUB75 MicroPython DMA and PIO
...
Switch MicroPython HUB75 driver over to DMA/PIO.
TODO:
* Move this into drivers for C++ use too
* Fix hitting "Stop" in Thonny causing rows to stick on the display (this is bad, and should not happen)
* Fix "Stop -> Start" in Thonny causing weird display issues (it's not memory offets, maybe DMA/PIO issues?)
2021-11-22 14:12:18 +00:00
Edd Hurst
47259c55e8
Fix documentation examples setting RGB LED
...
Update the examples using set_led function and replacing to use set_rgb
Fixes #221
2021-11-21 14:05:12 +00:00
Phil Howard
01f546aaf1
HUB75 MicroPython bindings
2021-11-18 12:51:43 +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
3c57cbcdef
Merge pull request #208 from pimoroni/picowireless-ppwhttp
...
PicoWireless: move HTTP code to ppwhttp library
2021-10-06 11:12:13 +01:00
Phil Howard
71058bca1e
PicoWireless: use strnlen for fwver and SSIDs
...
Avoid going through std::string and instead uses strnlen to get string length.
Prevents extra null chars leaking into the Python string.
2021-10-04 16:16:19 +01:00
ZodiusInfuser
27b74e140b
Finished drivers bindings and examples for flow sensors.
2021-09-13 21:58:11 +01:00
Phil Howard
759868e787
Python bindings & docs for ICP10125
2021-09-08 14:10:21 +01:00
ZodiusInfuser
9906fdec38
C class and MP bindings for PicoDisplay2
2021-09-08 13:56:03 +01:00
Phil Howard
5abdad05a8
Fix MicroPython alloc'd bytearray support in APA102 driver
...
A bytearray allocated in Python would point to uninitialised bytes, missing the SOF byte and brightness for APA102 pixels.
Add a blunt loop over the MicroPython buffer, calling "brightness" for each RGB element to ensure the SOF byte and brightness are initialized.
2021-08-25 22:00:12 +01:00
ZodiusInfuser
8a4c4d8af8
Exposed clear on rotary breakout
2021-08-24 15:35:14 +01:00
ZodiusInfuser
cf4b45acc7
Exposed Get to MP, and added I2C pin numbers
2021-08-24 15:21:14 +01:00
ZodiusInfuser
c8f90ea846
Changed default color order to GRB to match our strips
2021-08-23 17:18:34 +01:00
ZodiusInfuser
4976c90ab3
Updated readme with changes, and description of current sensing
2021-08-19 16:15:38 +01:00
ZodiusInfuser
7496e8c8ba
Renamed plasma mp directory to match module name
2021-08-19 15:25:12 +01:00
ZodiusInfuser
0faa312358
Updated micropython example to use working submodule
2021-08-19 15:16:40 +01:00
ZodiusInfuser
aac8c8d2fc
Test of sub module
2021-08-19 14:51:37 +01:00
ZodiusInfuser
823729dc24
Move apa and ws PIO into drivers so they can be easily used with more boards
2021-08-19 13:40:46 +01:00
ZodiusInfuser
281288a6f4
Added Dat and Clk defines
2021-08-19 12:58:13 +01:00
ZodiusInfuser
a9883788f8
Added pins for user sw and current sense
2021-08-19 12:58:13 +01:00
Phil Howard
eb91f04129
Add general purpose Analog wrapper for isense
...
Add ADC_GAIN and SHUNT_RESISTOR values to plasma for configuring Analog current sense.
2021-08-12 15:47:59 +01:00
Phil Howard
6ce80cd289
Plasma WS2812: Add RGBW and color-order support
2021-08-02 14:37:07 +01:00
Phil Howard
693e84c73d
Allow uP allocated buffer for Plasma LEDs
2021-08-02 14:37:07 +01:00
Phil Howard
59d3c91f1b
Demo and document RGBLED and Button
...
Add constants to `plasma` module for Plasma 2040 pins.
2021-08-02 14:37:07 +01:00
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
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
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
a0c2201df2
BH1745: Add I2C address constants
2021-07-30 13:46:28 +01:00
Phil Howard
b80b714c4f
BH1745 MicroPython bindings & example
2021-07-30 12:41:06 +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
Phil Howard
b4c0d78ef7
Fix RTC year argument for #176
2021-07-07 17:11:02 +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
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
225d5e024f
Append CMAKE_MODULE_PATHs to simplify micropython.cmake, drop .mk files
...
This change appends the list dir and project root dir to CMAKE_MODULE_PATH so that it doesn't need prepended to each "include" directive.
All .mk files have been deleted, since these are completely redundant.
2021-05-21 11:34:52 +01:00
Phil Howard
66f6983290
Port remaining modules to PimoroniI2C, update examples
2021-05-18 11:18:41 +01:00
Phil Howard
edf77ddb76
Add finaliser for Pimoroni I2C
...
This is the final piece of the puzzle.
Prior to this rather considerable change, Pimoroni breakouts were not de-init'ing I2C when they failed to init()
This change adds a __del__ method which cleans up the I2C instance attached to a MicroPython object.
Under the hood this calls i2c_deinit() and resets the associated pins to their default state.
This means that I2C is now cleaned up during a *soft* reset, so running a script with the wrong pins, seeing an error,
changing the pins and running it again will not result in subsequent I2C errors. Previously a hard reset was required.
To recreate on Breakout Garden run the following code:
```
from breakout_potentiometer import BreakoutPotentiometer
from pimoroni_i2c import PimoroniI2C
i2c = PimoroniI2C()
pot = BreakoutPotentiometer(i2c)
```
This will fail correctly with "Potentiometer breakout not found when initialising."
(The default pins are configured for Pico Explorer)
Now change that to the following and run again without hard-resetting:
```
from breakout_potentiometer import BreakoutPotentiometer
from pimoroni_i2c import PimoroniI2C
i2c = PimoroniI2C(4, 5)
pot = BreakoutPotentiometer(i2c)
```
This should now work, since the failed I2C instance was cleaned up.
Without this change, the second attempt would result in an inexplicable failure.
Since most? (many?) Pico users do not have a reset button, this trap requiring a hard-reset is pretty nasty and would likely have resulted in a support nightmare.
Whew.
2021-05-18 09:48:41 +01:00
Phil Howard
b2056040e8
Port Encoder and Potentiometer to Pimoroni I2C
...
Wraps just enough of Pimoroni I2C to make it work in MicroPython.
Ports Encoder and Potentiometer to use a PimorniI2C() instance in lieu of sda/scl.
2021-05-17 18:09:39 +01:00