Commit Graph

982 Commits

Author SHA1 Message Date
Phil Howard 62818a5f49 PicoGraphics: Palettes as RGB, Scanline convert with callback. 2022-06-13 20:12:03 +01:00
Phil Howard 8917505175 JPEGDEC: Add open_file. 2022-06-13 20:12:03 +01:00
Phil Howard 7f0fe44881 JPEGDEC: Move to libraries, use C++, draw into PicoGraphics. 2022-06-13 20:12:03 +01:00
Phil Howard 1a9ebb7b6e PicoGraphics: More pen conversion, better names. 2022-06-13 20:12:03 +01:00
Phil Howard 024518ed9a PicoGraphics: Don't require wordwrap. 2022-06-13 20:12:03 +01:00
Phil Howard bfea30b662 Pimoroni Bus: Allow SPIBus to take mosi arg, no backlight by default. 2022-06-13 20:12:03 +01:00
Phil Howard 4500497e3c PicoGraphics: Add get_buffer_size.
Take the guesswork out of correctly sizing a bytearray. Accepts a display and pen type.
2022-06-13 20:12:03 +01:00
Phil Howard 49b62515c2 PicoGraphicS: Hershey support, bugfixes, tidyup. 2022-06-13 20:12:03 +01:00
Phil Howard fc1561e54b PicoGraphics: Fix set_framebuffer. 2022-06-13 20:12:03 +01:00
Phil Howard b13470b4fb PicoGraphics: Add set_palette and set_font. 2022-06-13 20:12:03 +01:00
Phil Howard f5d7f34145 ulab: Fix broken submodule. 2022-06-13 20:12:03 +01:00
Phil Howard 67f1331b23 ST7789 -> PicoGraphics
* Absorb ST7735 support into the generic ST7789 driver and rename to PicoGraphics
* Delete obsolete MicroPython modules
* Refactor PicoGraphics to inherited class for each pen type
* Refactor ST7789 and ST7735 to derive from DisplayDriver
* Allow user to set pen_type in MicroPython constructor for RGB565, RGB332, P8 and P4 modes
2022-06-13 20:11:49 +01:00
Phil Howard 1a251822f5 ST7735: Update 160x80 LCD to new PicoGraphics<PenRGB565> 2022-06-13 20:11:09 +01:00
Phil Howard cf6b6e04f4 ST7789: Simplify MicroPython bindings.
Kwargs should not be used unless there are non-required arguments with default values.

Save ~290 bytes and a bunch of noisy lines of code.
2022-06-13 20:11:09 +01:00
Phil Howard 7e4725d1cd ST7789/PicoGraphics: Templated framebuffer formats. 2022-06-13 20:11:09 +01:00
Phil Howard dbed4a463f ST7789: Minor code tidyup. 2022-06-13 20:11:09 +01:00
Phil Howard 7068217ccb Fix linting error. 2022-06-13 20:11:09 +01:00
Phil Howard b66da12c1b ST7789/PicoDisplay: Update C++ examples. Rename GenericST7789 -> PicoDisplayST7789. 2022-06-13 20:11:09 +01:00
Phil Howard ae22838151 Pimoroni Bus: Tidy up. Print pins. 2022-06-13 20:11:09 +01:00
Phil Howard 13f0813d8a ST7789/PicoDisplay: Collapse make_new into one using pimoroni_bus. 2022-06-13 20:11:09 +01:00
Phil Howard 38efc7de62 MicroPython: Fix pimoroni.py 2022-06-13 20:11:09 +01:00
Phil Howard cf842d559e Badger2040: Remove deprecated modules. 2022-06-13 20:11:09 +01:00
Phil Howard 0264dddc2c Pico Explorer: Update examples for Motor, Buzzer, Button, ST7789. 2022-06-13 20:11:09 +01:00
Phil Howard 6ace09dbc3 Re-renable Pico Explorer and enable Pimoroni Bus 2022-06-13 20:11:09 +01:00
Phil Howard c13f53092d ST7789/PicoGraphics: Fix palette bugs, add reserve. 2022-06-13 20:11:09 +01:00
Phil Howard dbd716f78f Add Buzzer to Pimoroni module 2022-06-13 20:11:09 +01:00
Phil Howard 844a5af384 ST7789/PicoGraphics: Update some examples. 2022-06-13 20:11:09 +01:00
Phil Howard a483b2aad4 ST7789/PicoGraphics: Refactor for init & rotation. 2022-06-13 20:11:09 +01:00
Phil Howard ef6179e77d ST7789/PicoGraphics: Refactor & make modes more explicit. 2022-06-13 20:11:09 +01:00
Phil Howard 1cd58ed298 Remove debug print 2022-06-13 20:11:09 +01:00
Phil Howard 73f73a0ac5 Make colour truncation from 565 to 332 optional 2022-06-13 20:11:09 +01:00
Phil Howard 3f9f28c60b Add measure_text, fixed default palette init 2022-06-13 20:11:09 +01:00
Phil Howard 51ad7edb09 Prefer RGB332, add palette management functions 2022-06-13 20:11:09 +01:00
Phil Howard 7abe4aae7f ST7789: Experimental 8bit framebuffer. 2022-06-13 20:11:09 +01:00
Phil Howard 446db105f9 Tufty2040: JPEG Decode 2022-06-13 20:11:09 +01:00
Phil Howard b42425b000 Tufty2040: MicroPython bindings for ST7789Parallel. 2022-06-13 20:11:09 +01:00
Phil Howard a9eb58a3ce MicroPython: Fix Class name QSTRs. 2022-06-13 20:06:39 +01:00
Phil Howard ff5d175eb2 AS7262: Optimize function types. Saves 600 bytes. 2022-06-13 19:21:21 +01:00
Phil Howard 8d638e2744 MicroPython: Drop redundant Print. Saves 4K. 2022-06-13 18:59:51 +01:00
Philip Howard 8d329ccdd4
Merge pull request #378 from pimoroni/pcf85063a
Support for PCF85063A RTC
2022-06-13 18:41:49 +01:00
Phil Howard 8cb15d5b5c PCF85063a: Optimise functions, drop print. 2022-06-13 18:36:49 +01:00
Hel Gibbons b999b5c1e6 Linting businessbot.py 2022-05-30 17:04:10 +01:00
Hel Gibbons fe9446aea3 Linting businessbot.py 2022-05-30 17:02:27 +01:00
Hel Gibbons 3bdb313f3d Create businessbot.py 2022-05-30 16:57:32 +01:00
ZodiusInfuser df63655c76 Added MP support for rtc 2022-05-30 15:33:10 +01:00
Phil Howard 28d555fa4e Breakout RTC: Optimise required kwarg functions to positional. 2022-05-30 15:16:43 +01:00
Philip Howard 7db6d62515
Merge pull request #375 from pimoroni/experimental/build-tweaks
Customise MicroPython C++ modules per board to avoid blowing 640K binary limit on 2MB Pico boards
2022-05-27 11:56:57 +01:00
Phil Howard a860b0fba8 ulab: bump to 4.0.0 2022-05-27 11:32:55 +01:00
Phil Howard 9a494828bc CI: Customised MPY modules per-board 2022-05-27 11:32:52 +01:00
Phil Howard 5c92ac3762 ADCFFT: Use util.hpp 2022-05-27 11:04:13 +01:00
Phil Howard f7c42e90a8 ADC FFT library & MicroPython Bindings 2022-05-23 16:12:22 +01:00
Phil Howard bc0390b86c MicroPython: Use placement new to alloc classes on GC_HEAP 2022-05-23 15:34:49 +01:00
Phil Howard 0b73535ac1 ST7789: Add fixes from #344
Fix line and triangle primitives.

Rename any "x1, y1" kwargs to just "x, y" if no subsequent coordinates accepted.
2022-05-23 13:54:44 +01:00
Philip Howard db60553322
Merge pull request #327 from pimoroni/feature/merged-st7789
ST7789: Create generic display driver
2022-05-18 13:37:56 +01:00
Phil Howard 1feefde00c MicroPython: Promote machine.I2C() to PimoroniI2C.
Create a new PimoroniI2C object internally if a "machine.I2C()" object is supplied in constructors.
2022-05-18 13:20:33 +01:00
Phil Howard 7d3b48c509 MicroPython: Make Pimoroni I2C compatible with machine.I2C 2022-05-18 13:15:12 +01:00
Phil Howard c2256c481b VL53L5CX: Autoload firmware in MicroPython bindings. 2022-05-17 14:05:32 +01:00
Phil Howard aeceefea59 VL53L5CX: Sideload firmware from user-supplied .bin 2022-05-17 12:33:07 +01:00
Philip Howard 22ab2b232a
Merge pull request #355 from pimoroni/patch-pico-explorer-examples
Use I2C pins constants for #351
2022-05-16 10:37:30 +01:00
ZodiusInfuser 717ad908cb Optimized some encoder functions 2022-05-12 23:57:22 +01:00
ZodiusInfuser 51d08bebd9 Optimized most motor functions 2022-05-12 23:49:31 +01:00
Phil Howard 8e1e9df002 ST7789: Refactor and Bugfixes
* Make ST7789 accept only full config with SPI pins
* Make Generic ST7789 wrapper library handle "slot"
* Update Round LCD and 240x240 Square LCD
* Remove Python Round LCD and 240x240 LCD modules (we need the space!)
* Remove C++ Round LCD and 240x240 LCD libraries (they're a little redundant!)
* Fix garbage collected framebuffer bug in Python ST7789
* Deprecate "flip" in favour of "configure_display"
* Tidy up ST7789, remove dead/unused/commented code
2022-05-12 18:58:33 +01:00
ZodiusInfuser 305462d33c
Merge branch 'main' into motor-and-encoder 2022-05-12 17:02:50 +01:00
ZodiusInfuser 19ec07e8c6 Added encoder C++ examples 2022-05-12 16:15:40 +01:00
ZodiusInfuser 0c88f7892b Added MP encoder examples 2022-05-12 14:45:20 +01:00
ZodiusInfuser fac3e7365a Ported shim examples to C++, and tidy up 2022-05-12 13:20:52 +01:00
Phil Howard 8db8ad3140 MicroPython: Drop PicoDisplay/PicoDisplay2 modules.
Drop the deprecated PicoDisplay and PicoDisplay2 modules in favour of ST7789.

Saves ~5k.
2022-05-12 12:49:33 +01:00
Phil Howard a1f7c2fc2b ST7789: Port examples.
Update the Pico Display examples to use ST7789.

Since LED and Button input was also part of the Pico Display modules, replace with pimoroni.Button and pimoroni.RGBLED.
2022-05-12 12:45:27 +01:00
Phil Howard e870949a27 MicroPython: Add slots to pimoroni.py 2022-05-12 12:45:01 +01:00
Phil Howard 1315af4e41 PicoDisplay: Use pins for buttons.
Swap the button constants to use pins, just in case someone tries to use these with Button() or PicoZero.
2022-05-12 12:44:00 +01:00
Phil Howard 813b7a401a ST7789: Support rotation for PD and PD2. 2022-05-12 12:04:55 +01:00
Phil Howard af802c8300 Use I2C pins constants for #351 2022-05-12 10:35:35 +01:00
ZodiusInfuser 3c3a8c1752 Typo 2022-05-12 10:17:24 +01:00
Philip Howard 84b6a0c8ee
Merge pull request #347 from pimoroni/driver/vl53l5cx
Add vl53l5cx driver, MicroPython bindings and examples
2022-05-11 10:52:25 +01:00
ZodiusInfuser 59019ab850 Added MP examples for pico motor shim, and tweaked others 2022-05-10 18:36:44 +01:00
ZodiusInfuser c75b35265b Removed old motor_shim module 2022-05-10 18:35:33 +01:00
ZodiusInfuser 71f0ea76ed Further Motor documentation 2022-05-09 18:20:48 +01:00
ZodiusInfuser 3bbf733bfb Further Motor documentation 2022-05-09 18:19:48 +01:00
ZodiusInfuser 13ac475b7c Further Motor documentation 2022-05-09 18:16:41 +01:00
ZodiusInfuser 6c9f4a9235 Further Motor documentation 2022-05-09 17:26:44 +01:00
Phil Howard 85fc718268 VL53L5CX: Add object tracking MicroPython example. 2022-05-09 17:17:44 +01:00
ZodiusInfuser 7499cc0378 Further Motor documentation 2022-05-09 17:07:14 +01:00
ZodiusInfuser de0e908def Encoder readme tweaks 2022-05-09 09:58:33 +01:00
Phil Howard 8392401cf9 Badger 2040: Fix partial update hang for #348 2022-05-06 17:56:10 +01:00
ZodiusInfuser b782287c63 Added readme for encoder 2022-05-05 16:54:02 +01:00
ZodiusInfuser 71a7a80218 Finalise motor API 2022-04-29 13:02:00 +01:00
Philip Howard 2413713bb8
Merge pull request #345 from andypiper/badger-samples-docs
Updating the samples README to reflect current contents
2022-04-29 11:36:35 +01:00
ZodiusInfuser 898e4bace4 Finalised motor cluster frequency, and disabled loading zone 2022-04-29 00:09:19 +01:00
ZodiusInfuser 15e5eaa890 Finished C++ examples and tweaked MP examples 2022-04-28 21:23:18 +01:00
Phil Howard 3afead416a VL53L5CX: Bringup Motion and add example. 2022-04-28 14:38:34 +01:00
Lukáš Říha 4de8762381 fix micorpython line and triangle primitives for breakout LCDs 2022-04-28 14:32:53 +02:00
Lukáš Říha cbd28ca432 add micropython drawing primitives demo to breakout_roundlcd 2022-04-28 14:32:32 +02:00
ZodiusInfuser 415a1e559a Setup and partial implementations of C++ examples 2022-04-26 23:15:13 +01:00
ZodiusInfuser 56451bff30 Finished MP examples 2022-04-26 12:52:28 +01:00
ZodiusInfuser 0efe210c4c Added in PH_EN motor driver, and zeropoint support 2022-04-25 16:16:02 +01:00
ZodiusInfuser 7608e3f293 Encoder driver finalising 2022-04-25 12:28:42 +01:00
Andy Piper 7c47b1c53f
Updating the samples README to reflect current contents 2022-04-23 21:47:09 +01:00
ZodiusInfuser 2eb6a0cf3e Changed encoder folder and gave it a namespace 2022-04-22 16:23:45 +01:00
ZodiusInfuser ba076ccc7b Renamed Snapshot back to Capture 2022-04-22 16:06:54 +01:00
ZodiusInfuser 1bde0acbef Renamed target to setpoint to be more accurated to PID literature 2022-04-22 15:22:32 +01:00
ZodiusInfuser ae606e7bf5 Removed MP accesors to Snapshot class 2022-04-22 15:14:30 +01:00
ZodiusInfuser 652612fc31 Removed old C++ motor implementation 2022-04-22 13:59:40 +01:00
ZodiusInfuser 98c57741b6 linting fix 2022-04-21 21:22:35 +01:00
ZodiusInfuser 6b3ba659a2 Added a reactive encoder example 2022-04-21 21:14:41 +01:00
ZodiusInfuser 70d1368a2b Extended tuning examples to be general control examples 2022-04-21 17:38:37 +01:00
ZodiusInfuser c837081fe2 Added PID class and MP tuning examples 2022-04-21 16:47:37 +01:00
ZodiusInfuser 0f792c1e0b Added attrtuple for capture, and some position control examples 2022-04-20 21:59:20 +01:00
Phil Howard 02d3d853f8 VL53L5CX: MicroPython example. 2022-04-20 19:19:51 +01:00
Phil Howard 70637d0f0e VL53L5CX: MicroPython error handling and attrtuple data. 2022-04-20 19:19:40 +01:00
ZodiusInfuser 8ef0d33f0c Finalised more examples 2022-04-20 18:55:39 +01:00
Phil Howard fcd4914cbb VL53L5CX: MicroPython bindings. 2022-04-20 14:33:00 +01:00
ZodiusInfuser ae191697f2 Added a motor profiler example and finished constructor args 2022-04-20 14:26:32 +01:00
ZodiusInfuser 114c83e04e More encoder MP work 2022-04-19 20:22:35 +01:00
ZodiusInfuser 180df9e085 Merge branch 'motor-pio' into motor-and-encoder 2022-04-19 16:28:12 +01:00
ZodiusInfuser 9472a1f109 Fix for hard lock when taking many snapshots 2022-04-19 15:44:31 +01:00
Luyáš Říha 746b47a601 fix micropython breakout_roundlcd rendering of graphics primitives 2022-04-18 20:40:05 +02:00
ZodiusInfuser 90fd4b8fb9 Encoder mostly implemented, now with MP support 2022-04-17 16:16:59 +01:00
ZodiusInfuser 564fecf1de First pass at MP support 2022-04-13 20:13:27 +01:00
ZodiusInfuser 96070f61af Started on motor readme, and updated API elements accordingly 2022-04-12 17:00:39 +01:00
ZodiusInfuser 0facfaa540 Updated MP bindings to newest C++ 2022-04-11 17:59:16 +01:00
Phil Howard 9496d95ec7 Stop & reinit SCD41 to fix lockup for #338 2022-04-11 13:04:49 +01:00
ZodiusInfuser f3c0a305f2 Improvements to MotorState 2022-04-09 01:41:42 +01:00
ZodiusInfuser 7e9860e780 More mp binding and example work 2022-04-07 17:57:38 +01:00
helgibbons ac3bfa537d Update Badger readme to include bitmap fonts 2022-04-07 12:48:51 +01:00
helgibbons 6c4459701a Update Badger readme to include bitmap fonts 2022-04-07 12:45:41 +01:00
ZodiusInfuser b36993f492 First setup of motor micropython bindings 2022-04-05 20:44:03 +01:00
James Sutton 88040322da Badger 2040: Support for multiple QR codes.
Signed-off-by: James Sutton <1068763+jpwsutton@users.noreply.github.com>
2022-04-01 16:48:20 +01:00
Philip Howard dbb9a3d181
Merge pull request #332 from pimoroni/feature/unicode-ish
Fonts: Ungracefully handle accented characters.
2022-04-01 16:26:31 +01:00
Phil Howard 66039f8102 Badger 2040: Update font app. 2022-04-01 16:06:09 +01:00
Phil Howard 3b8740fab6 Bitmap Fonts: Add letter spacing. 2022-04-01 15:38:48 +01:00
Phil Howard 0d43973326 Bitmap Fonts: Refactor and support for pound/degrees. 2022-04-01 15:38:42 +01:00
Philip Howard ef32de2568
Merge pull request #319 from MichaelBell/better-list
Badger2040: Update list app to use new system
2022-03-31 23:50:18 +01:00
Philip Howard 6792f64a23
Merge pull request #328 from pimoroni/rewrite/pico-wireless
Pico Wireless - ESP32 Driver Rewrite
2022-03-31 14:07:25 +01:00
Mike Bell 8e6ad63307 Badger2040: list example now upgrades from old format 2022-03-30 22:25:39 +01:00
Mike Bell 4d67e35137 Badger2040: UART enabled build works 2022-03-30 22:23:24 +01:00
Mike Bell 16bfa467ce Reinitialize hardware after system clock change 2022-03-30 21:07:40 +01:00
ZodiusInfuser 8a36102c53 Merged in old motor implementation 2022-03-30 15:50:12 +01:00
Phil Howard 732e59b314 Pico Wireless: Driver Rewrite
* Use a single common function prototype for all (but two) commands
* Remove "last param" from every param, in favour of an "end_cmd"
* Rename "send_cmd" to "start_cmd" to better reflect what it does
* Replace hard-coded param counts with macro (sizeof(params) / sizeof(inParam))
* Eliminate common causes of bugs
* Try to document some functions
* Correct some types (wl_enc_type, peek as bool)
* Handle timeouts & sleep states
* Successful command exits sleep
2022-03-30 15:30:11 +01:00
Phil Howard 3b8dcecd8e Pico Graphics: Move bitmap fonts into generic library.
* Add bitmap font support into Badger 2040
2022-03-30 15:10:52 +01:00
Phil Howard 24819734b7 Separate Hershey Fonts into their own library. 2022-03-30 15:10:52 +01:00
ZodiusInfuser 5b46722a66 Updated Servo2040 description 2022-03-30 14:29:02 +01:00
ZodiusInfuser 1efa75a590 Renamed C++ Servo functions to match MP 2022-03-30 14:29:02 +01:00
ZodiusInfuser c5be5be759 Made calibration C++ better match MP 2022-03-30 14:29:02 +01:00
ZodiusInfuser 7f83c98968 Link fix 2022-03-30 14:29:02 +01:00
ZodiusInfuser 94bb4d3d95 Added C++ examples readme 2022-03-30 14:29:02 +01:00
ZodiusInfuser ce31f88e2d Added HEADER_I2C_PINS etc for rp application boards 2022-03-30 14:29:02 +01:00
ZodiusInfuser fe32ac8ce7 MP example tweaks 2022-03-30 14:29:02 +01:00
ZodiusInfuser e4bb26b081 Renamed LED_DAT to LED_DATA 2022-03-30 14:29:02 +01:00
ZodiusInfuser 852cfca7c5 readme fixes 2022-03-30 14:29:02 +01:00
ZodiusInfuser 93e7d476a2 Typo 2022-03-30 14:29:02 +01:00
ZodiusInfuser d47326c33e Fix some broken links 2022-03-30 14:29:02 +01:00
ZodiusInfuser a64b5bf5ac Finished off final sections of the documentation 2022-03-30 14:29:02 +01:00
ZodiusInfuser b1b111a179 Added additional constants 2022-03-30 14:29:02 +01:00
ZodiusInfuser 00408d3b2b Improved servocluster teardown 2022-03-30 14:29:02 +01:00
ZodiusInfuser 41d577f458 Finished most sections of readme off 2022-03-30 14:29:02 +01:00
ZodiusInfuser 9b66be4f3b Updated readme for Servo class 2022-03-30 14:29:02 +01:00
ZodiusInfuser 7cb12225ca Added examples readme 2022-03-30 14:29:02 +01:00
ZodiusInfuser 44412365b8 Tidying up of calibration 2022-03-30 14:29:02 +01:00
ZodiusInfuser 23bf49bdba Lint fix 2022-03-30 14:29:02 +01:00
ZodiusInfuser 09e69ff8d9 Improvements to calibration and a calib example 2022-03-30 14:29:02 +01:00
ZodiusInfuser 676c54aaed Added a servo easing example 2022-03-30 14:29:02 +01:00
ZodiusInfuser 98ccb7698d Added sensor feedback example 2022-03-30 14:29:02 +01:00
ZodiusInfuser df217b69b5 Added current meter example, + some fixes 2022-03-30 14:29:02 +01:00
ZodiusInfuser e41a8bd6e5 Added sensor reading example, with mux support 2022-03-30 14:29:02 +01:00
ZodiusInfuser 3375a9ec20 Added servo wave example 2022-03-30 14:29:02 +01:00
ZodiusInfuser cc7179d6d0 Added LED bar example and exposed servo2040 constants 2022-03-30 14:29:02 +01:00
ZodiusInfuser aee14e2d51 Added some initial Servo examples, and tweaked API 2022-03-30 14:29:02 +01:00
ZodiusInfuser 6f41834082 Various changes to handle class cleanup 2022-03-30 14:29:02 +01:00
ZodiusInfuser 77608249a6 Expanded readme TOC, and did some reordering 2022-03-30 14:29:02 +01:00
ZodiusInfuser 7ce4717684 Added main intro section for Servo readme 2022-03-30 14:29:02 +01:00
ZodiusInfuser f83521d3ff Expanded list/tuple support to more functions 2022-03-30 14:29:02 +01:00
ZodiusInfuser 2ef84ae286 Fixed a silly pointer bug 2022-03-30 14:29:02 +01:00
ZodiusInfuser e1317f432b Expanded options for enabling and disabling servos, and fixed some off-by-one errors. 2022-03-30 14:29:02 +01:00
ZodiusInfuser d96db62353 Fix for frequency changes enabling servo PWM 2022-03-30 14:29:02 +01:00
ZodiusInfuser 3e9597e186 The start of some documentation 2022-03-30 14:29:02 +01:00
ZodiusInfuser 2819fb0020 Exposed servo value loading 2022-03-30 14:29:02 +01:00
ZodiusInfuser 6fe79d4ebc Minor cleanup 2022-03-30 14:29:02 +01:00
ZodiusInfuser cf810b7b7f MP Calibrations are now copies of the servo's one, rather than references that could get GC'ed 2022-03-30 14:29:02 +01:00
ZodiusInfuser 59014f1e86 MP now supports assigning a new calibration to a servo 2022-03-30 14:29:02 +01:00
ZodiusInfuser d6811e1173 MP fixes 2022-03-30 14:29:02 +01:00
ZodiusInfuser 176362a49b Updated MP bindings to support latest servo features 2022-03-30 14:29:02 +01:00
ZodiusInfuser e07e248d9e Big refactor of clusters to reduce memory and improve usability 2022-03-30 14:29:02 +01:00
ZodiusInfuser 35bd03c02b Improved Servo constructors 2022-03-30 14:29:02 +01:00
ZodiusInfuser ec1f0a5ddc ServoCluster states are now only created for the servos actually assigned 2022-03-30 14:29:02 +01:00
ZodiusInfuser 8fc1270404 Added additional PWM/ServoCluster constructors 2022-03-30 14:29:02 +01:00
ZodiusInfuser d94a7c0718 Added set_frequency support to ServoCluster 2022-03-30 14:29:02 +01:00
ZodiusInfuser aeb9705d15 Moved common PWM and MultiPWM out of servo driver, and renamed to cluster 2022-03-30 14:29:02 +01:00
ZodiusInfuser 55cbf23f45 Function rename 2022-03-30 14:28:17 +01:00
ZodiusInfuser 5a5282f099 Improved servo limits logic 2022-03-30 14:28:17 +01:00
ZodiusInfuser d1238e802e Added frequency limits 2022-03-30 14:28:17 +01:00
ZodiusInfuser 334ff4e9f9 Added frequency adjustment to Servo 2022-03-30 14:28:17 +01:00
ZodiusInfuser 93eafc4694 All current servo functionality now micropython bindings 2022-03-30 14:28:17 +01:00
ZodiusInfuser 196a5c6111 Much code refactoring and tidy up 2022-03-30 14:28:17 +01:00
ZodiusInfuser 413ef891ce Partial hardware servo support added to MP 2022-03-30 14:28:17 +01:00
Philip Howard 7c523f82df
Merge pull request #325 from MichaelBell/improve-performance
Badger2040: system_speed call, plus performance improvements
2022-03-30 13:58:19 +01:00
Mike Bell 179796b80f Very Slow to 4MHz, fix linter error 2022-03-30 00:27:28 +01:00
Philip Howard ca39554d28
Merge pull request #318 from MichaelBell/better-help
Badger2040: Improve help, info, qrgen
2022-03-29 23:17:16 +01:00
Mike Bell b78b292ff8 Don't slow down the system clock too much at the top of launcher - there's no need to save battery if the app will switch the badger off when it's finished anyway. 2022-03-29 23:16:18 +01:00
Mike Bell c1c1b9f1bc Badger2040: Use new system speed call in examples and document it. 2022-03-29 23:16:18 +01:00
Mike Bell 9b5e4ecfac Badger2040: Add system_speed call 2022-03-29 23:16:10 +01:00
Philip Howard 9fc556d064
Merge pull request #316 from MichaelBell/earlier-power-init
Even better Badger wake handling
2022-03-29 23:12:55 +01:00
Mike Bell a22cb42813 Badger2040: List app uses items from checklist.txt again, stores hash of item list instead of a copy of the list. 2022-03-29 22:43:22 +01:00
Philip Howard ed93acdb1d
Merge pull request #308 from pimoroni/example-furtling
Add example to set RV3028 RTC breakout
2022-03-29 14:13:28 +01:00
Mike Bell 721da69adc Badger2040: Update list app to use new system 2022-03-26 19:29:24 +00:00
Mike Bell a5efdf8bae Badger2040: Improve help, info, qrgen 2022-03-26 17:33:13 +00:00
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
Philip Howard 522c83dc19
Merge pull request #313 from MichaelBell/battery-improvements
Badger2040 Micropython battery improvements
2022-03-25 16:58:33 +00:00
Mike Bell 72ff77aafa Badger2040: Sleep after writing the book, to fix possible write delay when on battery 2022-03-25 16:52:52 +00:00
Mike Bell e0e34fef42 Badger2040: Put state files in their own directory to keep things tidy 2022-03-25 16:30:06 +00:00
Mike Bell 47122d9351 Badger2040: fonts uses new framwork, clock more reactive to buttons 2022-03-25 15:58:57 +00:00
Mike Bell be0f1358d1 Merge remote-tracking branch 'origin/MichaelBell-battery-improvements' into battery-improvements 2022-03-25 15:35:48 +00:00
Mike Bell 88dd6e6e86 Badger2040: qrgen now halts 2022-03-25 15:27:37 +00:00
Phil Howard 3042191c7e Badger2040: Fix exit to launcher. 2022-03-25 15:14:34 +00:00
Phil Howard b497422bdb Badger2040: Remove button release wait from clear. 2022-03-25 15:13:03 +00:00
Phil Howard 5c2cc7ebf8 Badger2040: Improve launcher. 2022-03-25 14:55:56 +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
Mike Bell eb2e55b27c I learn how to run the linter locally 2022-03-25 14:51:23 +00:00
Mike Bell 6dee15a6fc Badger2040: ebook now uses badger_os 2022-03-25 14:46:37 +00:00
Phil Howard b85792f254 Badger2040: JSON app state. 2022-03-25 14:25:27 +00:00
Phil Howard b8d5a3db75 Badger2040: Bring back clear pressed to wake. 2022-03-25 14:25:04 +00:00
Phil Howard d3c8811656 Badger2040: Fixup examples for Act LED and A+C to exit. 2022-03-25 11:35:52 +00:00
Phil Howard a862a6d310 Badger2040: Use Act LED in Launcher 2022-03-25 11:09:44 +00:00
Phil Howard a23cc59e3c Badger2040: Use Act LED. Avoid recreating files on every load. 2022-03-25 11:09:27 +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
Mike Bell d313a9d871 Quit app on A+C pressed using an interrupt handler.
Note if apps set up their own interrupt handlers then they take precedence, but in that case the app should be responsible for quitting.
2022-03-25 01:05:55 +00:00
Mike Bell e19fe9cb73 Apparently Thonny doesn't clear blank lines on save 2022-03-25 00:29:09 +00:00
Mike Bell 994ddba0e1 Badge, image and launcher all now sleep when on battery 2022-03-25 00:26:48 +00:00
Philip Howard 938134b14e
Merge pull request #315 from pimoroni/patch-micropython-builtins
Badger2040: Fix builtin module depends typo.
2022-03-25 00:17:55 +00:00
Phil Howard 3c3a5683d9 Badger2040: Fix builtin module depends typo. 2022-03-25 00:09:14 +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 a0baae33a6 Once more with a very long line 2022-03-23 22:48:47 +00:00
Mike Bell 40d22a02ff Appease the linter 2022-03-23 22:42:46 +00:00
Mike Bell a901064259 Use halt in image app 2022-03-23 21:42:18 +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
helgibbons 640b29c046 lint RTC example 2022-03-22 09:17:16 +00:00
helgibbons fdc6d64f46 Add example to set time on RV3028 RTC 2022-03-22 09:14:02 +00:00
helgibbons 0cb0cf16bd Change BME68x pins to BG default 2022-03-22 08:33:49 +00:00
Phil Howard 249f54fae4 ST7789: Create generic display driver for #299 2022-03-21 17:02:46 +00:00
Philip Howard fa2774b114
Merge pull request #304 from samuelmcdermott/main
Conway's game of life for Badger2040
2022-03-18 16:20:41 +00:00
Phil Howard 91bbf53662 PMW3901, PAA5100: Construct correct class for secret sauce. 2022-03-18 13:34:49 +00:00
samuelmcdermott a8f03f298e add conways game of life 2022-03-17 19:10:43 +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
Zak Zebrowski 8ccfdaf5bd Badger2040: Add sleep to help and info 2022-03-16 11:48:16 +00:00
Andy Piper 122c96f4e5 flake8 format/lint 2022-03-13 20:59:57 +00:00
Andy Piper 079be62746 Fix filenames in examples README
Add formatting and info to examples README

Add user button to button test example

Add voltage comments for battery in examples
2022-03-13 17:22:59 +00:00
Phil Howard 421d1edf84 qrcode: Basic MicroPython example for PicoDisplay 2022-03-11 12:55:34 +00:00
Phil Howard d20af57dda qrcode: Add to regular MicroPython build 2022-03-11 12:55:34 +00:00
Phil Howard d3ac1b63be qrcode: Rename & improve example 2022-03-11 12:52:29 +00:00
Phil Howard 3c70a3847e qrcode: Add example to badgerOS 2022-03-11 12:52:29 +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
Philip Howard faa83986af
Merge pull request #291 from pimoroni/experiment/multi-board-ci
Build MicroPython for multiple boards
2022-03-11 12:51:50 +00:00
Phil Howard 2fd0330f63 CI: Move modules_py copy to CMake 2022-03-11 09:24:54 +00:00
Phil Howard c6debfc091 Badger2040: Fix ebook.py missing lines for #280 2022-03-10 10:37:39 +00:00
Philip Howard fe88093c30
Merge pull request #278 from lurch/patch-3
badger2040: prevent date being set to an invalid value
2022-03-09 14:17:29 +00:00
Andrew Scheller 58398f9f55 badger2040: prevent date being set to an invalid value
(by restricting the maximum number of days in a month as necessary)
2022-03-09 12:48:02 +00:00
Philip Howard 7dfd9a04b0
Merge pull request #284 from pimoroni/tweak-docs
Add Pimoroni Pico LiPo button/LED example, tweak docs
2022-03-09 12:22:45 +00:00
Philip Howard 0eddc07413
Merge pull request #275 from lurch/patch-1
badger2040: Set default clock to a valid date
2022-03-09 12:03:27 +00:00
Philip Howard a5e719ee27
Merge pull request #276 from lurch/patch-2
badger2040: Only 24 hours in a day (not 60)
2022-03-09 12:02:45 +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
helgibbons 47e1ad3ae8 Add button & LED example for Pimoroni Pico LiPo 2022-03-08 16:58:51 +00:00
Andrew Scheller 548b0dd0c0
badger2040: Only 24 hours in a day (not 60) 2022-03-06 12:04:55 +00:00
Andrew Scheller 8f10a91002
badger2040: Set default clock to a valid date
2022 isn't a leap year, so there is no 29th February!
2022-03-06 11:58:14 +00:00
Andy Piper 58a8d01be1
Trivial: fix width (298->296px) typos 2022-03-05 00:47:05 +00:00
Philip Howard 3ce347799b
Merge pull request #271 from pimoroni/patch-badger2040-examples
Badger 2040 - Improve examples
2022-03-04 17:08:49 +00:00
Phil Howard 04ff3023d9 Badger2040: Improve clock
* Toggle into time-set mode with B
* Move to date/time parts with A/C
* Change values with up/down
* Centered clock so it looks nicer
2022-03-04 16:47:07 +00:00
Phil Howard ddf5f7631e Badger2040: Use book.txt for ebook example 2022-03-04 15:42:47 +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 3756f0b707 Badger2040: Ebook font size & style controls 2022-03-04 15:25:56 +00:00
Phil Howard 4496e3e7a2 Badger2040: Image file overlay toggle 2022-03-04 14:58:52 +00:00
Phil Howard d0b52a77f1 Badger2040: List load/save 2022-03-04 14:40:09 +00:00
Philip Howard 60a9e93251
Merge pull request #263 from pimoroni/moar-badger-examples
Add simple LED example and readme tweaks
2022-03-04 13:34:46 +00:00
Hel Gibbons 7d7c4952fc Lint LED example 2022-03-04 12:34:44 +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 167cdb13f7 Badger2040: Drop redundant modules_py dir 2022-03-04 11:13:14 +00:00
Phil Howard ef72098949 Badger2040: Build assets from source + CMake builtin copy 2022-03-04 11:06:42 +00:00
helgibbons 1975b47e33 Tweak examples readme 2022-03-04 09:00:04 +00:00
Phil Howard ee9270b283 Badger2040: Fix bugs in Launcher 2022-03-01 15:55:24 +00:00
Phil Howard 6e7d8a1682 Badger2040: Allow builtin demos to be replaced 2022-03-01 15:18:40 +00:00
Hel Gibbons fbb803e9a6
Update README.md 2022-03-01 13:13:00 +00:00
Hel Gibbons d9465aadb8 Update README.md 2022-02-28 16:19:48 +00:00
Hel Gibbons 6a26aa9802 Create led.py 2022-02-28 16:16:44 +00:00
Nathan M ee12d846a1 fix custom badge file not loading correctly 2022-02-28 00:48:40 +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
Philip Howard f4c860faba
Merge pull request #251 from helgibbons/main
Add battery example for Pimoroni Pico LiPo
2022-02-25 16:24:15 +00:00
Phil Howard e280db4d0c Badger2040: Finish Help & Info 2022-02-25 16:06:52 +00:00
Phil Howard d99c7bc3cb Badger2040: Help and Info stubs, cleanup launcher icons 2022-02-25 15:46:04 +00:00
Phil Howard e44017e0a0 Badger2040: Add launcher dark mode, USER button is shift 2022-02-25 14:57:43 +00:00
Phil Howard b2fed2b6dc Badger2040: Add launcher disk usage 2022-02-25 14:49:38 +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 81395654bf Badger2040: Drop sys from badge example 2022-02-25 11:08:32 +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 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