DyadyaGenya
Member
Доброго времени суток. Мучаюсь с экраном на ST7735. Использую библиотеку Adafruit_ST7735
Появилась одна проблема и одна хотелка.
Проблема: по идее за заливку цветом отвечает параметр:
Белый и черный получаются без проблем. Зеленый тоже. Но вот синий, красный и ещё несколько из библиотеки выводятся с ошибкой. Их всего-то 7 доп цветов:
При этом если делать инициализацию экрана, то там нормально отрабатывает только зеленый и черный. Правда констант не много используются:
Сама инициализация:
Поэтому хотелось бы понять, как правильно выводить цвета в обоих случаях и где и как их можно добавить?
Хотелка: Возможно я не прав, и не понимаю алгоритм работы экрана. В моем понимании, грубо, чтобы вывести текст сперва экран запускается белым, затем инициализируется с каким-то цветом, а когда выводится текст, то делается ещё одна заливка. Нельзя ли как-то сразу запускать с каким-то цветом? И вывод текста как-то делать без заливки, а используя цвет инициализации. Хотя не уверен, чем они отличаются. Но может так быстрее будет выводится текст?
Появилась одна проблема и одна хотелка.
Проблема: по идее за заливку цветом отвечает параметр:
Код:
tft.fillScreen(ST77XX_BLACK);
Код:
// Some ready-made 16-bit ('565') color settings:
#define ST7735_BLACK ST77XX_BLACK
#define ST7735_WHITE ST77XX_WHITE
#define ST7735_RED ST77XX_RED
#define ST7735_GREEN ST77XX_GREEN
#define ST7735_BLUE ST77XX_BLUE
#define ST7735_CYAN ST77XX_CYAN
#define ST7735_MAGENTA ST77XX_MAGENTA
#define ST7735_YELLOW ST77XX_YELLOW
#define ST7735_ORANGE ST77XX_ORANGE
Код:
// some flags for initR() :(
#define INITR_GREENTAB 0x00
#define INITR_REDTAB 0x01
#define INITR_BLACKTAB 0x02
#define INITR_18GREENTAB INITR_GREENTAB
#define INITR_18REDTAB INITR_REDTAB
#define INITR_18BLACKTAB INITR_BLACKTAB
#define INITR_144GREENTAB 0x01
#define INITR_MINI160x80 0x04
#define INITR_HALLOWING 0x05
Код:
tft.initR(INITR_REDTAB); // Init ST7735S chip, green tab
Хотелка: Возможно я не прав, и не понимаю алгоритм работы экрана. В моем понимании, грубо, чтобы вывести текст сперва экран запускается белым, затем инициализируется с каким-то цветом, а когда выводится текст, то делается ещё одна заливка. Нельзя ли как-то сразу запускать с каким-то цветом? И вывод текста как-то делать без заливки, а используя цвет инициализации. Хотя не уверен, чем они отличаются. Но может так быстрее будет выводится текст?