Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ------------------------------------------------------------------------------------------------------------------- //
- // //
- // Simple ESP8266 NodeMCU 1.3 SimpleTFT Clock by TOMASZ MAJCHER (TRANSLINE GROUP POAND) //
- // //
- // e-mail : [email protected] //
- // licence : DonationWare //
- // paypal : @TomaszMajcher //
- // www : https://esp32dev.blogspot.com/ //
- // //
- // ------------------------------------------------------------------------------------------------------------------- //
- //
- // bulild on v1.0 Base (13.06.2021) by Tomasz Majcher
- //
- /
- //
- // ------------------------------------------------------------------------------------------------------------------- //
- //
- // ILI9341 Driver (Pinout) Hardware SPI !!!
- //
- // VCC to : 3.3V
- // GND to : GND
- // CS pin to : D1
- // Reset pin to : Reset
- // DC pin to : D4
- // SDI pin to : D7
- // SCK pin to : D5
- //
- //
- //
- // (20.06.2021) v1.3 beta - update : add TFT_ShowDate (show date on TFT display) from Task3 (one per min)
- // (20.06.2021) v1.2 beta - update : add TFT_ShowTime (show time on TFT display) from Task0 (one per sec)
- // (20.06.2021) v1.1 beta - update : add TFT (test, setup library -> ILI9341, pinout)
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- I N C L U D E L I B R A R Y --------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- extern "C" char* sbrk(int incr);
- #include <ESP8266WiFi.h> // biblioteka Wi-Fi
- #include <NTPClient.h> // NTP klient (Time)
- #include <WiFiUdp.h> // UDP dla NTP (Time)
- #include <TaskScheduler.h> // scheluder
- #include <TimeLib.h>
- #include <Arduino.h>
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- L A N G U A G E S E T U P ----------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- #define LANGUAGE 0 // 0 (Polish), 1 (English), 2 (Germany)
- #if LANGUAGE == 0
- #define POLISH 1
- #define ENGLISH 0
- #define GERMANY 0
- #endif
- #if LANGUAGE == 1
- #define POLISH 0
- #define ENGLISH 1
- #define GERMANY 0
- #endif
- #if LANGUAGE == 2
- #define POLISH 0
- #define ENGLISH 0
- #define GERMANY 1
- #endif
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- M A C R O D E F I N E --------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- N E T W O R K S E T T I N G S ------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- const char *ssid = "DIABLO"; // network wifi ssid
- const char *password = "XXXXXXXXXXX"; // network wifi password
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- T F T --------------------------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- //#include "Free_Fonts.h" // not use in DEMO
- #include "SPI.h"
- #include "TFT_eSPI.h"
- TFT_eSPI tft = TFT_eSPI();
- // define color
- #define TFT_LIGHTGRAY tft.color565(163, 159, 158)
- #define TFT_SWEETBLUE tft.color565(0, 128, 255)
- // define day mode color
- #define TFT_DAY_TEXT TFT_BLACK
- #define TFT_DAY_BACKGROUND TFT_LIGHTGRAY
- // define night mode color
- #define TFT_NIGHT_TEXT TFT_LIGHTGRAY
- #define TFT_NIGHT_BACKGROUND TFT_BLACK
- // define cords
- #define x_min 0
- #define y_min 0
- #define x_max 320
- #define y_max 240
- #define frame 5
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- S E R I A L S E T T I N G S --------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- #define SERIAL true
- #define SerialSpeed 57600
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- P R O T O T Y P E --------------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void scheluderInit(); // run from setup() - init scheluder
- void statWiFi(); // show Wi-Fi Status
- void initWiFi(); // init Wi-Fi connection
- void TFT_Init(); // init TFT (from setup)
- void TFT_ShowDate(); // show Date on TFT
- void TFT_ShowTime(); // show Time on TFT
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- P R O T O T Y P E --- C O R E T A S K ------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void Task0Callback(); // function Task0 for ESP8266 Core
- void Task1Callback(); // function Task1 for ESP8266 Core
- void Task2Callback(); // function Task2 for ESP8266 Core
- void Task3Callback(); // function Task3 for ESP8266 Core
- void Task4Callback(); // function Task4 for ESP8266 Core
- void Task5Callback(); // function Task4 for ESP8266 Core
- void Task6Callback(); // function Task4 for ESP8266 Core
- #define Second_01 1000 // 01 second timeout makro definition
- #define Second_05 5000 // 05 second timeout makro definition
- #define Second_10 10000 // 10 second timeout makro definition
- #define Second_30 30000 // 30 second timeout makro definition
- #define Second_60 60000 // 60 second timeout makro definition
- #define Minute_01 60000 // 01 minute timeout makro definition
- #define Minute_05 300000 // 05 minute timeout makro definition
- #define Minute_10 600000 // 10 minute timeout makro definition
- #define Minute_30 1800000 // 30 minute timeout makro definiction
- #define Minute_60 3600000 // 30 minute timeout makro definiction
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- Z A D A N I A S C H E L U D E R ' A ------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- Task task_0( Second_01, TASK_FOREVER, &Task0Callback); // task_0 run at interval Second_01
- Task task_1( Second_60, TASK_FOREVER, &Task1Callback); // task_1 run at interval Second_60
- Task task_2( Second_10, TASK_FOREVER, &Task2Callback); // task_2 run at interval Second_10
- Task task_3( Minute_01, TASK_FOREVER, &Task3Callback); // task_3 run at interval Minute_01
- Task task_4( Minute_10, TASK_FOREVER, &Task4Callback); // task_4 run at interval Minute_10
- Task task_5( Minute_30, TASK_FOREVER, &Task5Callback); // task_4 run at interval Minute_30
- Task task_6( Minute_60, TASK_FOREVER, &Task6Callback); // task_4 run at interval Minute_60
- Scheduler runner;
- // ------------------------------------------------------------------------------------------------------------------- //
- // *** WiFi Reconect *** //
- // ------------------------------------------------------------------------------------------------------------------- //
- unsigned long previousMillis = 0;
- unsigned long interval = 30000;
- // ------------------------------------------------------------------------------------------------------------------- //
- // *** STRUKTURA Time *** //
- // ------------------------------------------------------------------------------------------------------------------- //
- struct TIME_DATA
- {
- int Hour = 0;
- int Minute = 0;
- int Second = 0;
- String FormatedData = "NULL";
- String ShortData = "NULL";
- String LongData = "NULL";
- String TFT_Data = "NULL";
- String TFT_Time = "NULL";
- int DayOfTheWeek = 0;
- int DayOfTheMonth = 0;
- int Month = 0;
- int Year = 0;
- }
- Time;
- // ------------------------------------------------------------------------------------------------------------------- //
- // *** STRUKTURA DZIEN *** //
- // ------------------------------------------------------------------------------------------------------------------- //
- #if POLISH
- const char Day_0 [] = "Niedziela";
- const char Day_1 [] = "Poniedzialek";
- const char Day_2 [] = "Wtorek";
- const char Day_3 [] = "Sroda";
- const char Day_4 [] = "Czwartek";
- const char Day_5 [] = "Piatek";
- const char Day_6 [] = "Sobota";
- #endif
- #if ENGLISH
- const char Day_0 [] = "Sunday";
- const char Day_1 [] = "Monday";
- const char Day_2 [] = "Tuesday";
- const char Day_3 [] = "Wednesday";
- const char Day_4 [] = "Thursday";
- const char Day_5 [] = "Friday";
- const char Day_6 [] = "Saturday";
- #endif
- #if GERMANY
- const char Day_0 [] = "Sonntag";
- const char Day_1 [] = "Montag";
- const char Day_2 [] = "Dienstag";
- const char Day_3 [] = "Mittwoch";
- const char Day_4 [] = "Donnerstag";
- const char Day_5 [] = "Freitag";
- const char Day_6 [] = "Samstag";
- #endif
- const char * const DAY[] = { Day_0, Day_1, Day_2, Day_3, Day_4, Day_5, Day_6 }; // dni tygodnia [0..6]
- // ------------------------------------------------------------------------------------------------------------------- //
- // *** STRUKTURA MONTH *** //
- // ------------------------------------------------------------------------------------------------------------------- //
- #if POLISH
- const char MONTH_0 [] = "NULL";
- const char MONTH_1 [] = "Styczen";
- const char MONTH_2 [] = "Luty";
- const char MONTH_3 [] = "Marzec";
- const char MONTH_4 [] = "Kwiecien";
- const char MONTH_5 [] = "Maj";
- const char MONTH_6 [] = "Czerwiec";
- const char MONTH_7 [] = "Lipiec";
- const char MONTH_8 [] = "Sierpien";
- const char MONTH_9 [] = "Wrzesien";
- const char MONTH_10 [] = "Pazdziernik";
- const char MONTH_11 [] = "Listopad";
- const char MONTH_12 [] = "Grudzien";
- #endif
- #if ENGLISH
- const char MONTH_0 [] = "NULL";
- const char MONTH_1 [] = "January";
- const char MONTH_2 [] = "February";
- const char MONTH_3 [] = "March";
- const char MONTH_4 [] = "April";
- const char MONTH_5 [] = "May";
- const char MONTH_6 [] = "June";
- const char MONTH_7 [] = "July";
- const char MONTH_8 [] = "August";
- const char MONTH_9 [] = "September";
- const char MONTH_10 [] = "October";
- const char MONTH_11 [] = "November";
- const char MONTH_12 [] = "December";
- #endif
- #if GERMANY
- const char MONTH_0 [] = "NULL";
- const char MONTH_1 [] = "Januar";
- const char MONTH_2 [] = "Februar";
- const char MONTH_3 [] = "März";
- const char MONTH_4 [] = "April";
- const char MONTH_5 [] = "Mai";
- const char MONTH_6 [] = "Juni";
- const char MONTH_7 [] = "Juli";
- const char MONTH_8 [] = "August";
- const char MONTH_9 [] = "September";
- const char MONTH_10 [] = "Oktober";
- const char MONTH_11 [] = "November";
- const char MONTH_12 [] = "Dezember";
- #endif
- const char * const MONTH[] = { MONTH_0, MONTH_1, MONTH_2, MONTH_3, MONTH_4, MONTH_5, MONTH_6,
- MONTH_7, MONTH_8, MONTH_9, MONTH_10, MONTH_11, MONTH_12 };
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- T O O L S C L A S S ----------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- class TOOLS
- {
- private:
- public:
- void TypeWriter(const String & message, unsigned int wait, bool lf = true);
- void FreeRam(bool lf = true);
- void CpuInfo(bool lf = true);
- void WiFiInfo(bool lf = true);
- inline void BreakLine();
- inline void PrintLine(byte lenght = 60);
- };
- // ------------------------------------------------------------------------------------------------------------------- //
- void TOOLS :: TypeWriter(const String & message, unsigned int wait, bool lf)
- {
- if(lf) Serial.printf("\n"); // if lf is true print next line
- for(const char c : message)
- {
- Serial.print(c);
- delay(wait);
- }
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- void TOOLS :: FreeRam(bool lf)
- {
- if(lf) Serial.printf("\n"); // if lf is true print next line
- Serial.printf("[TOOLS] [Memory Free] \t\t: %u [kB]", ESP.getFreeHeap());
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- void TOOLS :: CpuInfo(bool lf)
- {
- if(lf) Serial.printf("\n"); // if lf is true print next line
- Serial.printf("[TOOLS] [CPU frequency] \t: %u [MHz]",ESP.getCpuFreqMHz());
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- void TOOLS :: WiFiInfo(bool lf)
- {
- if(lf) Serial.printf("\n"); // if lf is true print next line
- Serial.printf("[TOOLS] [IP adress] \t\t: %s", WiFi.localIP().toString().c_str());
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- inline void TOOLS :: BreakLine()
- {
- Serial.printf("\n"); // if lf is true print next line
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- inline void TOOLS :: PrintLine(byte lenght)
- {
- for(byte i = 0; i <= lenght; i++) Serial.print("-");
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- O B J E C T I N I T ----------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- WiFiUDP ntpUDP;
- NTPClient timeClient(ntpUDP, "pool.ntp.org", 3600);
- TOOLS tools;
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- Task0Callback() ----------------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void Task0Callback()
- {
- String bufor = "NULL";
- static bool STEP = false;
- if (Time.Hour < 10)
- {
- bufor = "0";
- bufor += String(Time.Hour);
- }
- else
- {
- bufor = String(Time.Hour);
- }
- if (STEP) // step 0 sec show :
- {
- bufor += ":";
- STEP = false;
- }
- else // step 1 sec show _
- {
- bufor += " ";
- STEP = true;
- }
- if (Time.Minute < 10)
- {
- bufor += "0";
- bufor += String(Time.Minute);
- }
- else
- {
- bufor += String(Time.Minute);
- }
- Time.TFT_Time = bufor; // copy bufor to TFT_Time
- TFT_ShowTime(); // show time on TFT
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- Task1Callback() ----------------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void Task1Callback()
- {
- #if SERIAL
- String bufor;
- if (Time.Hour < 10)
- {
- bufor = "0";
- bufor += String(Time.Hour);
- }
- else
- {
- bufor = String(Time.Hour);
- }
- bufor += ":";
- if (Time.Minute < 10)
- {
- bufor += "0";
- bufor += String(Time.Minute);
- }
- else
- {
- bufor += String(Time.Minute);
- }
- if (Time.Hour < 12) bufor += " AM";
- else bufor += " PM";
- Serial.printf("\n\n[ESP] [TASK1] [Time NTP] \t: %s", bufor.c_str());
- Serial.printf("\n[ESP] [TASK1] [LongData] \t: %s ", Time.LongData.c_str());
- Serial.printf("\n[ESP] [TASK1] [ShortData] \t: %s ", Time.ShortData.c_str());
- #endif
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- Task2Callback() ----------------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void Task2Callback()
- {
- timeClient.update(); // time update
- Time.Hour = timeClient.getHours()+1; // zapisz godzinę z serwera
- Time.Minute = timeClient.getMinutes(); // zapisz minutę z serwera
- Time.Second = timeClient.getSeconds(); // zapisz sekundę z serwera
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- Task3Callback() ----------------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void Task3Callback()
- {
- tools.BreakLine(); // breaking line
- tools.FreeRam(); // show Free RAM
- tools.CpuInfo(); // Show CPU
- tools.WiFiInfo(); // Show WiFi Adress
- TFT_ShowDate(); // Show Date on TFT
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- Task4Callback() ----------------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void Task4Callback()
- {
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- Task3Callback() ----------------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void Task5Callback()
- {
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- Task6Callback() ----------------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void Task6Callback()
- {
- timeClient.update();
- unsigned long epochTime = timeClient.getEpochTime();
- struct tm *ptm = gmtime ( (time_t *) &epochTime );
- Time.DayOfTheWeek = timeClient.getDay();
- Time.DayOfTheMonth = ptm->tm_mday;
- Time.Month = ptm->tm_mon+1;
- Time.Year = ptm->tm_year+1900;
- Time.FormatedData = String(DAY[Time.DayOfTheWeek])
- + ", "
- + String(Time.DayOfTheMonth)
- + " "
- + String(MONTH[Time.Month])
- + " "
- + String(Time.Year);
- Time.ShortData = String(Time.DayOfTheMonth)
- + " "
- + String(MONTH[Time.Month])
- + " "
- + String(Time.Year);
- Time.LongData = String(DAY[Time.DayOfTheWeek])
- + " "
- + String(Time.DayOfTheMonth)
- + "/"
- + String(Time.Month)
- + "/"
- + String(Time.Year);
- String Buffor = "NULL";
- if(Time.DayOfTheMonth < 10)
- {
- Buffor = "0";
- Buffor += Time.DayOfTheMonth;
- }
- else Buffor = Time.DayOfTheMonth;
- Buffor += "/";
- if(Time.Month < 10)
- {
- Buffor += "0";
- Buffor += Time.Month;
- }
- else Buffor += Time.Month;
- Buffor += "/";
- Buffor += Time.Year;
- Time.TFT_Data = Buffor;
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- stat Wi-Fi ---------------------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void statWiFi()
- {
- switch (WiFi.status())
- {
- case WL_NO_SSID_AVAIL:
- #if SERIAL
- #if ENGLISH
- Serial.printf("\nConfigured SSID cannot be reached");
- #endif
- #if POLISH
- Serial.printf("\nNie można osiągnąć skonfigurowanego identyfikatora SSID");
- #endif
- #if GERMANY
- Serial.printf("\nKonfigurierte SSID ist nicht erreichbar");
- #endif
- #endif
- break;
- case WL_CONNECTED:
- #if SERIAL
- #if ENGLISH
- Serial.printf("\nConnection successfully established");
- Serial.printf("\nYour IP : %s", WiFi.localIP().toString().c_str());
- Serial.printf("\nReceived Signal Strength Indication : %d", WiFi.RSSI());
- #endif
- #if POLISH
- Serial.printf("\nPomyślnie nawiązano połączenie");
- Serial.printf("\nTwój adres IP : %s", WiFi.localIP().toString().c_str());
- Serial.printf("\nWskazanie siły odbieranego sygnału : %d", WiFi.RSSI());
- #endif
- #if GERMANY
- Serial.printf("\nVerbindung erfolgreich hergestellt");
- Serial.printf("\nDeine IP-Adresse : %s", WiFi.localIP().toString().c_str());
- Serial.printf("\nAnzeige der empfangenen Signalstärke : %d", WiFi.RSSI());
- #endif
- #endif
- break;
- case WL_CONNECT_FAILED:
- #if SERIAL
- #if ENGLISH
- Serial.printf("\nConnection failed");
- #endif
- #if POLISH
- Serial.printf("\nPołączenie nieudane");
- #endif
- #if GERMANY
- Serial.printf("\nVerbindung fehlgeschlagen");
- #endif
- #endif
- break;
- }
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- init Wi-Fi ---------------------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void initWiFi()
- {
- WiFi.mode(WIFI_STA);
- WiFi.begin(ssid, password);
- #if SERIAL
- #if ENGLISH
- Serial.printf("\nConnecting to WiFi ..");
- #endif
- #if POLISH
- Serial.printf("\nŁącze z siecią WiFi ..");
- #endif
- #if GERMANY
- Serial.printf("\nNetzwerkverbindung mit WLAN ..");
- #endif
- #endif
- while (WiFi.status() != WL_CONNECTED)
- {
- Serial.print('.');
- delay(200);
- }
- statWiFi();
- WiFi.setAutoReconnect(true);
- WiFi.persistent(true);
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- reconect Wi-Fi ------------------------------------------------------------------------------------------------ //
- // ------------------------------------------------------------------------------------------------------------------- //
- void reconectWifi()
- {
- unsigned long currentMillis = millis();
- if ((WiFi.status() != WL_CONNECTED) && (currentMillis - previousMillis >=interval))
- {
- #if SERIAL
- #if ENGLISH
- Serial.println("Reconnecting to WiFi...");
- #endif
- #if POLISH
- Serial.println("Ponowne łączenie z Wi-Fi...");
- #endif
- #if GERMANY
- Serial.println("Erneut mit WLAN verbinden...");
- #endif
- #endif
- WiFi.disconnect();
- WiFi.begin(ssid, password);
- statWiFi();
- previousMillis = currentMillis;
- }
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- schedulerInit ------------------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void scheluderInit()
- {
- runner.init(); // inicjalizuj scheluder
- runner.addTask(task_0); // dodaj zadanie do scheluder
- task_0.enable(); // włącz zadanie do scheluder
- runner.addTask(task_1); // dodaj zadanie do scheluder
- task_1.enable(); // włącz zadanie do scheluder
- runner.addTask(task_2); // dodaj zadanie do scheluder
- task_2.enable(); // włącz zadanie do scheluder
- runner.addTask(task_3); // dodaj zadanie do scheluder
- task_3.enable(); // włącz zadanie do scheluder
- runner.addTask(task_4); // dodaj zadanie do scheluder
- task_4.enable(); // włącz zadanie do scheluder
- runner.addTask(task_5); // dodaj zadanie do scheluder
- task_5.enable(); // włącz zadanie do scheluder
- runner.addTask(task_6); // dodaj zadanie do scheluder
- task_6.enable(); // włącz zadanie do scheluder
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- S E T U P --- T F T --- I N I T ------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void TFT_Init()
- {
- tft.begin();
- tft.setRotation(1);
- TFT_DrawPanel();
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- S E T U P ----------------------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void setup()
- {
- #if SERIAL
- Serial.begin(SerialSpeed);
- #endif
- delay(200);
- tools.TypeWriter("Project by Tomasz Majcher", 100, true);
- tools.TypeWriter("Tools version 0.01", 100);
- tools.BreakLine();
- initWiFi();
- TFT_Init();
- scheluderInit();
- Task6Callback();
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- L O O P ------------------------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void loop()
- {
- runner.execute(); // scheluder init
- reconectWifi(); // check Wi-Fi status
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- D R A W P A N E L T F T ----------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void TFT_DrawPanel()
- {
- tft.fillScreen(TFT_LIGHTGRAY); // BACKGROUND COLOR (E-paper)
- tft.drawFastVLine(x_min+frame, y_min+frame, y_max-2*(frame), TFT_BLACK); // LEFT LINE
- tft.drawFastVLine(x_min+frame+1, y_min+frame+1, y_max-2*(frame), TFT_BLACK); // LEFT LINE
- tft.drawFastVLine(x_max-frame, y_min+frame, y_max-2*(frame), TFT_BLACK); // RIGHT LINE
- tft.drawFastVLine(x_max-frame-1, y_min+frame+1, y_max-2*(frame), TFT_BLACK); // RIGHT LINE
- tft.drawFastHLine(x_min+frame, y_min+frame, x_max-2*(frame), TFT_BLACK); // UP LINE
- tft.drawFastHLine(x_min+frame, y_min+frame+1, x_max-2*(frame), TFT_BLACK); // UP LINE
- tft.drawFastHLine(x_min+frame, y_max-frame, x_max-2*(frame), TFT_BLACK); // DOWN LINE
- tft.drawFastHLine(x_min+frame+1, y_max-frame-1, x_max-2*(frame), TFT_BLACK); // DOWN LINE
- tft.drawFastHLine(x_min+frame, y_min+frame+60, x_max-2*(frame), TFT_BLACK); // CLOCK LINE DOWN
- tft.drawFastHLine(x_min+frame, y_min+frame+61, x_max-2*(frame), TFT_BLACK); // CLOCK LINE DOWN
- tft.drawFastVLine(x_min+157, y_min+frame+1, 60, TFT_BLACK); // CLOCK LINE RIGHT
- tft.drawFastVLine(x_min+156, y_min+frame+1, 60, TFT_BLACK); // CLOCK LINE RIGHT
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- T F T S H O W D A T E -=---------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------------- //
- void TFT_ShowDate()
- {
- tft.setTextColor(TFT_BLACK, TFT_LIGHTGRAY);
- //tft.drawCentreString(DAY[Time.DayOfTheWeek], 240, 10, 4);
- tft.drawCentreString(Time.TFT_Data, 240, 25, 4);
- }
- // ------------------------------------------------------------------------------------------------------------------- //
- // --- T F T S H O W T I M E ------------------------------------------------------------------------------------ //
- // ------------------------------------------------------------------------------------------------------------------- //
- void TFT_ShowTime()
- {
- tft.setTextColor(TFT_BLACK, TFT_LIGHTGRAY);
- tft.drawString(Time.TFT_Time, 12, 12, 7);
- }
- // ------------------------------------------------------------------------------------------------------------------- //
Advertisement
Add Comment
Please, Sign In to add comment