Commit Graph

469 Commits

Author SHA1 Message Date
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
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