Commit Graph

846 Commits

Author SHA1 Message Date
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
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
Phil Howard edf77ddb76 Add finaliser for Pimoroni I2C
This is the final piece of the puzzle.

Prior to this rather considerable change, Pimoroni breakouts were not de-init'ing I2C when they failed to init()

This change adds a __del__ method which cleans up the I2C instance attached to a MicroPython object.

Under the hood this calls i2c_deinit() and resets the associated pins to their default state.

This means that I2C is now cleaned up during a *soft* reset, so running a script with the wrong pins, seeing an error,
changing the pins and running it again will not result in subsequent I2C errors. Previously a hard reset was required.

To recreate on Breakout Garden run the following code:

```
from breakout_potentiometer import BreakoutPotentiometer
from pimoroni_i2c import PimoroniI2C

i2c = PimoroniI2C()
pot = BreakoutPotentiometer(i2c)
```

This will fail correctly with "Potentiometer breakout not found when initialising."
(The default pins are configured for Pico Explorer)

Now change that to the following and run again without hard-resetting:

```
from breakout_potentiometer import BreakoutPotentiometer
from pimoroni_i2c import PimoroniI2C

i2c = PimoroniI2C(4, 5)
pot = BreakoutPotentiometer(i2c)
```

This should now work, since the failed I2C instance was cleaned up.

Without this change, the second attempt would result in an inexplicable failure.

Since most? (many?) Pico users do not have a reset button, this trap requiring a hard-reset is pretty nasty and would likely have resulted in a support nightmare.

Whew.
2021-05-18 09:48:41 +01:00
Phil Howard b2056040e8 Port Encoder and Potentiometer to Pimoroni I2C
Wraps just enough of Pimoroni I2C to make it work in MicroPython.

Ports Encoder and Potentiometer to use a PimorniI2C() instance in lieu of sda/scl.
2021-05-17 18:09:39 +01:00
Phil Howard 77839e2a6a Tidy up constructors, drop unused variables, const single addr
Removes i2c_inst_t from constructors since it's ignored, and updated the Python bindings not to supply this argument. Instance is inferred from the supplied pins.
2021-05-17 14:50:49 +01:00
Phil Howard 445737088f Switch drivers over to I2C class, tidy up common include
Removes all driver-specific SDA/SCL pin definitions and defaults.
Pin type is "uint" everywhere, but "PIN_UNUSED" is *int*_max for MicroPython compat. That's still a lot of pins!
Adds baudrate to the I2C class, and allows a driver (like Trackball) to check the baudrate is supported
2021-05-17 11:46:12 +01:00
Phil Howard 42c7555c96 Add common I2C class
This change adds a common I2C class, gathering various I2C functions into a single point of responsibility.

It's necessary for correctly managing the I2C bus pins and state across multiple devices.
2021-05-14 23:02:38 +01:00
Phil Howard 3dfae2ed5c Add a common header for pins and settings
* Add a common/pimoroni.hpp to list default pins for various add-ons
* Move the BG SPI Slot enum here for safe keeping
* Switch all GPIO pin references to "uint" to match Pico SDK and bring back PIN_UNUSED as UINT_MAX
2021-05-14 21:55:19 +01:00
ZodiusInfuser 3e9d670298 Better solution to keywords and constructors, for SPI breakouts 2021-05-14 18:26:44 +01:00
ZodiusInfuser 1508f650b9 Fix for i2c select 2021-05-14 18:13:47 +01:00
ZodiusInfuser 1ee5101826 Fix for i2c select 2021-05-14 18:00:26 +01:00
ZodiusInfuser f2ee2a4f8d Better solution to keywords and constructors. Just for I2C for now 2021-05-14 17:14:07 +01:00
ZodiusInfuser 09fc7ca4a7 Added MP address printout for supported breakouts 2021-05-14 15:14:47 +01:00
ZodiusInfuser 8cbc290de2 Fix for keyworks not always working in MP class constructors of breakouts (and removed some whitespaces) 2021-05-14 14:30:08 +01:00
ZodiusInfuser 0a804a426b Micropython linting fixes 2021-05-14 13:15:39 +01:00
ZodiusInfuser 7886b8e78d Finished MP bindings for RV3028 and included a simple example 2021-05-14 13:15:39 +01:00
ZodiusInfuser 2be5528ec7 Partial micropython bindings for RV3028 2021-05-14 13:15:38 +01:00
Phil Howard 0c34de23f5 Tidy up include paths 2021-05-14 12:49:48 +01:00
ZodiusInfuser 707aeba5aa MP linting fix 2021-05-14 12:41:46 +01:00
ZodiusInfuser 7eb8197e45 Added micropython examples for IOExpander 2021-05-14 12:41:46 +01:00
ZodiusInfuser 370167f0f4 Renamed MICS demo file to match other breakouts 2021-05-14 12:41:46 +01:00
Phil Howard 7202926fbb Add mics6814 python demo 2021-05-14 12:41:46 +01:00
ZodiusInfuser 4b850b9290 Added micropython examples for Pot and Enc 2021-05-14 12:41:46 +01:00
ZodiusInfuser 1b860840a3 MP path fixes 2021-05-14 12:41:46 +01:00
ZodiusInfuser d4ba1d97d9 Switch C++ to use Direction enum for functions and added Direction contants to MP 2021-05-14 12:41:46 +01:00
ZodiusInfuser 4a206a9b70 Fix for set brightness not working 2021-05-14 12:41:46 +01:00
ZodiusInfuser 42f2bff6c7 Fixed pot read from returning bool to returning a float, and removed read_as_percent for read_raw 2021-05-14 12:41:46 +01:00
ZodiusInfuser d45a92fef3 Micropython bindings for IOExpander breakout 2021-05-14 12:41:46 +01:00
ZodiusInfuser 31edcf8f93 Renamed IOE's set_addr method to set_address 2021-05-14 12:41:46 +01:00
ZodiusInfuser 3b9927fbef Added initialisation check to Enc, Pot and MICS MP bindings 2021-05-14 12:41:46 +01:00
ZodiusInfuser fd38343924 Micropython bindings for MICS breakout 2021-05-14 12:41:45 +01:00
ZodiusInfuser 0ce424275f Removed some whitespaces 2021-05-14 12:41:27 +01:00
ZodiusInfuser f527b25fed Micropython bindings for Encoder and Pot breakouts 2021-05-14 12:41:23 +01:00
Philip Howard e26677f81a
Merge pull request #148 from pimoroni/patch-better-include-paths
Remove relative include paths
2021-05-14 10:36:19 +01:00
ZodiusInfuser ea460f9519 Micropython bindings and example for MSA301 2021-05-14 10:02:56 +01:00
Phil Howard 37cac5940b Remove relative include paths
This change removes file-relative include paths and adds the project root as a global include path.

* Project root added to CMakeLists.txt so that all targets can find includes
* Project root added micropython.cmake so that targets used by the MicroPython build can find includes

Note: pico-boilerplate projects must set this include path
2021-05-13 12:06:01 +01:00
Phil Howard a4b464df12 AS7262 add Pico Explorer bargraph example 2021-05-12 16:05:43 +01:00
Phil Howard ae489873ee AS7262 add set_integration_time 2021-05-12 16:04:50 +01:00
ZodiusInfuser 9cbeb79b43 Micropython linting fixes 2021-05-12 16:04:50 +01:00
ZodiusInfuser a6c738d018 Finished micropython bindings for AS7262, and added example 2021-05-12 16:04:50 +01:00
ZodiusInfuser 5af43311f4 Micropython bindings and minor tweaks for AS7262 2021-05-12 16:04:50 +01:00
Phil Howard cf8f2dfac2 Fix invalid include paths
Fixes paths that only resolve when the top-level directory is named "pimoroni-pico"
and is adjacent to the "micropython" directory when building a MicroPython release.
2021-05-12 11:46:50 +01:00
Philip Howard 5d27dbc711
Merge pull request #137 from pimoroni/driver/st7789
C++ and MP support and example for 1.3" LCD breakout
2021-05-10 08:59:19 +01:00
Phil Howard d33c0caa27 Simple example for scrolling text 2021-05-07 15:02:52 +01:00
Philip Howard 5a60c477ac
Merge pull request #121 from graeme-winter/set-pixels-as-image
Set pixels as image, add show_bitmap_1d(), show_text()
2021-05-07 14:26:33 +01:00
ZodiusInfuser 84015d7de9 ST7789 tidyup, incl. whitespace removal 2021-05-07 13:48:56 +01:00
ZodiusInfuser 7b0823d867 Fixes for python linting 2021-05-07 13:48:56 +01:00
ZodiusInfuser 16106d5596 Micropython bindings for ColourLCD and minor tweaks for ST7789, and RoundLCD 2021-05-07 13:48:51 +01:00
ZodiusInfuser 2be5b11c42 Micropython bindings for small ColourLCD and ST7735 2021-05-07 11:10:47 +01:00
ZodiusInfuser 76c0b29f8a Micropython linting fixes 2021-05-06 10:16:17 +01:00
ZodiusInfuser ded2710f90 Micropython binding fixes and example for SGP30 2021-05-06 10:16:10 +01:00
ZodiusInfuser 77ca674ac8 Micropython bindings and minor tweaks for SGP30 2021-05-06 10:01:55 +01:00
ZodiusInfuser 3f379d04e7
C++ and MP support and example for LTR559 breakout (#135)
* C driver and example for LTR559 breakout
* Micropython bindings and example for LTR559
2021-05-06 09:48:17 +01:00
ZodiusInfuser 7d3eb60b33
C++ and MP support and example for Trackball breakout (#134)
* C and Micropython bindings for trackball
* C and Micropython examples for trackball
2021-05-04 22:29:53 +01:00
ZodiusInfuser 69ba1c88ef
C++ and MP support and examples for Dotmatrix breakout (#133)
* C driver for LTP305 breakout
* Micropython bindings for LTP305 breakout
* Micropython examples for dotmatrix
* C++ examples for dotmatrix

Co-authored-by: Phil Howard <phil@gadgetoid.com>
2021-05-04 10:34:52 +01:00
helgibbons cde1b97e57 Green fixed! 2021-04-29 20:18:24 +01:00
Phil Howard 8a15da1f66 Move scroll_text, show_text, bitmap_1d and set_pixels into C++ library
Move scroll_text into the C++ library and make it support std::string.

Move show_bitmap_1d to set_bitmap_1d in the C++ library. Use it as the basis for show_text and scroll_text.

Change show_text to set_text since it does not implicitly show the result.

Add a new pico-scroll demo to show off the scrolling text functionality.
2021-04-22 20:00:25 +01:00
Phil Howard 1f4fe5c3b0 Add MicroPython bindings for RGBMatrix5x5 and Matrix11x7
Co-authored-by: ZodiusInfuser <christopher.parrott2@gmail.com>
2021-04-22 17:34:40 +01:00
Philip Howard 7776536d83
Merge pull request #126 from pimoroni/pico-wireless
C++/MicroPython Support & Examples for Pico Wireless
2021-04-22 13:40:59 +01:00
ZodiusInfuser a406bb5e11 Added final missing functions from wifi api 2021-04-20 12:05:29 +01:00
ZodiusInfuser c1d9af3628 Removed old esp32spi MP code 2021-04-19 17:19:20 +01:00
ZodiusInfuser 15ccd8f001 Added digital_read and analog_read functions 2021-04-19 16:44:11 +01:00
Graeme Winter 54e4c1c177 Add bitmap 2021-04-17 15:50:59 +01:00
Graeme Winter bde588c1fd Font bitmap 2021-04-17 15:49:28 +01:00
Graeme Winter c81b137f7b Update README 2021-04-17 15:37:13 +01:00
Graeme Winter 797f60b0f3
Restore commented out sections 2021-04-17 13:27:02 +01:00
Graeme Winter 3b8d999c15 Update character table
0-5 dice 1-6
2 x rectangle
2 x square
smile / neutral / sad / confused
top, bottom lines
2021-04-17 13:01:20 +01:00
Graeme Winter 4cafb301fe Static buffer for text show
Also fixed space assignment in font render
2021-04-17 12:08:44 +01:00
Philip Howard eee38968a5
Merge pull request #123 from helgibbons/main
Add Pico Lipo SHIM example
2021-04-16 15:54:26 +01:00
helgibbons f7977dc17c Linting battery.py 2021-04-16 10:09:40 +01:00
Graeme Winter a14c124fa1 Correction 2021-04-16 06:39:19 +01:00
Graeme Winter eb1b1b238e Implement scroll_text() 2021-04-16 06:33:39 +01:00
Graeme Winter d5e9dd001e clamg-format - new code 2021-04-16 06:13:36 +01:00
Graeme Winter 4a0523ef1e clang-format 2021-04-16 06:09:19 +01:00
Graeme Winter c58ab0e388 Doc update 2021-04-15 21:28:57 +01:00
Graeme Winter 30a17683a9 Fix working with str 2021-04-15 21:23:37 +01:00
Graeme Winter 39b88182a8 WIP but nearly there: need to resolve string vs. buffer protocol 2021-04-15 20:01:37 +01:00
Phil Howard 6167589812 Add Pico Wireless Python examples 2021-04-15 12:02:18 +01:00