261d2732f0
The ST7789's Tscycw (time between serial write clock cycles) is 16 ns. This can be found on page 44 of the datasheet I'm using: https://www.waveshare.com/w/upload/a/ae/ST7789_Datasheet.pdf (I do not know which manufacturer Pimoroni products use and if their parts might be different. But it seems like this wouldn't change.) The existing code sets the SPI baud to 16 * 1000 * 1000. But baud is Hz, not seconds. That 16 * 1000 * 1000 doesn't represent 16 ns. It represents 16,000,000 Hz. 16 ns * (1 Hz / s) = 62,500,000 Hz. This commit changes the baud from 16 * 1000 * 1000 to 62'500'000, representing ~4x speed improvement in SPI and thus ~4x frame rate improvement, since the display's frame rate is currently SPI-limited. A before & after video can be seen here: https://www.youtube.com/watch?v=n2y19TCnATo Note that also on page 44 of that datasheet Tscycr (the read speed) is only 150 ns, not 16 ns. Right now, the Pimoroni code doesn't read any values back from the ST7789 so it is safe to operate at the higher speed. Also note that the 16 * 1000 * 1000 is the requested baud. The actual baud is the closest the Pico can get, which is 15,625,000. The new requested baud of 62'500'000 results in an exact match. |
||
---|---|---|
.github/workflows | ||
common | ||
drivers | ||
examples | ||
libraries | ||
micropython | ||
.gitignore | ||
.gitmodules | ||
CMakeLists.txt | ||
LICENSE | ||
README.md | ||
pico_sdk_import.cmake | ||
pimoroni_pico_import.cmake | ||
setting-up-micropython.md | ||
setting-up-the-pico-sdk.md |
README.md
Pimoroni Pico Libraries and Examples
Welcome to the brave new world of Pico! This repository contains the C/C++ and MicroPython libraries for our range of Raspberry Pi Pico addons.
First of all you need to decide if your project is going to be done in MicroPython or using C/C++ with the Pico SDK. We have instructions for both here:
- MicroPython: The easiest way to get start, setup is a breeze! Click here to view instructions for MicroPython
- C/C++: For more advanced users that want to unleash the full power of Pico! Click here to view instructions for C/C++
Software support for our Pico range
It's very early days for Pico and we've been working our little socks off to get everything ready for launch.
Most of our Pico addons have support for both C/C++ and MicroPython but we're still catching up a little bit in places.
The table below shows the current state of compatibly and some notes to set expectations:
Product | C/C++ Library | MicroPython Library | Notes |
---|---|---|---|
Pico Explorer Base | Yes | Yes | |
Pico RGB Keypad | Yes | Yes | |
Pico Unicorn Pack | Yes | Yes | MicroPython support added in v0.0.3 Alpha |
Pico Audio Pack | Yes | No | Limited support for MicroPython planned |
Pico Scroll Pack | Yes | Yes | |
Pico Display Pack | Yes | Yes |
We will keep this information updated as things develop.
Note: It's very early days for Raspberry Pi Pico and it's likely that our libraries will undergo quite a lot of changes over the next couple of weeks as we take in feedback and expand the functionality.