Wykres commitów

286 Commity (main)

Autor SHA1 Wiadomość Data
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
Phil Howard 5ca77b6e28 Cleanup RV3028 comments/whitespace 2021-05-14 13:15:39 +01:00
Phil Howard 904bf657bb Add check for valid Chip ID and fail early
Confused myself by plugging this into a BG base. It gave all the appearance of working, but the time was not counting up.
Turns out the library will happily talk to no device whatsoever and when you "set_time" it's stored in an C array and returned as if it came from the RTC.
2021-05-14 13:15:39 +01:00
ZodiusInfuser 80eddb24c7 Updated RV3028 driver to our coding style and included a standalone C example 2021-05-14 13:15:08 +01:00
Phil Howard d9d37df068 Enable stdio UART for IOE examples 2021-05-14 12:58:16 +01:00
ZodiusInfuser 524e590298 Removed old test cases for IOExpander 2021-05-14 12:41:46 +01:00
ZodiusInfuser 2f3c6fc878 Added C++ examples for IOExpander 2021-05-14 12:41:46 +01:00
ZodiusInfuser ef256e1173 Print text fix 2021-05-14 12:41:46 +01:00
ZodiusInfuser 151daf1c7b Standalone C demos for Enc and Pot 2021-05-14 12:41:46 +01:00
ZodiusInfuser e9a96ceb8a PicoExplorer C demos for Enc and Pot 2021-05-14 12:41:46 +01:00
Phil Howard fd3ef973b6 Fix MICS6814 heater enable, improve demo 2021-05-14 12:41:46 +01:00
ZodiusInfuser 41056e011d Added old pot and encoder examples (will tidy up later) 2021-05-14 12:41:46 +01:00
ZodiusInfuser 05af3e86ba Renamed IOExpander and added Pot, Enc, and MICS specific classes 2021-05-14 12:40:33 +01:00
Phil Howard b088d7286f Enable stdio UART where it's disabled 2021-05-14 10:44:12 +01:00
ZodiusInfuser c4b166d4d9 MSA301 Driver and example tweaks 2021-05-14 10:02:49 +01:00
Jonathan Williamson f211fe67e6 Added MSA301 driver, library, and example 2021-05-14 10:01:29 +01:00
Phil Howard 2b70c1c0d7 AS7262 Add C++ explorer example 2021-05-12 16:05:49 +01:00
Phil Howard c4383647c6 AS7262 tweak C++ demo 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 6afbc2e64c AS7262 driver
Co-authored-by: ZodiusInfuser <christopher.parrott2@gmail.com>
2021-05-12 16:04: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
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
Philip Howard a99be13272
Merge pull request #139 from pimoroni/example/pico-wireless-sdcard
Pico Wireless example: Serve files from SD card
2021-05-07 14:18:50 +01:00
Phil Howard 4047de13ac Fewer, faster circles in 240x240 LCD demo 2021-05-07 13:48:56 +01:00
ZodiusInfuser 0e64c5674e Removed unneeded includes 2021-05-07 13:48:56 +01:00
ZodiusInfuser 95773318d1 Added better example for LCD 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 02c5817865 Removed unneeded includes 2021-05-07 11:10:48 +01:00
ZodiusInfuser 2c2b97e0ce Added better example for LCD 2021-05-07 11:10:48 +01:00
ZodiusInfuser 2be5b11c42 Micropython bindings for small ColourLCD and ST7735 2021-05-07 11:10:47 +01:00
ZodiusInfuser ded2710f90 Micropython binding fixes and example for SGP30 2021-05-06 10:16:10 +01:00
Simon Reap 62e085e81c SGP30 driver for Raspberry Pico
Co-authored-by: ZodiusInfuser <christopher.parrott2@gmail.com>
2021-05-06 10:01:19 +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
Phil Howard 24fa369759 Pico Wireless HTTP SD Card demo 2021-05-05 17:32:35 +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
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 91bf9be9f0 IS31FL3731 for RGBMatrix5x5 and Matrix11x7
Add IS31FL3731 driver
Add RGBMatrix5x5 library and example
Add Matrix11x7 library and example

Co-authored-by: ZodiusInfuser <christopher.parrott2@gmail.com>
2021-04-22 17:29:37 +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
Phil Howard b3df1483c1 Add breakout-garden SPI slot selection for ST7789 displays
A new constructor has been added which accepts a enum type BG_SPI_SLOT which can be either:

ST7789::BG_SPI_FRONT or ST7789::BG_SPI_BACK.

This selects the correct CS/BL pins for the respective breakout-garden SPI slot.

Additionally the PWM'd backlight is turned *on* by default to avoid any confusion when the user does not set a value.
2021-04-19 17:22:56 +01:00
Phil Howard 3a080567d3 Improve RGB HTTP demo 2021-04-15 10:11:16 +01:00
Phil Howard 5fbd458749 Cheerlights example for Pico Wireless 2021-04-15 10:11:16 +01:00
Phil Howard 306877cdf5 Add RGB HTTP demo 2021-04-15 10:11:16 +01:00
Phil Howard 0703c90dea Use std::string in API 2021-04-15 10:11:16 +01:00
ZodiusInfuser 8ff49474ea Progressed on Wifi class, adding IPAddress 2021-04-15 10:11:16 +01:00
ZodiusInfuser 34a872928b Added commit warning 2021-04-15 10:11:16 +01:00
ZodiusInfuser 2c39e59215 Added secrets.h file for wireless example 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 3c66b2bc69 Fix use of private variable in round LCD demo
Fixes #116
2021-04-05 11:05:33 +01:00
Phil Howard b78f42b7d9 Add README for Pico Audio extras setup 2021-03-31 17:18:48 +01:00
Phil Howard 082d41a384 Sine waves are boring, MUSIC! 2021-03-31 17:18:41 +01:00
Phil Howard 3539762f34 Add Pico Audio Pack example 2021-03-31 13:44:33 +01:00
ZodiusInfuser 0866ade054 Created dedicated library class for round LCD breakout 2021-03-30 13:51:00 +01:00
Phil Howard 270adbcfbf Change ST7789 demo to round_demo 2021-03-29 14:26:43 +01:00
Phil Howard 879bb673f5 Drop £ from text demo
£ is not an ASCII character and resulted in out of range mystery memory garbage being displayed.
2021-03-29 13:33:48 +01:00
Phil Howard c1619de404 Update text demo to demo more chars 2021-03-29 13:33:48 +01:00
Phil Howard 31b244a43d Use both fonts simultaneously in text demo 2021-03-29 13:33:48 +01:00
Phil Howard 276528c119 Make font settable by user at runtime
This allows fonts to be hot-swapped out by calling `set_font`

Unfortunately the way fonts are currently stored limits the maximum height to 8 pixels, since that's the size of a uint8_t and the y dimension is bitwise encoded.

The width can be arbitrary, by specifying the widths and max_width (the multiplier for number of bytes per char).

Might be worth grabbing some more bits from 32blit to make this not terrible, but now a user-defined font is an .hpp and a `set_font` away.
2021-03-29 13:33:43 +01:00
Phil Howard 67b11826b7 Example/test for ST7789 displays 2021-03-29 13:18:31 +01:00
Philip Howard 292e2b52af
Merge pull request #68 from pimoroni/driver-vl53l1x
Pico driver for vl53l1x Time of Flight breakout
2021-02-23 15:15:51 +00:00
James Sutton 8383621901
Explorer tga order fix (#65)
* Fixing TGA rendering order from RGB to GBR: http://www.paulbourke.net/dataformats/tga/

Signed-off-by: James Sutton <1068763+jpwsutton@users.noreply.github.com>
2021-02-23 15:15:01 +00:00
Phil Howard 25a8c5b8eb Tweak and clean up TOF demo
* Switch to using AutoRepeat class to debounce buttons
* Read TOF sensor non-blocking to avoid stalling input
* Drop dead code
* Make mode_to_text const
* "Hold" text shows red when held
2021-02-23 11:17:14 +00:00
Simon Reap 0166208a52 Pico driver for vl53l1x Time of Flight breakout 2021-02-22 22:02:23 +00:00
Simon Reap fab47350f4 Select Explorer/Display add-ons with #define 2021-02-08 16:40:02 +00:00
Simon Reap f4c059c7c1 Smaller running counter display in example) 2021-02-08 16:15:53 +00:00
Simon Reap 990ce09b4c With repeat on +/- time keys for timer 2021-02-08 16:15:52 +00:00
Simon Reap 456b9309bd RV3028 RTC Driver and example for Raspberry Pico 2021-02-03 14:20:31 +00:00
Tim Kerby b3b8551af2 Pico Unicorn Plasma
Added plasma example for Unicorn display
2021-01-26 21:44:58 +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
ZodiusInfuser 1b2d2faad5 Added mpy wrapper for pico_explorer 2021-01-21 00:52:33 +00:00
ZodiusInfuser 5f4fed5a27 Swiched picodisplay demo over to creating local frame buffer 2021-01-20 23:35:33 +00:00
ZodiusInfuser 75560ea038 Added outline of an mpy wrapper for pico_display 2021-01-20 15:59:48 +00:00
ZodiusInfuser 7103377575 Added c++ code and mpy wrapper for pico_rgb_keypad, with examples 2021-01-19 18:40:51 +00:00
Jonathan Williamson 9b18941988 button test 2021-01-19 07:10:26 +00:00
Jonathan Williamson ded4087db4 perform updates via repeated dma transfer instead of blocking writes to the pio fifo 2021-01-19 07:09:58 +00:00
Jonathan Williamson 944355f060 updated demos/test, added clear() method to unicorn 2021-01-18 08:59:13 +00:00
Jonathan Williamson 8345197a83 add support for clipping rectangles to graphics libary, add point and rect types 2021-01-18 07:58:19 +00:00
Jonathan Williamson 5a7125f803 added copy step for embedded resources to limit symbol name length. wrapped add resource functionality into a cmake function for easy use. 2021-01-17 16:59:58 +00:00
Jonathan Williamson fb5a26d4ac remove unnecessary path qualifiers on output files 2021-01-17 16:31:23 +00:00
Jonathan Williamson 6911719183 example driver for MSA301, ability to embed an image into binary and draw it on screen 2021-01-17 16:05:28 +00:00
Jonathan Williamson b659709f5a Added audio tone and motor functions to PicoExplorer library and demo 2021-01-17 09:18:58 +00:00
Jonathan Williamson 96d702ef9a PicoExplorer library and example, basic text support for PicoGraphics 2021-01-17 07:41:25 +00:00
Jonathan Williamson cf92a8c113 Fix example speed 2021-01-16 16:41:44 +00:00
Jonathan Williamson 447eca6bb3 pico scroll library and example 2021-01-16 16:38:58 +00:00
Jonathan Williamson 97706e86df moved examples into their own directory, moved pico support code into libraries directory, fixed cmake configuration 2021-01-16 16:00:15 +00:00