defragster
Senior Member+
Running on @KenHahn MINI adjusted to rotate(3) and pins:
#define TFT_DC 9 // 10
#define TFT_CS 10 //27
With edits printing that it is doing 100 loop updates of the 100x100 blocks per second.
That 100/sec is at default 16 MHz SPI.
At 80 MHz it jumps to 448/sec with edit in ...\libraries\ST7735_t3-dev-big-screen-t4\src\ST7735_t3.h
#define ST7735_SPICLOCK 80'000'000
//#define ST7735_SPICLOCK 40'000'000
//#define ST7735_SPICLOCK 24'000'000
//#define ST7735_SPICLOCK 16'000'000
4.5*16 is 72. Setting it to 72MHz gives only 369/sec - so 80 is workable round number. 3.69*16 would be 60 MHz.
#define TFT_DC 9 // 10
#define TFT_CS 10 //27
With edits printing that it is doing 100 loop updates of the 100x100 blocks per second.
That 100/sec is at default 16 MHz SPI.
At 80 MHz it jumps to 448/sec with edit in ...\libraries\ST7735_t3-dev-big-screen-t4\src\ST7735_t3.h
#define ST7735_SPICLOCK 80'000'000
//#define ST7735_SPICLOCK 40'000'000
//#define ST7735_SPICLOCK 24'000'000
//#define ST7735_SPICLOCK 16'000'000
4.5*16 is 72. Setting it to 72MHz gives only 369/sec - so 80 is workable round number. 3.69*16 would be 60 MHz.
Code:
elapsedMillis loopTimer;
void loop()
{
static uint32_t lpCnt = 0;
lpCnt++;
if (loopTimer >= 1000)
{
Serial.println(lpCnt);
lpCnt = 0;
loopTimer = 0;
}
{
if (!tft.asyncUpdateActive())
{
int w = random(TFT_width);
int h = random(TFT_height);
if (w >= 380)
w = 380;
if (h >= 220)
h = 220;
tft.clearChangedArea();
tft.fillRect(w, h, 100, 100, random(65535));
tft.changeAsyncClipArea();
tft.updateScreenAsync(false, true);
}
}
}
Last edited: