Commit Graph

308 Commits

Author SHA1 Message Date
Mike Bell 0a11a9f555 Comment why this works 2022-03-26 12:58:36 +00:00
Mike Bell 4061b446b3 Badger2040: Make wake state access methods static 2022-03-26 12:51:55 +00:00
Mike Bell 7720bbe602 Simplify Badger Wake on the C++ side, tidy up X_to_wake on the python interface 2022-03-26 12:45:25 +00:00
Mike Bell e1a4d56993 Badger2040: Read the button state and enable 3v3 before initializing crystal 2022-03-26 11:55:56 +00:00
Mike Bell be0f1358d1 Merge remote-tracking branch 'origin/MichaelBell-battery-improvements' into battery-improvements 2022-03-25 15:35:48 +00:00
Phil Howard b497422bdb Badger2040: Remove button release wait from clear. 2022-03-25 15:13:03 +00:00
Phil Howard 75d0112421 Badger2040: Wait for buttons to be released. Rename woken. 2022-03-25 14:55:08 +00:00
Mike Bell 1f1f9b00df Badger2040: Light the act LED immediately on wake 2022-03-25 14:53:04 +00:00
Phil Howard b8d5a3db75 Badger2040: Bring back clear pressed to wake. 2022-03-25 14:25:04 +00:00
Phil Howard b1fd8936cf Badger2040: Enforce minimum update blocking time. 2022-03-25 10:57:30 +00:00
Mike Bell f332dcdf2e Remove unused clear_pressed_to_wake method 2022-03-25 01:23:17 +00:00
Phil Howard 5bd13a5cd1 Badger2040: Create badger_os utils module. 2022-03-24 23:20:46 +00:00
Mike Bell 0ab44ef10a Only record front button state at init time 2022-03-24 22:01:10 +00:00
Mike Bell a7f2014309 Add woken method 2022-03-24 21:21:20 +00:00
Mike Bell 946de6ffa2 Take Gadgetoid's proposed change, reduce magic 2022-03-24 20:49:51 +00:00
Mike Bell c41714c4c9 Actually enable 3v3 at startup 2022-03-24 00:24:26 +00:00
Mike Bell 78c11d220d Enable battery power on wake, expose pressed_to_wake on Badger object 2022-03-23 21:41:49 +00:00
Mike Bell 51b0e472e1 Add ability to halt the Badger from Micropython and get wake button presses. Change badge app to halt when image displayed 2022-03-23 00:30:07 +00:00
Phil Howard 91bbf53662 PMW3901, PAA5100: Construct correct class for secret sauce. 2022-03-18 13:34:49 +00:00
Phil Howard e83f315c29 PMW3901, PAA5100: bindings into single module for #301. 2022-03-17 14:36:38 +00:00
Phil Howard 05c370abd4 PAA5100/PMW3901 Fix default float argument bug for #228 2022-03-16 17:35:45 +00:00
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