Блоки для дисплеев TFT SPI

Конструктор из блоков на базе библиотеки TFT_eSPI которая оптимизирована для контроллеров STM32, ESP8266 и ESP32.

Пользовательские блоки для вывода информации на дисплеи и индикаторы, управления тачскрином, различными клавиатурами, добавления русских шрифтов для вывода на дисплеи типа HD44780
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

Блоки для дисплеев TFT SPI

#1

Сообщение DrMario » 02.05.2020{, 13:07}

Набор блоков на базе библиотеки TFT_eSPI которая оптимизирована для контроллеров STM32, ESP8266 и ESP32.
Ссылка на источник библиотеки: https://github.com/Bodmer/TFT_eSPI
Список поддерживаемых чипов дисплеев с тачскрином и без, в том числе с параллельным интерфейсом:
ILI9341, ST7735, ILI9163, S6D02A1, ILI9486, HX8357D, ILI9481, ILI9486, ILI9488, ST7789, ST7789_2, R61581, RM68140, ST7796.
В наборе два основных блока для разных контроллеров и наличия тачскрина. При создании проектов нужно выбрать подходящий главный блок.
По умолчанию все настройки находятся в файле User_Setup.h. библиотеки TFT_eSPI и используются из этого файла.
Для контроллеров ESP достаточно внести необходимые изменения в файле User_Setup.h.
Внимание!
Перед компиляцией необходимо раскомментировать строку #include "FS.h" и вписать в первую очередь, или применять пользовательский контроллер со вписанной строкой.
Эта библиотека должна быть первой, но по непонятной причине меняется очередность.
Для более расширенных настроек, в том числе и для STM32 необходимо в файле User_Setup_Select.h. закомментировать строку #include <User_Setup.h>
и из списка раскомментировать нужный файл, например #include <User_Setups/Setup32_ILI9341_STM32F103.h> // Setup for "Blue Pill"
а все изменения делать в файле Setup32_ILI9341_STM32F103.h из каталога User_Setups.
Для подключения русских шрифтов необходимо в каталог TFT_eSPI\Fonts\GFXFF\ распаковать архив с дополнительными шрифтами, а в файл gfxfont.h добавить следующие строки:
// Cyrillic (Russian fonts)
#include <Fonts/GFXFF/rusMono13x13.h>
#include <Fonts/GFXFF/rusMonoBold13x13.h>
#include <Fonts/GFXFF/rusMono17x15.h>
#include <Fonts/GFXFF/rusMonoBold17x15.h>
#include <Fonts/GFXFF/rusSerifBold17.h>
// Additional fonts
#include <Fonts/GFXFF/battery_24x48.h>
#include <Fonts/GFXFF/Picopixel.h>
Архив со шрифтами лежит по аресу viewtopic.php?f=72&t=6388
Для физического подключения тачскрина нужно соединить выводы по следующей схеме:
T_CLK --> SCK (SPI TFT)
T_DIN --> MOSI (SPI TFT)
T_DOUT --> MISO (SPI TFT)
T_CS --> (Задается в настройках файла)
T_IRQ --> (Не задействован)
Управление подсветкой дисплея (контакт LED) нужно подключит к +3,3 или к выводу DAC ESP32 для управления яркостью.
В своих настройках для ESP32 и дисплея с тачскрином ILI9341 в файле User_Setup.h. я раскомментировал строки 188-196 и вписал следующие значения
#define TFT_MISO 19
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_CS 5 // Chip select control pin
#define TFT_DC 21 // Data Command control pin
//#define TFT_RST 4 // Контакт сброса (может подключиться к контакту RST)
#define TFT_RST -1 // Установите TFT_RST в -1, если дисплей RESET подключен к плате ESP32 RST
18.09.2020
Добавил блоки в новой редакции. Попытался максимально адаптировать библиотеку под FLProg. Огромная благодарность автору за эту возможность!
Описание внутри каждого блока. Все необходимые изменения по прежнему в файле User_Setup.h. каталога библиотеки.
По в блоках умолчанию контроллер ESP32 под дисплей ILI9341 с тачскрином.
TFT_eSPI_(Code_-_Professional).ubi
Новый редактор
(2.67 МБ) 583 скачивания
Вложения
ESP32-ILI9341 Statr.flp
Пример. Для калибровки из КОМ порта отправить calibrate
(778.25 КБ) 578 скачиваний
TFT eSPI.ubl
Конструктор из блоков
(1.05 МБ) 519 скачиваний
Последний раз редактировалось DrMario 18.09.2020{, 05:43}, всего редактировалось 2 раза.

ROSKA63
Рядовой
Сообщения: 22
Зарегистрирован: 24.11.2018{, 23:04}
Репутация: 0
Имя: Роман

Блоки для дисплеев TFT SPI

#2

Сообщение ROSKA63 » 19.07.2020{, 15:07}

Доброго времени суток уважаемый DrMario, примите огромную благодарность, от чайника в программировании, за ваш труд. Потому, как эта тема для меня особенно актуальна, а на просторах ин-нета более подробной и доходчивой информации я не нашел. Но не смотря на это у меня как то не удается их (ESP32 и ST7735 1,8"(практикуюсь пока на том, что есть и жду ILI9341 2,8")) уговорить сотрудничать. Если я правильно понял, то файл User_Setup.h. находится по пути C:\Program Files (x86)\FLProg\ideV5\portable\sketchbook\libraries\TFT_eSPI-master.
И в нем нужно раскомментировать только те строки которые относятся к ESP32 и ST7735. Я правильно понимаю :smile37:
P.S. На arduino я его(ST7735) запускал, с этим блоком, но arduino мне не хватает, да и в той теме не достаточно информации для подключения к ESP32.

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

Блоки для дисплеев TFT SPI

#3

Сообщение DrMario » 20.07.2020{, 10:49}

ROSKA63 писал(а):
19.07.2020{, 15:07}
Если я правильно понял, то файл User_Setup.h. находится по пути C:\Program Files (x86)\FLProg\ideV5\portable\sketchbook\libraries\TFT_eSPI-master.
Все верно. С дисплеем на ST7735 мне не доводилось еще работать.
В файле User_Setup.h написано, что Для платы разработки ESP32 (тестируется только с дисплеем ILI9341).

Для ESP32 попробуйте сделать такие настройки (строки 188-196), на ILI9341 все работало.
#define TFT_MISO 19
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_CS 5 // Chip select control pin
#define TFT_DC 21 // Data Command control pin
//#define TFT_RST 4 // Контакт сброса (может подключиться к контакту RST)
#define TFT_RST -1 // Установите TFT_RST в -1, если дисплей RESET подключен к плате ESP32 RST

#define TOUCH_CS 4 // Фишка выбора чипа (T_CS) сенсорного экрана

ROSKA63
Рядовой
Сообщения: 22
Зарегистрирован: 24.11.2018{, 23:04}
Репутация: 0
Имя: Роман

Блоки для дисплеев TFT SPI

#4

Сообщение ROSKA63 » 17.08.2020{, 13:50}

Доброго времени суток DrMario, с ST7735 у меня так ни чего и не получилось. Пришел дисплей на ILI9341 и все заработало! Но есть вопрос: в вашем арсенале блоков пользователя есть блок который может менять шрифт для всего экрана, а можно ли как то менять размер шрифта разных элементов? :smile37: так вся площадь экрана может быть использована более эффективно. Есть ли такая возможность? Подскажите пожалуйста.

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

Блоки для дисплеев TFT SPI

#5

Сообщение DrMario » 18.09.2020{, 05:45}

В первом сообщении добавил блоки новой редакции.

shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10.01.2020{, 00:26}
Репутация: 1
Имя: Александр

Блоки для дисплеев TFT SPI

#6

Сообщение shura2 » 03.10.2020{, 01:39}

Подскажите, а где прописывать пины для тачскрина. в настройках библиотеки tft-espi не нашел.

У меня ругается 'class TFT_eSPI' has no member named 'setTouch'. что это может быть, если примеры из библиотеки запускаются?
СпойлерПоказать
Arduino: 1.8.11 (Windows 7), Board: "ESP32 Dev Module, Disabled, Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None"

C:\Users\User\AppData\Local\Temp\flprog\pr2\pr2.ino: In function 'void setup()':

pr2:96:17: error: 'class TFT_eSPI' has no member named 'setTouch'

tft.setTouch(calData);

^

C:\Users\User\AppData\Local\Temp\flprog\pr2\pr2.ino: In function 'void loop()':

pr2:180:13: error: 'class TFT_eSPI' has no member named 'calibrateTouch'

tft.calibrateTouch(calData, TFT_MAGENTA, TFT_BLACK, 15);

^

pr2:260:24: error: 'class TFT_eSPI' has no member named 'getTouch'

pressed = tft.getTouch(&t_x, &t_y); // Нажатие будет установлено в true, если на экране есть действительное касание

^

pr2:511:39: error: 'rusMono13x13' was not declared in this scope

case 49: tft.setFreeFont(&rusMono13x13);

^

pr2:514:39: error: 'rusMonoBold13x13' was not declared in this scope

case 50: tft.setFreeFont(&rusMonoBold13x13);

^

pr2:517:39: error: 'rusMono17x15' was not declared in this scope

case 51: tft.setFreeFont(&rusMono17x15);

^

pr2:520:39: error: 'rusMonoBold17x15' was not declared in this scope

case 52: tft.setFreeFont(&rusMonoBold17x15);

^

pr2:523:39: error: 'rusSerifBold17' was not declared in this scope

case 53: tft.setFreeFont(&rusSerifBold17);

^

pr2:526:39: error: 'battery_24x48' was not declared in this scope

case 54: tft.setFreeFont(&battery_24x48);

^

pr2:529:39: error: 'Picopixel' was not declared in this scope

case 55: tft.setFreeFont(&Picopixel);

^

Multiple libraries were found for "TFT_eSPI.h"
Used: c:\Users\User\Downloads\PortableFLProg_7-0-4_Win64\ideV5\libraries\TFT_eSPI
Not used: c:\Users\User\Downloads\PortableFLProg_7-0-4_Win64\ideV5\portable\sketchbook\libraries\TFT_eSPI-master
exit status 1
'class TFT_eSPI' has no member named 'setTouch'

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10.01.2020{, 00:26}
Репутация: 1
Имя: Александр

Блоки для дисплеев TFT SPI

#7

Сообщение shura2 » 04.10.2020{, 02:48}

Запустил эту библиотеку на ili9488 c тачскрином. почему то с файлом конфигурации User_Setup.h компилироваться отказывался, заработало с цепочкой User_Setup_Select.h и Setup21_ILI9488.h и только прописав в последнем строку #define TOUCH_CS 4 // Фишка выбора чипа (T_CS) сенсорного экрана.

При этом тачскрин не заработал. перечитывание первого поста и соединение проводов по этой схеме:
T_CLK --> SCK (SPI TFT)
T_DIN --> MOSI (SPI TFT)
T_DOUT --> MISO (SPI TFT)
T_CS --> (Задается в настройках файла)
T_IRQ --> (Не задействован)
не помогло.


Нашел такой вариант подключения:
wiring_ILI9488_esp32.png
После чего всё заработало.

rogerwaters
Рядовой
Сообщения: 42
Зарегистрирован: 17.05.2019{, 18:38}
Репутация: 2
Имя: Александр

Блоки для дисплеев TFT SPI

#8

Сообщение rogerwaters » 06.10.2020{, 13:05}

:smile37: Никак не могу запустить комбинацию ILI934 и ESP32.Второй день пробую и так и сяк, но даже пример из TFT_eSPI не запускается. С другими блоками и библиотеками проблем нет.
:(

Отправлено спустя 2 часа 43 минуты 59 секунд:
:smile427: Нашел решение проблемы: нужно открыть ардуино иде ,нажать на файл, настройки и в строке "размещение папки скетчей" указать точный путь к библитеке в которой находится папка TFT_eSPI с ком.- раском.файлом User_Setup.h. Проблема может воникнуть если у вас установлены стационарная и портативная версии FlProg. Тогда ардуино иде может находить несколько библиотек и отдать предпочтение неверной.

rogerwaters
Рядовой
Сообщения: 42
Зарегистрирован: 17.05.2019{, 18:38}
Репутация: 2
Имя: Александр

Блоки для дисплеев TFT SPI

#9

Сообщение rogerwaters » 07.10.2020{, 17:16}

:smile37: Не могу понять есть ли функция автоматического затирания при выводе переменной на дисплей, например показаний часов реального времени или температуры?

us5nbq
Рядовой
Сообщения: 18
Зарегистрирован: 28.02.2019{, 20:29}
Репутация: 4
Имя: Александр

Блоки для дисплеев TFT SPI

#10

Сообщение us5nbq » 08.02.2021{, 23:13}

Ура,завелся дисплей который не заводился...еще бы блоки вывода картинки.....вобще было бы шикарно......

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Блоки для дисплеев TFT SPI

#11

Сообщение ecoins » 01.03.2021{, 00:37}

Вопросы разработчику:
Разбираюсь с TFT-дисплеями, посмотрел Ваши блоки и тоже пока остановился на библиотеке TFT__eSPI.h.
Разобрался с блоками - в целом понравились.
О проблемах. Так получается, что после настройки файла User_Setup_Select.h библиотека настроена только на один тип дисплея.
Использовать одновременно два разных дисплея проблематично.
Пробовал вынести файлы инициализации из библиотеки и настраивать вызов нужной из FLProg - пока не получилось.
Есть у меня кое-какие идеи, но получается сложно и много переделывать в основной библиотеке.
Может у кого есть идеи для преодоления проблемы одновременного применения дисплеев разных типов?

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

Блоки для дисплеев TFT SPI

#12

Сообщение DrMario » 01.03.2021{, 07:23}

ecoins писал(а):
01.03.2021{, 00:37}
О проблемах. Так получается, что после настройки файла User_Setup_Select.h библиотека настроена только на один тип дисплея.
Использовать одновременно два разных дисплея проблематично.
Для этого нужно переделывать исходную библиотеку, а из меня программист не важный

us5nbq
Рядовой
Сообщения: 18
Зарегистрирован: 28.02.2019{, 20:29}
Репутация: 4
Имя: Александр

Блоки для дисплеев TFT SPI

#13

Сообщение us5nbq » 29.03.2021{, 23:06}

Класный набор блоков,но опять больная тема:-как вывести символ "°С"?Картинку выводить научился))))...

Kolkapetkinsyn
Рядовой
Сообщения: 22
Зарегистрирован: 07.06.2018{, 12:17}
Репутация: 1
Имя: Николай

Блоки для дисплеев TFT SPI

#14

Сообщение Kolkapetkinsyn » 10.05.2021{, 15:15}

Безусловно Спасибо за блок!
Но одно но, если это блок для esp8266 какие нафиг пины 19 и 23(Понятно что знающие разберутся) Ну разве было трудно в инструкции написать d1, d2...

Отправлено спустя 25 минут 21 секунду:
Ребята, кому не сложно, подскажите куда правильно подключать дисплей(d1d2 и тп)?
Заранее спасибо
https://yadi.sk/i/exS7eP-nnLRzJQ

SakredNEW
Рядовой
Сообщения: 2
Зарегистрирован: 06.05.2021{, 15:41}
Репутация: 0
Имя: Олег

Блоки для дисплеев TFT SPI

#15

Сообщение SakredNEW » 19.05.2021{, 15:47}

Здравствуйте. Хочу спросить автора, или любого знающего специалиста, как сделать так, что бы предыдущий текст затирался новым, и второе, как выводить одновременно надписи разным цветом и шрифтом, очень нужно для меню. Заранее благодарю. У меня дисплей 480Х320 с TOUCH, На блоках старой версии всё более-менее работает нормально\, а вот с новыми засада. Если не трудно сделайте пожалуйста рабочий примерчик.

Kolkapetkinsyn
Рядовой
Сообщения: 22
Зарегистрирован: 07.06.2018{, 12:17}
Репутация: 1
Имя: Николай

Блоки для дисплеев TFT SPI

#16

Сообщение Kolkapetkinsyn » 14.06.2021{, 15:05}

Добрый день.
Кто-нибудь Может подсказать как при помощи этих блоков сделать график? Допустим график температуры за последние 100 секунд

При попытках пришёл к выводу, что нужно будет использовать 100 блоков отображения линии( Я хочу сделать график из столбиков)
Пробовал использовать один блок, Подставляя значения счётчиков координату построение линии. В таком виде при построении новой линии старая исчезает. Подскажите решение или где почитать?

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Блоки для дисплеев TFT SPI

#17

Сообщение Rovki » 07.02.2022{, 17:31}

Почему то не идет компиляция для есп32
СпойлерПоказать
Arduino: 1.8.13 (Windows 10), Плата:"ESP32 Dev Module, Disabled, Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, Core 1, Core 1, None"

In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup_Select.h:22,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:39,

from C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup.h:201: warning: "TFT_CS" redefined

#define TFT_CS 5 // Chip select control pin



d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup.h:161: note: this is the location of the previous definition

#define TFT_CS PIN_D8 // Chip select control pin D8



d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup.h:202: warning: "TFT_DC" redefined

#define TFT_DC 21 // Data Command control pin



d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup.h:162: note: this is the location of the previous definition

#define TFT_DC PIN_D3 // Data Command control pin



d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup.h:203: warning: "TFT_RST" redefined

#define TFT_RST 4 // Reset pin (could connect to RST pin)



d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup.h:163: note: this is the location of the previous definition

#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line)



d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup.h:204: warning: "TFT_RST" redefined

#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST



d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup.h:203: note: this is the location of the previous definition

#define TFT_RST 4 // Reset pin (could connect to RST pin)



In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup_Select.h:104,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:39,

from C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setups/Setup201_WT32_SC01.h:21: warning: "TFT_MISO" redefined

#define TFT_MISO 12



In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup_Select.h:22,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:39,

from C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup.h:198: note: this is the location of the previous definition

#define TFT_MISO 19



In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup_Select.h:104,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:39,

from C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setups/Setup201_WT32_SC01.h:22: warning: "TFT_MOSI" redefined

#define TFT_MOSI 13



In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup_Select.h:22,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:39,

from C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup.h:199: note: this is the location of the previous definition

#define TFT_MOSI 23



In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup_Select.h:104,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:39,

from C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setups/Setup201_WT32_SC01.h:23: warning: "TFT_SCLK" redefined

#define TFT_SCLK 14



In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup_Select.h:22,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:39,

from C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup.h:200: note: this is the location of the previous definition

#define TFT_SCLK 18



In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup_Select.h:104,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:39,

from C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setups/Setup201_WT32_SC01.h:24: warning: "TFT_CS" redefined

#define TFT_CS 15



In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup_Select.h:22,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:39,

from C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup.h:201: note: this is the location of the previous definition

#define TFT_CS 5 // Chip select control pin



In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup_Select.h:104,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:39,

from C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setups/Setup201_WT32_SC01.h:26: warning: "TFT_RST" redefined

#define TFT_RST 22



In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup_Select.h:22,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:39,

from C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup.h:204: note: this is the location of the previous definition

#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST



In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup_Select.h:166,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:39,

from C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_Drivers/ST7796_Defines.h:3: warning: "TFT_WIDTH" redefined

#define TFT_WIDTH 320



In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup_Select.h:104,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:39,

from C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setups/Setup201_WT32_SC01.h:14: note: this is the location of the previous definition

#define TFT_WIDTH 480



In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup_Select.h:166,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:39,

from C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_Drivers/ST7796_Defines.h:4: warning: "TFT_HEIGHT" redefined

#define TFT_HEIGHT 480



In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setup_Select.h:104,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:39,

from C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/User_Setups/Setup201_WT32_SC01.h:15: note: this is the location of the previous definition

#define TFT_HEIGHT 320



C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino: In function 'void setup()':

pr45:96:17: error: 'class TFT_eSPI' has no member named 'setTouch'

tft.setTouch(calData);

^~~~~~~~

C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino: In function 'void loop()':

pr45:180:13: error: 'class TFT_eSPI' has no member named 'calibrateTouch'

tft.calibrateTouch(calData, TFT_MAGENTA, TFT_BLACK, 15);

^~~~~~~~~~~~~~

pr45:260:24: error: 'class TFT_eSPI' has no member named 'getTouch'; did you mean 'getColor'?

pressed = tft.getTouch(&t_x, &t_y); // Нажатие будет установлено в true, если на экране есть действительное касание

^~~~~~~~

getColor

pr45:511:39: error: 'rusMono13x13' was not declared in this scope

case 49: tft.setFreeFont(&rusMono13x13);

^~~~~~~~~~~~

pr45:514:39: error: 'rusMonoBold13x13' was not declared in this scope

case 50: tft.setFreeFont(&rusMonoBold13x13);

^~~~~~~~~~~~~~~~

C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:514:39: note: suggested alternative: 'FreeMonoBold18pt7b'

case 50: tft.setFreeFont(&rusMonoBold13x13);

^~~~~~~~~~~~~~~~

FreeMonoBold18pt7b

pr45:517:39: error: 'rusMono17x15' was not declared in this scope

case 51: tft.setFreeFont(&rusMono17x15);

^~~~~~~~~~~~

pr45:520:39: error: 'rusMonoBold17x15' was not declared in this scope

case 52: tft.setFreeFont(&rusMonoBold17x15);

^~~~~~~~~~~~~~~~

C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:520:39: note: suggested alternative: 'FreeMonoBold18pt7b'

case 52: tft.setFreeFont(&rusMonoBold17x15);

^~~~~~~~~~~~~~~~

FreeMonoBold18pt7b

pr45:523:39: error: 'rusSerifBold17' was not declared in this scope

case 53: tft.setFreeFont(&rusSerifBold17);

^~~~~~~~~~~~~~

C:\Users\User\AppData\Local\Temp\flprog\pr45\pr45.ino:523:39: note: suggested alternative: 'FreeSerifBold18pt7b'

case 53: tft.setFreeFont(&rusSerifBold17);

^~~~~~~~~~~~~~

FreeSerifBold18pt7b

pr45:526:39: error: 'battery_24x48' was not declared in this scope

case 54: tft.setFreeFont(&battery_24x48);

^~~~~~~~~~~~~

pr45:529:39: error: 'Picopixel' was not declared in this scope

case 55: tft.setFreeFont(&Picopixel);

^~~~~~~~~

exit status 1

'class TFT_eSPI' has no member named 'setTouch'



Электронщик до мозга костей и не только

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Блоки для дисплеев TFT SPI

#18

Сообщение Rovki » 13.02.2022{, 11:32}

Ругается на шрифты
Arduino: 1.8.13 (Windows 10), Плата:"ESP32 Dev Module, Disabled, Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None"

In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/gfxfont.h:9:0,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:165,

from C:\Users\User\AppData\Local\Temp\flprog\pr17\pr17.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/rusMono13x13.h:168:7: error: 'GFXglyph' does not name a type

const GFXglyph rusMono13x13Glyphs[] PROGMEM = {

^

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/rusMono13x13.h:395:7: error: 'GFXfont' does not name a type

const GFXfont rusMono13x13 PROGMEM = {

^

In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/gfxfont.h:10:0,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:165,

from C:\Users\User\AppData\Local\Temp\flprog\pr17\pr17.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/rusMonoBold13x13.h:176:7: error: 'GFXglyph' does not name a type

const GFXglyph rusMonoBold13x13Glyphs[] PROGMEM = {

^

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/rusMonoBold13x13.h:403:7: error: 'GFXfont' does not name a type

const GFXfont rusMonoBold13x13 PROGMEM = {

^

In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/gfxfont.h:11:0,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:165,

from C:\Users\User\AppData\Local\Temp\flprog\pr17\pr17.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/rusMono17x15.h:282:7: error: 'GFXglyph' does not name a type

const GFXglyph rusMono17x15Glyphs[] PROGMEM = {

^

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/rusMono17x15.h:509:7: error: 'GFXfont' does not name a type

const GFXfont rusMono17x15 PROGMEM = {

^

In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/gfxfont.h:12:0,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:165,

from C:\Users\User\AppData\Local\Temp\flprog\pr17\pr17.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/rusMonoBold17x15.h:296:7: error: 'GFXglyph' does not name a type

const GFXglyph rusMonoBold17x15Glyphs[] PROGMEM = {

^

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/rusMonoBold17x15.h:523:7: error: 'GFXfont' does not name a type

const GFXfont rusMonoBold17x15 PROGMEM = {

^

In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/gfxfont.h:13:0,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:165,

from C:\Users\User\AppData\Local\Temp\flprog\pr17\pr17.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/rusSerifBold17.h:298:7: error: 'GFXglyph' does not name a type

const GFXglyph rusSerifBold17Glyphs[] PROGMEM = {

^

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/rusSerifBold17.h:524:7: error: 'GFXfont' does not name a type

const GFXfont rusSerifBold17 PROGMEM = {

^

In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/gfxfont.h:15:0,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:165,

from C:\Users\User\AppData\Local\Temp\flprog\pr17\pr17.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/battery_24x48.h:96:7: error: 'GFXglyph' does not name a type

const GFXglyph battery_24x48Glyphs[] PROGMEM = {

^

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/battery_24x48.h:109:7: error: 'GFXfont' does not name a type

const GFXfont battery_24x48 PROGMEM = {

^

In file included from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/gfxfont.h:16:0,

from d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/TFT_eSPI.h:165,

from C:\Users\User\AppData\Local\Temp\flprog\pr17\pr17.ino:2:

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/Picopixel.h:21:7: error: 'GFXglyph' does not name a type

const GFXglyph PicopixelGlyphs[] PROGMEM = {{0, 0, 0, 2, 0, 1}, // 0x20 ' '

^

d:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\TFT_eSPI-master/Fonts/GFXFF/Picopixel.h:117:7: error: 'GFXfont' does not name a type

const GFXfont Picopixel PROGMEM = {(uint8_t *)PicopixelBitmaps,

^

exit status 1

Ошибка компиляции для платы ESP32 Dev Module.



Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
хотя установил
шрифты.png
шрифты.png
Вложения
шрифты.png
Электронщик до мозга костей и не только

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Блоки для дисплеев TFT SPI

#19

Сообщение Rovki » 14.02.2022{, 10:06}

Каким блоком можно менять цвет текста или фона строки по заданным координатам ,спасибо?
Электронщик до мозга костей и не только

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Блоки для дисплеев TFT SPI

#20

Сообщение Rovki » 18.02.2022{, 10:32}

Почему то после вывода нового текста остается старый текст (фиолетовый)???
артифакты.jpg
Отправлено спустя 8 минут 19 секунд:
То есть нет полного стирания старого текста ,а есть наложение текстов с заменой цвета :smile390:

Отправлено спустя 11 минут 10 секунд:
Track= 0

Отправлено спустя 1 минуту 4 секунды:
может сменить общий фон экрана тогда старые надписи не будут видны. Но как?
Электронщик до мозга костей и не только

Ответить

Вернуться в «Дисплеи, индикаторы и клавиатуры»