Commit Graph

390 Commits

Author SHA1 Message Date
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
Phil Howard c748437d60 Make set_dns more idiomatic of Python
Now accepts either one or two DNS servers and uses n_args to figure out how many you supplied and pass it on.
2021-04-15 10:11:16 +01:00
Phil Howard d3829e73a8 Use tuples for IP address
Passing interchangably as int/bytes was weird, and due to Python's signedness on int resulted in a heck of a bug-hunt.

I've switched IP address to converting from/to a tuple internally, so Python code doesn't have to be weird.
2021-04-15 10:11:16 +01:00
Phil Howard 9e2f0ebf09 Fix get_data_buf to request *some* data
Uses an arbitrarily sized, dynamically alloc'd buffer. This should *probably* do the legwork to get the whole buffer and give it to Python without needing multiple calls.
2021-04-15 10:11:16 +01:00
ZodiusInfuser 6ac8ea1db0 Added set_led and is_pressed functions to PicoWireless MP 2021-04-15 10:11:16 +01:00
ZodiusInfuser 72aee2d202 Fix for string object not being identified correctly 2021-04-15 10:11:16 +01:00
ZodiusInfuser 47bfada0d9 Fixes for picowireless not showing in Micropython 2021-04-15 10:11:16 +01:00
ZodiusInfuser 971ac565dd Finished micropython bindings for current C++ class implementation 2021-04-15 10:11:16 +01:00
ZodiusInfuser d1b3e4d768 Added partial micropython bindings for C++ class implementation 2021-04-15 10:11:16 +01:00
ZodiusInfuser e5545c1c02 Added latest local code for wireless pack 2021-04-15 10:11:16 +01:00
Phil Howard 47be7e5f31 Add Python linting 2021-04-15 09:36:38 +01:00
Graeme Winter f984754b2a WIP: 5x7 font
Derived from

https://github.com/graeme-winter/rpi-pico/blob/main/font5x7/generate.py

which in turn derives the character set from

http://sdf.org/~kt8216/font5x7/unknown-small-5x7.txt

which I will properly document in a follow-up README
2021-04-15 06:10:09 +01:00
helgibbons 7245d3c47e Add Pico Lipo SHIM example 2021-04-12 17:22:42 +01:00
Graeme Winter 9477387df7 Invert y: this is now using standard definition 2021-04-10 10:42:46 +01:00
Graeme Winter d17cd858b5 Fix pixel / bitmap order in README.md
Avoid buffer overflow
2021-04-08 09:44:00 +01:00
Graeme Winter e1027353ab 🤔 original comparison did not work... 2021-04-08 08:16:47 +01:00
Graeme Winter 54c03d48dc Implementation of show_bitmap_1d() 2021-04-08 08:09:08 +01:00
Graeme Winter b7f42585fa Error handling is nice 2021-04-07 16:01:50 +01:00
Graeme Winter 3ef0ddfecc Add set_pixels() function 2021-04-07 15:42:26 +01:00
DiddyWolf d7955e9653
Fix picokeypad.clear()
Using release 0.1.1 of pimoroni-pico-micropython, the picokeypad.clear() function does not seem to work. Looking through the code, it appears that clear is actually calling init instead.
2021-04-04 10:44:24 -05:00
ZodiusInfuser 787ba585b2 Fix for MicroPython hard lock when passing in non-string object to text function 2021-03-30 18:07:43 +01:00
Phil Howard b2006878d3 Fix include paths in MicroPython modules
The ../../../pimoroni-pico path was selecting the "pimoroni-pico" directory adjacent my "micropython" directory

However I was attempting to build against one in a different parent directory.

This resulted in the MicroPython modules including the wrong (old) header and exploding.
2021-03-30 15:50:18 +01:00
ZodiusInfuser 848aa19c2c Added micropython support and example for roundlcd breakout 2021-03-30 15:15:13 +01:00
Phil Howard 051013a1b3 Improved thermometer demo colour range
* Display temp as 00.00 with floating point component
* Use the temp value to blend from a list of display colours
* Fixed slowdown bug when screen begins to scroll
2021-03-29 16:57:58 +01:00
Philip Howard 69c7183c47
Merge pull request #87 from slabua/main
Display thermo example Keep last 48 temperatures
2021-03-29 16:26:05 +01:00
Phil Howard e2cc795e66 Bump ULAB to version with micropython.mk 2021-03-29 13:51:11 +01:00
Philip Howard d88f659b29
Merge pull request #91 from helgibbons/main
Add MicroPython function reference for Pico Explorer
2021-03-29 13:47:00 +01:00
Phil Howard 4e8b2f6d1f Drop defunct font_data.cpp from usermods 2021-03-29 13:33:48 +01:00
Philip Howard 1fb7dcd358
Merge pull request #103 from pimoroni/Pinkyatacme-disp_enhance
ST7789 refactor + round LCD support
2021-03-29 13:26:53 +01:00
dsssssssss9 5a7d053c62
Create balls_demo.py example (#98)
This is adapted from the demo.py in the examples/pico_display directory.
It now displays full screen on a Pico Explorer
2021-03-29 13:24:50 +01:00
David Tillotson 43d7e65ee0 Added display.flip to the Micropython code. 2021-03-29 13:18:31 +01:00
Phil Howard 2ebad4e735 Drop redundant -D 2021-03-23 13:00:01 +00:00
Phil Howard a1125d6e2f Rename usermod.cmake files to micropython.cmake 2021-03-23 12:43:40 +00:00
Philip Howard 9eab4c3934
Merge pull request #100 from pimoroni/patch-ulab-use-upstream
Switch to upstream ulab
2021-03-22 20:48:53 +00:00
Phil Howard 675106ece4 Patch or suppress warnings
The upstream MicroPython rp2 port has re-enabled -Werror so we need to either fix warnings or,
in the case of those generated by C++/C MicroPython binding weirdness, suppress them.
2021-03-22 20:43:23 +00:00
Phil Howard 2d4354a898 Switch to upstream ulab 2021-03-22 16:51:29 +00:00
helgibbons c61937adba Add MicroPython function reference for Pico Explorer 2021-03-12 11:03:16 +00:00
Phil Howard d9a12f8509 Add ulab to included modules
This change submodules in our fork of ulab with an added usermod.cmake and adds it to the top-level usermod.cmake for our shipped modules.

It should - in theory - result in ulab being included in release builds.
2021-03-08 21:23:19 +00:00
Salvatore La Bua 13b94c59c4
Display thermo example Keep last 48 temperatures 2021-03-09 02:16:10 +09:00
Philip Howard 62b869474d
Merge pull request #69 from pimoroni/patch-bouncing-balls
Improved bouncing balls demo
2021-02-23 15:05:30 +00:00
Phil Howard e17aa01f5d Improved bouncing balls demo
Keep the bouncing balls in the court and gives balls a speed in proportion to their size. Created from code in #63

Co-authored-by: Mark Emery <mark@markemerylimited.co.uk>
2021-02-23 12:46:50 +00:00
helgibbons 5f1bc6b641 Tweaks to examples 2021-02-16 16:52:48 +00:00
helgibbons 5a6a5b42c1 Update buttons.py 2021-02-16 14:50:11 +00:00
helgibbons 5118339781 Add simple button example for Display and Explorer 2021-02-16 14:43:57 +00:00
helgibbons 8b96198604 add PWM audio example 2021-02-16 12:54:23 +00:00
helgibbons 29dd151923 add links to Display readme 2021-02-16 12:47:19 +00:00
helgibbons fcfd679e56 fix error in Display readme 2021-02-15 09:24:08 +00:00
helgibbons 15569842e8 add Explorer examples 2021-02-14 18:24:01 +00:00
helgibbons 2f69d22c99 add some more examples 2021-02-14 14:42:51 +00:00
helgibbons 8ac176fe57 fix the example, minor edits 2021-02-14 14:15:51 +00:00
Philip Howard 7c87e0c65a
Merge pull request #47 from UnfinishedStuff/main
Added Pico Scroll documentation
2021-02-12 12:46:47 +00:00
Philip Howard 890524ae9e
Merge pull request #48 from SimUKdev/patch-1
Updated demo.py with A/B/X/Y button example
2021-02-11 20:35:46 +00:00
Philip Howard 63dd3dc096
Merge pull request #50 from crispythegoat/patch-3
Syntax Error on span function
2021-02-11 20:14:09 +00:00
ZodiusInfuser 9c65df1540 Removed set_backlight from PicoExplorer, as the board does not have backlight control 2021-02-11 16:51:53 +00:00
ZodiusInfuser 85906b1059 Fix for hardlock on calling a module function prior to calling init() 2021-02-11 15:45:39 +00:00
crispythegoat 3751b3eb02
Syntax Error on span function 2021-02-09 02:21:24 +00:00
crispythegoat 06490409e7
Update README.md 2021-02-09 02:15:34 +00:00
SimUKdev d70708596e
Updated demo.py with A/B/X/Y button example
Added code to show a simple example of the on-board A/B/X/Y button press detection and displaying the result on the display, as this feature of the Pico Explorer hardware was not being demonstrated in the initial demo.py example.
2021-02-09 00:47:54 +00:00
JC fd94c82042
Initial commit of pico scroll documentation
Initial commit of pico scroll documentation
2021-02-08 22:11:53 +00:00
Philip Howard 85c524000b
Merge pull request #32 from UnfinishedStuff/main
Updated MicroPython Pico Display documentation
2021-02-08 13:32:27 +00:00
JC 4ee7250baf
Delete .keep 2021-01-30 12:24:45 +00:00
JC 0aa185cd06
Replaced rectangle.png with correct image
Old rectangle.png actually showed the circle function, because I'm an idiot.  Replaced with the correct image.
2021-01-30 12:18:56 +00:00
JC 5a61a09ef3
Inserted example images to MicroPython doc
Inserted in-line images explaining MicroPython functions to the documentation
2021-01-30 12:17:20 +00:00
JC e38cd40348
Added example images
Added example images for the Micropython Display Pack documentation
2021-01-30 12:10:21 +00:00
JC 205de2509e
Created .keep for example images 2021-01-30 12:09:38 +00:00
JC a20b516ea5
Deleted images directory 2021-01-30 12:08:02 +00:00
JC 120c799afb
Created image directory
Created image directory to hold example images
2021-01-30 12:07:38 +00:00
JC 84fd5e513f
Removed clip.jpg from text
Removed the code showing clip.jpg from the Micropython docs for the Display Pack.
2021-01-28 20:54:22 +00:00
JC 6a56c7c6e2
Deleted clip.jpg
Deleted clip.jpg in the MicroPython Pico Display documentation to relace it with a better diagram
2021-01-28 20:53:19 +00:00
JC 6003f8ee06
Update README.md
Edits for PEP8 consistency: variable casing/underlining, spacing after parameter commas.
Added method for obtaining char value.
2021-01-28 20:47:09 +00:00
Roger Thomas 24228b150f Fix typo 2021-01-28 11:39:34 +00:00
JC b59b3d2d9e
Added clip image to MicroPython pico_display docs
Updated the text and added clip.jpg to the MicroPython Pico Display docs to help communicate the use of clips.
2021-01-27 20:26:03 +00:00
JC 7192dbcb4c
Initial commit of clip.jpg
Uploaded clip.jpg, which describes the clip function more visually
2021-01-27 20:22:34 +00:00
JC 094357ef36
Added further functions
Added description of functions which were missing, and updated table of contents.
2021-01-27 20:12:37 +00:00
Philip Howard 2a7f8f4781
Documentation (#5)
* Add Pico Display README
* Add PicoGraphics README
* Add Pico Explorer README
* Pico Display Python README
* Add Pico Unicorn demo.py
* Add Pico Unicorn MicroPython docs
* Add Pico Unicorn C++ README
* Add Pico RGB Keypad README
2021-01-27 09:36:08 +00:00
Philip Howard 1a1ed988ba
Fix explorer micropython lib (#21)
* fixed explorer library, added to cmake, and added quick demo

* display status of motors during demo

* increase motor power in demo

Co-authored-by: Jonathan Williamson <jon@pimoroni.com>
2021-01-24 20:34:35 +00:00
Philip Howard 7d4ca4a86b
Graphics Enhancements (#8)
* typedef pen and constexpr create_pen for #6

* Prevent out of bounds clip permitting write outside buffer

* camelcase rect, point, and pen types

* added triangle(p1, p2, p3) and polygon(std::vector<Point> points) methods to graphics library

* change all uses of pen that were uint16_t into Pen type

* updated micropython modules to use new rect, point, pen naming

* added line(p1, p2) method to pico graphics library with faster vertical/horizontal special cases

Co-authored-by: Jonathan Williamson <jon@pimoroni.com>
2021-01-23 23:41:09 +00:00
Phil Howard f2eca450f8 Tweak demo to use display w/h and 16bit buf 2021-01-23 23:17:23 +00:00
James Sutton f913f3198b Fixing buffer in picodisplay micropython example
Signed-off-by: James Sutton <1068763+jpwsutton@users.noreply.github.com>
2021-01-23 23:17:23 +00:00
ZodiusInfuser 9a8bcc9f8a Fixed issue with clear of picoscroll not working under mpy, and added demo 2021-01-21 16:56:04 +00:00
ZodiusInfuser 5afc67f53d Added cmake file for picoexplorer mpy wrapper 2021-01-21 00:59:25 +00:00
ZodiusInfuser b2f13f103c Added cmake file for picoexplorer mpy wrapper 2021-01-21 00:56:11 +00:00
ZodiusInfuser 0e80911d13
Merge pull request #1 from pimoroni/usermod-support
Add usermod.cmake files for building against upstream usermod micropyhon usermod branch
2021-01-21 00:54:11 +00:00
ZodiusInfuser 1b2d2faad5 Added mpy wrapper for pico_explorer 2021-01-21 00:52:33 +00:00
ZodiusInfuser bccd301362
Revert "Attempt to allocate a bytearray behind the sCenes" 2021-01-21 00:36:01 +00:00
ZodiusInfuser df28d5a21c
Merge pull request #3 from pimoroni/picodisplay-bytearray-buffer
Attempt to allocate a bytearray behind the sCenes
2021-01-21 00:27:00 +00:00
Phil Howard 7f05e35622 Attempt to allocate a bytearray behind the sCenes
This rebuilds the crucial parts of MicroPython's bytearray creation and calls it quietly from inside the C-bindings, avoiding the need for a bytearray to be passed in by the user.

Whether this magically holds a reference and evades GC remains to be seen.
2021-01-20 23:46:13 +00:00
ZodiusInfuser 5f4fed5a27 Swiched picodisplay demo over to creating local frame buffer 2021-01-20 23:35:33 +00:00
Phil Howard 032d509d8e Convert . to -> mostly 2021-01-20 21:39:09 +00:00
Phil Howard 4f6691be8b Very messy attempt at using a bytearray as the buffer 2021-01-20 21:39:09 +00:00
ZodiusInfuser 84e98b7040 Completed mpy wrapper for pico_display, and included example 2021-01-20 21:05:07 +00:00
Phil Howard 2030ff54a9 Add usermod.cmake for pico_display 2021-01-20 18:21:04 +00:00
Phil Howard 9a7687fd6c Add usermod.cmake files for building against upstream usermod micropython usermod branch
Only *one* usermod directory can be specified, so the build command becomes something like:

make USER_C_MODULES=/path/to/pimoroni-pico/micropython/modules/

The `usermod.cmake` in the "modules" dir will then include all of the modules. Comment lines our here to disable them.

No need to configure anythign in `mpconfigport.h` since the defines are set by the `usermod.cmake` files.
2021-01-20 16:03:02 +00:00
ZodiusInfuser 75560ea038 Added outline of an mpy wrapper for pico_display 2021-01-20 15:59:48 +00:00
ZodiusInfuser a90edb8041 Added mpy wrapper for pico_unicorn 2021-01-19 18:46:53 +00:00
ZodiusInfuser 60c69c2a1f Added mpy wrapper for pico_scroll 2021-01-19 18:43:43 +00:00
ZodiusInfuser 7103377575 Added c++ code and mpy wrapper for pico_rgb_keypad, with examples 2021-01-19 18:40:51 +00:00