Commit Graph

846 Commits

Author SHA1 Message Date
Phil Howard 27d571b473 PicoGraphics: Tidy up dithering. 2022-06-14 15:06:44 +01:00
Phil Howard b9ca8ec779 PicoGraphics: Add load_spritesheet. 2022-06-14 14:15:27 +01:00
Phil Howard eb303ae811 PicoGraphics: Integer sprite scaling. 2022-06-14 13:28:27 +01:00
Phil Howard 6a3ba0d421 MicroPython: Shim MP_REGISTER_MODULE for >1.18 compat.
MicroPython has changed MP_REGISTER_MODULE to use only *two* args and now runs the preprocessing stage on files before running makemoduledefs.py.

This change avoids the build exploding, since the new regex matches the last two args as a single argument and generates a malformed module defs include.

The pattern here exploits the fact that 1.18 and below do not preprocess files, so *both* MP_REGISTER_MODULE lines are included in the source, but *only* the three arg version is matched by regex.

In >1.18 the files will be processed and the three arg version removed before makemoduledefs.py processes it.
2022-06-14 12:08:47 +01:00
Phil Howard e63a0e7da7 AS7262: Update MicroPython example. 2022-06-13 20:17:59 +01:00
Phil Howard 5d7113e8c9 PicoGraphics: Basic 128x128 RGB332 spritesheet support. 2022-06-13 20:12:03 +01:00
Phil Howard 24f4b6fc83 MicroPython: Drop crummy PicoSystem module.
Saves about 1.5k.
2022-06-13 20:12:03 +01:00
Phil Howard c66a590142 Tufty2040: Solarized example. 2022-06-13 20:12:03 +01:00
Phil Howard 03dc1e9941 PicoGraphics: Support sensible default rotations.
Rotate Tufty to 180 degrees by default.
Rotate Pico Display to 270 degrees by default.
2022-06-13 20:12:03 +01:00
Phil Howard 582c67570a PicoGraphics: Refactor pen types into their own cpp files. 2022-06-13 20:12:03 +01:00
Phil Howard 2419f0ef45 PicoGraphics/JPEGDEC: RGB332 per channel fast dither. 2022-06-13 20:12:03 +01:00
Phil Howard 602d1b41dd PicoGraphics: Attempt at dither and scanline interrupts.
Currently both unused and both very slow.

Dither may only be feasible for <=8 colour displays.

JPEGDEC will dither to 4-bit greyscale quite happily.
2022-06-13 20:12:03 +01:00
Phil Howard 656d69399a JPEGDEC: Fix dither buffer size 2022-06-13 20:12:03 +01:00
Phil Howard d2b065d2da JPEGDEC: Use 4-bit dither. 2022-06-13 20:12:03 +01:00
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