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
2e92f85588
Badger2040: Bump mp flash to 1m
2022-02-25 11:08:32 +00:00
ZodiusInfuser
7df528030f
Added examples readme
2022-02-25 11:08:32 +00:00
Phil Howard
705a4de2fc
Badger2040: Sync badge from beta build
2022-02-25 11:08:32 +00:00
Phil Howard
b92eb61d0d
Badger2040: Sync checklist from beta build
2022-02-25 11:08:32 +00:00
Phil Howard
fa775ee196
Badger2040: Monkey-patch MicroPython flash size
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
Phil Howard
2756860090
Badger2040: Launcher tweaks
2022-02-25 11:08:32 +00:00
Phil Howard
f2f3e065d5
Badger2040: Tweak examples
2022-02-25 11:08:32 +00:00
ZodiusInfuser
57cd178956
Made menu in font.py a bit bigger
2022-02-25 11:08:32 +00:00
ZodiusInfuser
6187caa4fb
Added no battery setting
2022-02-25 11:08:32 +00:00
Phil Howard
b357eef88a
Badger2040: Image help text and default unpack.
2022-02-25 11:08:32 +00:00
Phil Howard
64cbee7d2b
Badger2040: Add battery status to launcher
2022-02-25 11:08:32 +00:00
Phil Howard
465f5e4c4d
Badger2040: Add image example, update convert.py
2022-02-25 11:08:32 +00:00
ZodiusInfuser
c9bf201ff2
Added battery level example
2022-02-25 11:08:32 +00:00
Phil Howard
5b791caee1
Badger2040: Add image to badge
2022-02-25 11:08:32 +00:00
ZodiusInfuser
74d004b939
Removed print statement
2022-02-25 11:08:32 +00:00
ZodiusInfuser
826a8f2406
Added a fonts example
2022-02-25 11:08:32 +00:00
ZodiusInfuser
5b3d9ce046
Badge bugfix
2022-02-25 11:08:32 +00:00
ZodiusInfuser
73839a4ee9
Added badge example
2022-02-25 11:08:32 +00:00
Phil Howard
2efd7b9655
Badger2040: Fix examples & prep for baking
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
a5485862af
Fix for quotation marks not actually showing
2022-02-25 11:08:32 +00:00
ZodiusInfuser
eb8fcda727
Added working e-reader example
2022-02-25 11:08:32 +00:00
ZodiusInfuser
3f1ed1e2db
Bug fixes to Checklist
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
a4f7d05fe5
Badger2040: Move startup block on held buttons to launcher.py
...
Blocking on held buttons is bad for MicroPython, since it makes nothing happen on startup-
We need the button to be held but are waiting for a button release after some arbitrary amount of time.
Additionally running code while holding down a button would block normal MicroPython event execution and crash the host's USB bus quite severely.
2022-02-25 11:08:32 +00:00
Phil Howard
167bfbb781
Badger2040: Lint examples, launcher tweaks
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
5a0fe00149
Badger2040: Fix typo, comment out explodey wfi
2022-02-25 11:08:32 +00:00
Phil Howard
3bd875c63d
Badger2040: Test code
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
helgibbons
45927eb134
lint battery.py
2022-02-17 11:56:09 +00:00
helgibbons
14cb47b4bb
Add Pimoroni Pico LiPo battery example
2022-02-17 11:16:49 +00:00
ZodiusInfuser
e4afa6b6f2
Possible fix for display glitch after first program run
2022-02-14 12:56:40 +00:00
Phil Howard
f763bae3f4
SCD41: Add i2c pins to MicroPython example
2022-01-27 11:13:22 +00:00
Sam Nicholls
7ee3d74a4a
Clarify BME68X humidity and gas resistance units
2022-01-25 22:33:04 +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
Philip Howard
33ca1b6e22
Merge pull request #226 from pimoroni/patch-ws2812-rgbw
...
Plasma: Add WS2812 W suppot for #220
2021-12-08 15:22:30 +00:00
Phil Howard
556d8cb57d
HUB75: Add expansion and feature pins
2021-12-06 14:37:04 +00:00
helgibbons
2aace8cac9
linting examples
2021-12-05 19:57:38 +00:00
helgibbons
1c1cf528f9
Couple of festive examples for Plasma 2040
2021-12-05 19:53:45 +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
4496c25a8f
HUB75: Remove debug from clock, use only flip's implicit delay
2021-11-25 18:14:36 +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
c556391be3
HUB75 Clock example, brightness tweak
2021-11-25 16:37:46 +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
e638c8ca58
Merge pull request #211 from Gadgetoid/picosystem
...
PicoSystem: add helper module to set up PicoSystem
2021-10-06 11:57:36 +01:00
Phil Howard
6170e258f2
PicoSystem: Bat sense scaling
2021-10-06 11:38:10 +01: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
0c4be0dbb9
Merge pull request #209 from helgibbons/main
...
add Pico Explorer weather station examples
2021-10-06 11:13:28 +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
321b9ad4af
PicoSystem: Move LED after screen init
...
The screen init (C++ bindings) was trouncing the PWM setup (Python) for the RGB LED.
This is because the backlight pin (12) and LED G pin (13) share the same PWM slice.
This does not seem to affect the screen backlight functionality.
2021-10-06 11:07:56 +01:00
Phil Howard
44b45e8f00
PicoSystem: add buzzer support
2021-10-04 18:19:26 +01:00
Phil Howard
113cc7c96e
PicoSystem: add helper module to set up PicoSystem
...
Sets up:
* Buttons
* RGB LED
* VBus detect
* Charge detect
* Battery sense
* LCD reset
* Display
TODO: audio
TODO: battery sense settings
2021-10-04 17:52:53 +01:00
Phil Howard
1bb61b2c52
PicoWireless: network scan example
...
Basic example to scan SSID networks and list them.
2021-10-04 16:20:57 +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
helgibbons
de05483ca6
linting Pico Explorer weather station examples
2021-09-30 19:05:11 +01:00
helgibbons
67a4490180
add Pico Explorer tiny weather station examples
2021-09-30 18:37:53 +01:00
Phil Howard
7772959450
PicoWireless: add TLS support to ppwhttp
...
* Add a new "connection_mode" argument to http_request. This can be TLS_MODE or TCP_MODE
* Fix a bug where assumptions about json parsing don't hold up
* Check for TCP_STATE_CLOSED and bail early from connect_to_server
2021-09-30 10:47:30 +01:00
Phil Howard
78d50c2986
PicoWireless: ppwhttp add wildcard routes
...
This slightly reckless extension to ppwhttp adds support for wildcard routes, eg:
/get_led/<int:index>
Which will serve URLs in the form:
/get_led/10
/get_led/22
etc.
The wildcard includes <type:key>, attempting to match the behaviour of Flask.
Only type "int" is supported currently.
/get_led/<index> - would set data["index"] to a string
/get_led/<int:index> - would attempt to parse the URL part to an int, and would not serve eg: /get_led/hi
See plasma_ws2812_http.py for example usage.
2021-09-29 16:27:02 +01:00
Phil Howard
b92d77a2f9
PicoWireless: handle encoding/content type better in ppwhttp
...
Uses the correct? default Content-Type and encoding for HTTP.
Parses the Content-Type header *before* decoding the content body.
Handles JSON type gracefully.
Decodes the response body accoding to the encoding header.
2021-09-29 14:09:59 +01:00
Phil Howard
eb3c8b0ebc
PicoWireless: ppwhttp fix to support JSON content type
...
This is a bit of a fudge, and was only tested against the Cheerlights API.
Detects JSON content type, parses out the content length and truncates the response body to length.
Should probably do this *before* decoding from utf-8.
Updates cheerlights.py API example to support XML, JSON and TEXT endpoints.
2021-09-29 12:47:55 +01:00
Phil Howard
9f07be90da
PicoWireless: move HTTP code to ppwhttp library
...
Creates a new ppwhttp library to hide the implementation detail of HTTP clients/servers from the examples.
Adds a new example - plasma_ws2812_http.py - showing how to expand rgb_http.py to use a WS2812 pixel strip.
Adds "secrets.py" and moves WIFI connection information there. ppwhttp will throw an error if it's missing.
2021-09-29 12:20:06 +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
90c01f613c
Pico Unicorn: Add rainbow.py example
2021-08-27 10:52:26 +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
bb23ba22db
Added C++ port of accelerometer example
2021-08-25 18:12:10 +01:00
Phil Howard
03a7cbee06
Fix speed gauge
2021-08-25 16:06:51 +01:00
ZodiusInfuser
08a54a600f
Linting fixes
2021-08-25 15:23:22 +01:00
ZodiusInfuser
9d505f208a
Added MP accelerometer example
2021-08-25 15:06:05 +01:00
ZodiusInfuser
4393372726
Linting Fixes
2021-08-24 16:10:23 +01:00
ZodiusInfuser
f92d35a014
Added I2C defines
2021-08-24 16:06:44 +01:00
ZodiusInfuser
51d4901e34
Added rotary encoder MP example
2021-08-24 16:01:51 +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
a5d9fcf48a
Renamed bme68x plasma example to Monitor
2021-08-24 11:41:56 +01:00
ZodiusInfuser
c8f90ea846
Changed default color order to GRB to match our strips
2021-08-23 17:18:34 +01:00
ZodiusInfuser
5b40899e44
Linting fixes
2021-08-23 16:30:03 +01:00
ZodiusInfuser
a98252993d
Linting fixes
2021-08-23 16:28:27 +01:00
ZodiusInfuser
88a9449e0a
Added micropython version of bme example, and backported some fixes
2021-08-23 16:21:38 +01:00
ZodiusInfuser
4976c90ab3
Updated readme with changes, and description of current sensing
2021-08-19 16:15:38 +01:00
ZodiusInfuser
41365fd89e
Updated button example for new mp
2021-08-19 15:50:16 +01:00
ZodiusInfuser
7496e8c8ba
Renamed plasma mp directory to match module name
2021-08-19 15:25:12 +01:00
ZodiusInfuser
c4e0316fd8
Linting fix
2021-08-19 15:19:01 +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
64e6d248d5
Updated rainbow example to be consistant across languages
2021-08-19 12:58:13 +01:00
ZodiusInfuser
281288a6f4
Added Dat and Clk defines
2021-08-19 12:58:13 +01:00
ZodiusInfuser
373a7df923
Linting fixes
2021-08-19 12:58:13 +01:00
ZodiusInfuser
336791ed77
Updated plasma mp examples to use user_sw and current sensing
2021-08-19 12:58:13 +01:00
ZodiusInfuser
5b27d7ac0d
Fix for "Changed rgb to use full pwm range"
2021-08-19 12:58:13 +01:00
ZodiusInfuser
2b8fbde659
Changed rgb to use full pwm range
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
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
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
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
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
0bda2abd2a
Fix AS7262 constructor and example
2021-05-18 11:36:14 +01:00
Phil Howard
66f6983290
Port remaining modules to PimoroniI2C, update examples
2021-05-18 11:18:41 +01:00