Adafruit рисование шкалы

Я чуть переделал код - подключил библиотеку TFT из стандартной поставки Arduino IDE.

//#include <Adafruit_GFX.h>
//#include <Adafruit_ST7735.h>
#include <TFT.h>
#include <SPI.h>
//#include "SFRegular10pt7b.h"


#define TFT_CS        10
#define TFT_DC         9 
#define TFT_RST        8
// Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
TFT tft = TFT(TFT_CS, TFT_DC, TFT_RST);

и измерил время отрисовки:
шаг 1 пиксель - 5380 мкс,
шаг 2 пикселя - 8070 мкс,
шаг 4 пикселя - 13450 мкс.
итого - 2690 на перерисовку одного битмапа. Это примерно 220 тактов CPU на пиксель, 110 тактов SPI на пиксель или 55 тактов SPI на байт. Т.е. раз в 6 ниже теоретического минимума.
Но, учитывая, что на отрисовку расходуется 5 мс, а на паузу между отрисовками 50 мс, попытки что-то оптимизировать мне представляются не слишком актуальными.

1 лайк

После того как я добавил текст и еще один статичный битмап снова появляются моментами глитчи и бывает застывает прогресс бар.