pimoroni-pico/drivers
Chris Blume 261d2732f0 Improve ST7789 frame rate ~4x
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.
2021-11-11 15:36:13 -08:00
..
analog Added analog class for plasma current reading 2021-08-19 12:58:13 +01:00
as7262 Fix AS7262 constructor and example 2021-05-18 11:36:14 +01:00
bh1745 BH1745 MicroPython bindings & example 2021-07-30 12:41:06 +01:00
bme68x Added Plasma2040 example that displays data from the BME68x 2021-08-20 18:17:39 +01:00
bme280 Add MicroPython bindings for BME280 and BMP280 2021-08-02 14:20:59 +01:00
bmp280 Add MicroPython bindings for BME280 and BMP280 2021-08-02 14:20:59 +01:00
button Add RGBLED and Button libraries 2021-07-20 15:34:24 +01:00
esp32spi Added final missing functions from wifi api 2021-04-20 12:05:29 +01:00
fatfs Add support for SD over PIO SPI 2021-08-04 10:16:48 +01:00
icp10125 Python bindings & docs for ICP10125 2021-09-08 14:10:21 +01:00
ioexpander Slow set/clr_bit writes a little 2021-08-26 16:35:05 +01:00
is31fl3731 make GAMMA common 2021-09-13 17:40:51 +01:00
ltp305 Tidy up constructors, drop unused variables, const single addr 2021-05-17 14:50:49 +01:00
ltr559 Fix LTR559 duty cycle 2021-07-30 13:30:42 +01:00
msa301 Tidy up constructors, drop unused variables, const single addr 2021-05-17 14:50:49 +01:00
plasma make GAMMA common 2021-09-13 17:40:51 +01:00
pmw3901 Finished drivers bindings and examples for flow sensors. 2021-09-13 21:58:11 +01:00
rgbled make GAMMA common 2021-09-13 17:40:51 +01:00
rv3028 Tidy up constructors, drop unused variables, const single addr 2021-05-17 14:50:49 +01:00
sdcard Add support for SD over PIO SPI 2021-08-04 10:16:48 +01:00
sgp30 Tidy up constructors, drop unused variables, const single addr 2021-05-17 14:50:49 +01:00
st7735 Fix Pico Explorer SPI for #162 2021-06-05 19:06:11 +01:00
st7789 Improve ST7789 frame rate ~4x 2021-11-11 15:36:13 -08:00
trackball Tidy up constructors, drop unused variables, const single addr 2021-05-17 14:50:49 +01:00
vl53l1x Remove unecessary manual conversion to byte arrays 2021-05-17 16:05:09 +01:00
CMakeLists.txt Merge pull request #183 from pimoroni/driver/icp10125 2021-11-09 17:02:50 +00:00