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