Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ------------------------------------------------------------------------------------------------------------- //
- // file : matryca.h //
- // version : 0.040 BETA - PRO //
- // //
- // autor : Tomasz Majcher (TRANSLINE GROUP) //
- // //
- // licencja: FREEWARE //
- // //
- // //
- // ------------------------------------------------------------------------------------------------------------- //
- // //
- // T R A N S L I N E L U B I N T o m a s z M a j c h e r //
- // //
- // ------------------------------------------------------------------------------------------------------------- //
- // //
- // Ciężki i specjalistyczny transport drogowy rzeczy (silosy, wywrotki - alumuldy) //
- // //
- // Logistyka i sprzedaż kruszyw : bazalt, granit, pospółki żwirowe, żwir, piasek //
- // //
- // Serwis pojazdów ciężarowych i naczep //
- // //
- // Automatyka przemysłowa, programowania urządzeń przemysłowych, oprogramowanie przemysłowe //
- // //
- // ------------------------------------------------------------------------------------------------------------- //
- // --- class Matryca --- version. ESP --- //
- // ------------------------------------------------------------------------------------------------------------- //
- // //
- // klasa zbudowana dla urządzeń ESP2886 i ESP32 //
- // build start : 13.02.2021 //
- // licencja : NOT FOR SALE !!! FOR HOME USE ONLY !!! //
- //
- // ------------------------------------------------------------------------------------------------------------- //
- // --- H I S T O R Y L O G --- //
- // ------------------------------------------------------------------------------------------------------------- //
- // //
- // v0.040 - Weekend (14.03.2021) --- dodano : obsługa [ MEM PROG 342304 / MEM RAM 40488 ] //
- // v0.039 - Friday Tab (14.03.2021) --- dodano : FRIDAY_MSG [ MEM PROG 342176 / MEM RAM 40456 ] //
- // v0.038 - Thursday Tab (14.03.2021) --- dodano : THURSDAY_MSG [ MEM PROG 341188 / MEM RAM 39548 ] //
- // v0.037 - Wednesday Tab (14.03.2021) --- dodano : WEDNESDAY_MSG [ MEM PROG 340180 / MEM RAM 38636 ]//
- // v0.036 - Tuesday Tab (14.03.2021) --- dodano : TUESDAY_MSG [ MEM PROG 339224 / MEM RAM 37736 ] //
- // v0.035 - Monday Tab (14.03.2021) --- dodano : MONDAY_MSG [ MEM PROG 338216 / MEM RAM 36824 ] //
- // v0.034 - Fast Build (14.03.2021) --- dodano : ShowDayMsg() //
- // v0.033 - Fast Build (14.03.2021) --- dodano : Day_MSG_Set(); --- PRIVATE ----------------- //
- // v0.032 - Saturday Day (14.03.2021) --- dodano : RandomDemo v2 //
- // v0.031 - Saturday Time (14.03.2021) --- dodano : ShowSaturdayMsg(); //
- // v0.030 - Sunday Time (14.03.2021) --- dodano : ShowSundayMsg(); //
- // v0.029 - Time To School (14.03.2021) --- dodano : ShowLesson(const char *przedmiot); //
- // v0.028 - BIG REBUILD v3 (13.03.2021) --- nowe cyfry (DUŻE, NORMALNE, MAŁE) //
- // v0.027 - BIG REBUILD v2 (13.03.2021) --- przebudowa klasy //
- // v0.026 - BIG REBUILD v1 (12.03.2021) --- przebudowa klasy //
- // v0.025 - EXTENDER SHOW --- dodano : Time_EXMSG_Show() --- metoda prywatna --- //
- // v0.024 - EXTENDED MESSAGE :-) --- dodano : tablica wiadomosci czasowych (time message) --- //
- // v0.023 - MEM --- dodano : ShomMem(); --- metoda publiczna --- //
- // v0.022 - CPU --- dodano : ShowCpu(); --- metoda publiczna --- //
- // v0.021 - weather update no. 4 --- dodano : ShowVisibility(); --- metoda publiczna --- //
- // v0.020 - weather update no. 3 --- dodano : ShowClouds(); --- metoda publiczna --- //
- // v0.019 - weather update no. 2 --- dodano : ShowSunset(); --- metoda publiczna --- //
- // v0.018 - weather update no. 1 --- dodano : ShowSunrise(); --- metoda publiczna --- //
- // v0.017 - monday afrernoon no. 5 --- dodano : ShowWind(); --- metoda publiczna --- //
- // v0.016 - monday afternoon no. 4 --- dodano : ShowHumidity(); --- metoda publiczna --- //
- // v0.015 - monday afternoon no. 3 --- dodano : ShowPressure(); --- metoda publiczna --- //
- // v0.014 - monday afternoon no. 2 --- dodano : ShowTemperature(); --- metoda publiczna --- //
- // v0.013 - monday afternoon no. 1 --- dodano : Time2Char(,,,) --- metoda publiczna --- //
- // v0.012 - monday morning no. 5 --- dodano : ShowShortTime(); --- metoda publiczna --- //
- // v0.011 - monday morning no. 4 --- dodano : Time2Char(,,); --- metoda publiczna --- //
- // v0.010 - monday morning no. 3 --- dodano : Date2Char(,,,); --- metoda publiczna --- //
- // v0.009 - monday morning no. 2 --- dodano : ShowShortDate(); --- metoda publiczna --- //
- // v0.008 - monday morning no. 1 --- dodano : ShowLongDate(); --- metoda publiczna --- //
- // v0.007 - frosty Sunday no. 7 --- dodano : Generator liczb losowych ESP8266TrueRandom --- //
- // v0.006 - frosty Sunday no. 6 --- dodano : RandomDemo(); --- metoda publiczna --- //
- // v0.005 - frosty Sunday no. 5 --- dodano : EffectDemo(); --- metoda publiczna --- //
- // v0.004 - frosty Sunday no. 4 --- dodano : SpriteDemo(); --- metoda publiczna --- //
- // v0.003 - frosty Sunday no. 3 --- IMPORT : EFFECT --- //
- // v0.002 - frosty Sunday no. 2 --- IMPORT : SPRITE --- //
- // v0.001 - frosty Sunday no. 1 --- dodano : Matryca Class --- klasa główna --- //
- // ------------------------------------------------------------------------------------------------------------- //
- // --- I N C L U D E --- //
- // ------------------------------------------------------------------------------------------------------------- //
- #include <ESP8266WiFi.h>
- #include <Arduino.h>
- #include <MD_Parola.h>
- #include <MD_MAX72xx.h>
- #include "ESP8266TrueRandom.h"
- // ------------------------------------------------------------------------------------------------------------- //
- // --- D E F I N E --- //
- // ------------------------------------------------------------------------------------------------------------- //
- #define TRUE 1
- #define FALSE 0
- #define TERMINAL 1 // 0 - wyłącz SERIAL, 1 - włącz SERIAL
- #define USBSPEED 57600 // 57600 - prędkość Terminala szeregowego
- #define DEBUG_LEV_1 TRUE // deklaracja i definicja DEBUG'era Level 1
- #define DEBUG_LEV_2 TRUE // deklaracja i definicja DEBUG'era Level 2
- //
- // ------------------------------------------------------------------------------------------------------------- //
- // --- D E F I N E --- jeśli LANGUAGE jest 0 to język Polski, jeśli LANGUAGE jest 1 to język ANGIELSKI --- //
- // ------------------------------------------------------------------------------------------------------------- // <--- L A N G U A G E
- #define LANGUAGE 0 // jeśli LANGUAGE jest zdefiniowane jako 0
- // to kolejne warunki dla makra przestawiają
- #if LANGUAGE // język ma Polski (wybrane zmienne i stałe)
- #define POLISH 0 //
- #define ENGLISH 1 // jeśli LANGUAGE jest zdefiniowane jako 1
- #else // to kolejne warunki dla makra przestawiają
- #define POLISH 1 // język na angielski (jak wyżej)
- #define ENGLISH 0 //
- #endif
- extern Tools tools;
- // ------------------------------------------------------------------------------------------------------------- //
- // M E S S E G E D E F I N I T I O N ------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- // Moje napisy do wyświetlenia --------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const char MSG_00 [] = "ESP8266";
- const char MSG_01 [] = "M A R C I N";
- const char MSG_02 [] = "MARCIN SCP!";
- const char MSG_03 [] = "S C P" ;
- const char MSG_04 [] = "ESP32";
- const char MSG_05 [] = "T O M E K";
- const char MSG_06 [] = "S Y L W I A";
- const char MSG_07 [] = "HELLO MARCIN";
- const char MSG_08 [] = "Wiktoria";
- const char MSG_09 [] = "MINECRAFT";
- const char MSG_10 [] = "C++ CODE";
- const char MSG_11 [] = "W I K I";
- const char MSG_12 [] = "D I A B L O";
- const char MSG_13 [] = "I Love You";
- const char MSG_14 [] = "HELLO TOMEK";
- const char MSG_15 [] = "Go Marcin !";
- const char MSG_16 [] = "I'm a Coder";
- const char MSG_17 [] = "You Win";
- const char MSG_18 [] = "Booom !!!";
- const char MSG_19 [] = "ESP Rulez";
- const char MSG_20 [] = "CPU 160Mhz";
- const char MSG_21 [] = "Multi-Task";
- const char MSG_22 [] = "Multi-Core";
- const char MSG_23 [] = "I Love You";
- const char * const MSG [] =
- {
- MSG_00, MSG_01, MSG_02, MSG_03, MSG_04, MSG_05,
- MSG_06, MSG_07, MSG_08, MSG_09, MSG_10, MSG_11,
- MSG_12, MSG_13, MSG_14, MSG_15, MSG_16, MSG_17,
- MSG_18, MSG_19, MSG_20, MSG_21, MSG_22, MSG_23
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E D E F I N I T I O N --------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- // P A C M A N D E F I N I T I O N --------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_PMAN1 = 6;
- const uint8_t W_PMAN1 = 8;
- static const uint8_t pacman1[F_PMAN1 * W_PMAN1] PROGMEM =
- {
- 0x00, 0x81, 0xc3, 0xe7, 0xff, 0x7e, 0x7e, 0x3c,
- 0x00, 0x42, 0xe7, 0xe7, 0xff, 0xff, 0x7e, 0x3c,
- 0x24, 0x66, 0xe7, 0xff, 0xff, 0xff, 0x7e, 0x3c,
- 0x3c, 0x7e, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x3c,
- 0x24, 0x66, 0xe7, 0xff, 0xff, 0xff, 0x7e, 0x3c,
- 0x00, 0x42, 0xe7, 0xe7, 0xff, 0xff, 0x7e, 0x3c,
- };
- // 293756 / 28612
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : W A V E / W O R M D E F I N I T I O N ----------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_WAVE = 14;
- const uint8_t W_WAVE = 14;
- static const uint8_t wave [F_WAVE * W_WAVE] PROGMEM =
- {
- 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10,
- 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20,
- 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40,
- 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
- 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40,
- 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20,
- 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10,
- 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08,
- 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04,
- 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02,
- 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01,
- 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02,
- 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04,
- 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : G H O S T D E F I N I T I O N ----------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_PMAN2 = 6;
- const uint8_t W_PMAN2 = 18;
- static const uint8_t pacman2[F_PMAN2 * W_PMAN2] PROGMEM =
- {
- 0x00, 0x81, 0xc3, 0xe7, 0xff, 0x7e, 0x7e, 0x3c, 0x00, 0x00, 0x00, 0xfe, 0x7b, 0xf3, 0x7f, 0xfb, 0x73, 0xfe,
- 0x00, 0x42, 0xe7, 0xe7, 0xff, 0xff, 0x7e, 0x3c, 0x00, 0x00, 0x00, 0xfe, 0x7b, 0xf3, 0x7f, 0xfb, 0x73, 0xfe,
- 0x24, 0x66, 0xe7, 0xff, 0xff, 0xff, 0x7e, 0x3c, 0x00, 0x00, 0x00, 0xfe, 0x7b, 0xf3, 0x7f, 0xfb, 0x73, 0xfe,
- 0x3c, 0x7e, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x3c, 0x00, 0x00, 0x00, 0xfe, 0x73, 0xfb, 0x7f, 0xf3, 0x7b, 0xfe,
- 0x24, 0x66, 0xe7, 0xff, 0xff, 0xff, 0x7e, 0x3c, 0x00, 0x00, 0x00, 0xfe, 0x73, 0xfb, 0x7f, 0xf3, 0x7b, 0xfe,
- 0x00, 0x42, 0xe7, 0xe7, 0xff, 0xff, 0x7e, 0x3c, 0x00, 0x00, 0x00, 0xfe, 0x73, 0xfb, 0x7f, 0xf3, 0x7b, 0xfe,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : R O L L I N G 1 S Q U A R E D E F I N I T I O N --------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_ROLL1 = 4;
- const uint8_t W_ROLL1 = 8;
- static const uint8_t roll1[F_ROLL1 * W_ROLL1] PROGMEM =
- {
- 0xff, 0x8f, 0x8f, 0x8f, 0x81, 0x81, 0x81, 0xff,
- 0xff, 0xf1, 0xf1, 0xf1, 0x81, 0x81, 0x81, 0xff,
- 0xff, 0x81, 0x81, 0x81, 0xf1, 0xf1, 0xf1, 0xff,
- 0xff, 0x81, 0x81, 0x81, 0x8f, 0x8f, 0x8f, 0xff,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : R O L L I N G 2 O C T A G O N D E F I N I T I O N --------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_ROLL2 = 4;
- const uint8_t W_ROLL2 = 8;
- static const uint8_t roll2 [F_ROLL2 * W_ROLL2] PROGMEM =
- {
- 0x3c, 0x4e, 0x8f, 0x8f, 0x81, 0x81, 0x42, 0x3c,
- 0x3c, 0x72, 0xf1, 0xf1, 0x81, 0x81, 0x42, 0x3c,
- 0x3c, 0x42, 0x81, 0x81, 0xf1, 0xf1, 0x72, 0x3c,
- 0x3c, 0x42, 0x81, 0x81, 0x8f, 0x8f, 0x4e, 0x3c,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : S P A C E D L I N E S D E F I N I T I O N ----------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_LINES = 3;
- const uint8_t W_LINES = 8;
- static const uint8_t lines [F_LINES * W_LINES] PROGMEM =
- {
- 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00,
- 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00,
- 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : A R R O W F A D I N G D E F I N I T I O N ---------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_ARROW1 = 3;
- const uint8_t W_ARROW1 = 10;
- static const uint8_t arrow1 [F_ARROW1 * W_ARROW1] PROGMEM =
- {
- 0x18, 0x3c, 0x7e, 0xff, 0x7e, 0x00, 0x00, 0x3c, 0x00, 0x00,
- 0x18, 0x3c, 0x7e, 0xff, 0x00, 0x7e, 0x00, 0x00, 0x18, 0x00,
- 0x18, 0x3c, 0x7e, 0xff, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x18,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : A R R O W F A D I N G O U T S I D E D E F I N I T I O N ----------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_ARROW2 = 3;
- const uint8_t W_ARROW2 = 9;
- static const uint8_t arrow2 [F_ARROW2 * W_ARROW2] PROGMEM =
- {
- 0x18, 0x3c, 0x7e, 0xe7, 0x00, 0x00, 0xc3, 0x00, 0x00,
- 0x18, 0x3c, 0x7e, 0xe7, 0xe7, 0x00, 0x00, 0x81, 0x00,
- 0x18, 0x3c, 0x7e, 0xe7, 0x00, 0xc3, 0x00, 0x00, 0x81,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : Ż A G L Ó W K A S H I P D E F I N I T I O N -------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_SAILBOAT = 1;
- const uint8_t W_SAILBOAT = 11;
- static const uint8_t sailboat[F_SAILBOAT * W_SAILBOAT] PROGMEM =
- {
- 0x10, 0x30, 0x58, 0x94, 0x92, 0x9f, 0x92, 0x94, 0x98, 0x50, 0x30,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : T I T A N I C S T E A M D E F I N I T I O N -------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_STEAMBOAT = 2;
- const uint8_t W_STEAMBOAT = 11;
- const uint8_t steamboat[F_STEAMBOAT * W_STEAMBOAT] PROGMEM =
- {
- 0x10, 0x30, 0x50, 0x9c, 0x9e, 0x90, 0x91, 0x9c, 0x9d, 0x90, 0x71,
- 0x10, 0x30, 0x50, 0x9c, 0x9c, 0x91, 0x90, 0x9d, 0x9e, 0x91, 0x70,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : H E A R T D E F I N I T I O N ------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_HEART = 5;
- const uint8_t W_HEART = 9;
- static const uint8_t heart[F_HEART * W_HEART] PROGMEM =
- {
- 0x0e, 0x11, 0x21, 0x42, 0x84, 0x42, 0x21, 0x11, 0x0e,
- 0x0e, 0x1f, 0x33, 0x66, 0xcc, 0x66, 0x33, 0x1f, 0x0e,
- 0x0e, 0x1f, 0x3f, 0x7e, 0xfc, 0x7e, 0x3f, 0x1f, 0x0e,
- 0x0e, 0x1f, 0x33, 0x66, 0xcc, 0x66, 0x33, 0x1f, 0x0e,
- 0x0e, 0x11, 0x21, 0x42, 0x84, 0x42, 0x21, 0x11, 0x0e,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : N A J E Ż D Z C A Z K O S M O S U D E F I N I T I O N --------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_INVADER = 2;
- const uint8_t W_INVADER = 10;
- static const uint8_t invader[F_INVADER * W_INVADER] PROGMEM =
- {
- 0x0e, 0x98, 0x7d, 0x36, 0x3c, 0x3c, 0x36, 0x7d, 0x98, 0x0e,
- 0x70, 0x18, 0x7d, 0xb6, 0x3c, 0x3c, 0xb6, 0x7d, 0x18, 0x70,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : R A K I E T A Z K O S M O S U D E F I N I T I O N ------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_ROCKET = 2;
- const uint8_t W_ROCKET = 11;
- static const uint8_t rocket[F_ROCKET * W_ROCKET] PROGMEM =
- {
- 0x18, 0x24, 0x42, 0x81, 0x99, 0x18, 0x99, 0x18, 0xa5, 0x5a, 0x81,
- 0x18, 0x24, 0x42, 0x81, 0x18, 0x99, 0x18, 0x99, 0x24, 0x42, 0x99,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : F I R E B A L L D E F I N I T I O N ------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_FBALL = 2;
- const uint8_t W_FBALL = 11;
- static const uint8_t fireball[F_FBALL * W_FBALL] PROGMEM =
- {
- 0x7e, 0xab, 0x54, 0x28, 0x52, 0x24, 0x40, 0x18, 0x04, 0x10, 0x08,
- 0x7e, 0xd5, 0x2a, 0x14, 0x24, 0x0a, 0x30, 0x04, 0x28, 0x08, 0x10,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : C H E V R O N D E F I N I T I O N --------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_CHEVRON = 1;
- const uint8_t W_CHEVRON = 9;
- static const uint8_t chevron[F_CHEVRON * W_CHEVRON] PROGMEM =
- {
- 0x18, 0x3c, 0x66, 0xc3, 0x99, 0x3c, 0x66, 0xc3, 0x81,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : I D Ą C Y L U D Z I K D E F I N I T I O N ----------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_WALKER = 5;
- const uint8_t W_WALKER = 7;
- static const uint8_t walker[F_WALKER * W_WALKER] PROGMEM =
- {
- 0x00, 0x48, 0x77, 0x1f, 0x1c, 0x94, 0x68,
- 0x00, 0x90, 0xee, 0x3e, 0x38, 0x28, 0xd0,
- 0x00, 0x00, 0xae, 0xfe, 0x38, 0x28, 0x40,
- 0x00, 0x00, 0x2e, 0xbe, 0xf8, 0x00, 0x00,
- 0x00, 0x10, 0x6e, 0x3e, 0xb8, 0xe8, 0x00,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : S T R U K T U R A A N I M A C J I d l a D U S Z K Ó W ------------------------------ //
- // ------------------------------------------------------------------------------------------------------------- //
- struct Sprite
- {
- const uint8_t *data;
- uint8_t width;
- uint8_t frames;
- };
- Sprite sprite[] = {
- { walker, W_WALKER, F_WALKER },
- { invader, W_INVADER, F_INVADER },
- { chevron, W_CHEVRON, F_CHEVRON },
- { heart, W_HEART, F_HEART },
- { arrow1, W_ARROW1, F_ARROW1 },
- { steamboat, W_STEAMBOAT, F_STEAMBOAT },
- { fireball, W_FBALL, F_FBALL },
- { rocket, W_ROCKET, F_ROCKET },
- { roll2, W_ROLL2, F_ROLL2 },
- { pacman2, W_PMAN2, F_PMAN2 },
- { lines, W_LINES, F_LINES },
- { roll1, W_ROLL1, F_ROLL1 },
- { sailboat, W_SAILBOAT, F_SAILBOAT },
- { arrow2, W_ARROW2, F_ARROW2 },
- { wave, W_WAVE, F_WAVE },
- { pacman1, W_PMAN1, F_PMAN1 }
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // --- K A T A L O G E F E K T Ó W --- //
- // ------------------------------------------------------------------------------------------------------------- //
- struct Effect
- {
- textEffect_t effect;
- uint16_t speed;
- uint16_t pause;
- }
- efekt [] =
- {
- { PA_PRINT, 1, 1 },
- { PA_SCROLL_UP, 5, 1 },
- { PA_SCROLL_DOWN, 5, 1 },
- { PA_SCROLL_LEFT, 5, 1 },
- { PA_SCROLL_RIGHT, 5, 1 },
- { PA_SPRITE, 5, 1 },
- { PA_SLICE, 1, 1 },
- { PA_MESH, 20, 1 },
- { PA_FADE, 20, 1 },
- { PA_DISSOLVE, 7, 1 },
- { PA_BLINDS, 7, 1 },
- { PA_RANDOM, 3, 1 },
- { PA_WIPE, 5, 1 },
- { PA_WIPE_CURSOR, 4, 1 },
- { PA_SCAN_HORIZ, 4, 1 },
- { PA_SCAN_HORIZX, 4, 1 },
- { PA_SCAN_VERT, 3, 1 },
- { PA_SCAN_VERTX, 3, 1 },
- { PA_OPENING, 3, 1 },
- { PA_OPENING_CURSOR, 4, 1 },
- { PA_CLOSING, 3, 1 },
- { PA_CLOSING_CURSOR, 4, 1 },
- { PA_SCROLL_UP_LEFT, 7, 1 },
- { PA_SCROLL_UP_RIGHT, 7, 1 },
- { PA_SCROLL_DOWN_LEFT, 7, 1 },
- { PA_SCROLL_DOWN_RIGHT, 7, 1 },
- { PA_GROW_UP, 7, 1 },
- { PA_GROW_DOWN, 7, 1 }
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // ALL MATRIX DAY to PROGMEM MEMORY !!! ------------------------------------------------------------------------ //
- // ------------------------------------------------------------------------------------------------------------- //
- // jeśli POLISH jest true / if POLISH is true ------------------------------------------------------------------ //
- #if POLISH
- const char DAY_00 [] = "Niedziela";
- const char DAY_01 [] = "Poniedzialek";
- const char DAY_02 [] = "Wtorek";
- const char DAY_03 [] = "Sroda";
- const char DAY_04 [] = "Czwartek";
- const char DAY_05 [] = "Piatek";
- const char DAY_06 [] = "Sobota";
- const char DAY_07 [] = "Data: ";
- #endif
- // ------------------------------------------------------------------------------------------------------------- //
- #if ENGLISH
- const char DAY_00 [] = "Sunday";
- const char DAY_01 [] = "Monday";
- const char DAY_02 [] = "Tuesday";
- const char DAY_03 [] = "Wednesday";
- const char DAY_04 [] = "Thursday";
- const char DAY_05 [] = "Friday";
- const char DAY_06 [] = "Saturday";
- const char DAY_07 [] = "Date: ";
- #endif
- const char * DAY [] =
- {
- DAY_00, DAY_01, DAY_02, DAY_03, DAY_04, DAY_05,
- DAY_06, DAY_07
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // M O N T H / M I E S I Ą C E //
- // ------------------------------------------------------------------------------------------------------------- //
- #if POLISH
- const char MONTH_00 [] = "Error"; //
- const char MONTH_01 [] = "Styczen"; //
- const char MONTH_02 [] = "Luty"; //
- const char MONTH_03 [] = "Marzec"; //
- const char MONTH_04 [] = "Kwiecien"; //
- const char MONTH_05 [] = "Maj"; //
- const char MONTH_06 [] = "Czerwiec"; //
- const char MONTH_07 [] = "Lipiec"; //
- const char MONTH_08 [] = "Sierpien"; //
- const char MONTH_09 [] = "Wrzesien"; //
- const char MONTH_10 [] = "Pazdziernik"; //
- const char MONTH_11 [] = "Listopad"; //
- const char MONTH_12 [] = "Grudzien"; //
- #endif
- // --- ENGLISH MONTH is LANGUAGE is true --- angielskie miesiące jeśli makro LANGUAGE jest TRUE ---------------- //
- //
- #if ENGLISH
- const char MONTH_00 [] = "No Month"; // 0 = no month --- //
- const char MONTH_01 [] = "January"; // 1 = january --- //
- const char MONTH_02 [] = "February"; // 2 = february --- //
- const char MONTH_03 [] = "March"; // 3 = march --- //
- const char MONTH_04 [] = "April"; // 4 = april --- //
- const char MONTH_05 [] = "May"; // 5 = may --- //
- const char MONTH_06 [] = "June"; // 6 = june --- //
- const char MONTH_07 [] = "July"; // 7 = july --- //
- const char MONTH_08 [] = "August"; // 8 = august --- //
- const char MONTH_09 [] = "September"; // 9 = september --- //
- const char MONTH_10 [] = "October"; // 10= october --- //
- const char MONTH_11 [] = "November"; // 11= november --- //
- const char MONTH_12 [] = "December"; // 12= december --- //
- #endif
- const char* const MONTH [] = {
- MONTH_00, MONTH_01, MONTH_02, MONTH_03, MONTH_04, MONTH_05, MONTH_06,
- MONTH_07, MONTH_08, MONTH_09, MONTH_10, MONTH_11, MONTH_12
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S M I E S Z N E T E K S T Y N A P O N I E D Z I A L E K USED [ MEM PROG 336980 / MEM RAM 35796 ] //
- // USED [ MEM PROG 336976 / MEM RAM 35808 ] //
- // ------------------------------------------------------------------------------------------------------------- //
- const char MONDAY_MSG_00 [] = "Mozg to nie brwi, jak nie masz to nie narysujesz";
- const char MONDAY_MSG_01 [] = "Zamkneli wszystkie tereny zielone, zostala tylko Biedronka, Zabka i Stokrotka";
- const char MONDAY_MSG_02 [] = "To ja sobie tu zaczekam, az zmadrzejesz";
- const char MONDAY_MSG_03 [] = "Naprawde moge czegos chciec";
- const char MONDAY_MSG_04 [] = "Jestes super, tak ty, nie rozgladaj sie";
- const char MONDAY_MSG_05 [] = "Bycie madrym jest nie smieszne";
- const char MONDAY_MSG_06 [] = "Wszystko na co mam ochote, jest niemoralne, nielegalne albo powoduje tycie";
- const char MONDAY_MSG_07 [] = "Dzem dobry";
- const char MONDAY_MSG_08 [] = "Plan na dzis, kombinowac by sil starczylo do piatku";
- const char MONDAY_MSG_09 [] = "Kto sie kawa z rana poi, temu badyl ciagle stoi";
- const char MONDAY_MSG_10 [] = "Ochoto co robienia czegos co ma sens przybywaj";
- const char MONDAY_MSG_11 [] = "ABC Absolutny Brak Checi";
- const char MONDAY_MSG_12 [] = "Zara szlak mnie trafi";
- const char MONDAY_MSG_13 [] = "Nie lubie poniedzialkow";
- const char MONDAY_MSG_14 [] = "Czy moge zaczas jeszcze raz bo jakos mi nie wyszlo";
- const char MONDAY_MSG_15 [] = "Jestem ESP, twoje cyfrowe zwierzatka";
- const char MONDAY_MSG_16 [] = "Cwicze, bo lubie jesc";
- const char MONDAY_MSG_17 [] = "Poniedzialek pokonac trudno, ale starac sie trzeba";
- const char MONDAY_MSG_18 [] = "Dom jest tam, gdzie mozna wszystko po swojemu";
- const char MONDAY_MSG_19 [] = "Badz jak golab, sraj na wszystko";
- const char* const MONDAY_MSG [] = {
- MONDAY_MSG_00,MONDAY_MSG_01,MONDAY_MSG_02,MONDAY_MSG_03,MONDAY_MSG_04,
- MONDAY_MSG_05,MONDAY_MSG_06,MONDAY_MSG_07,MONDAY_MSG_08,MONDAY_MSG_09,
- MONDAY_MSG_10,MONDAY_MSG_11,MONDAY_MSG_12,MONDAY_MSG_13,MONDAY_MSG_14,
- MONDAY_MSG_15,MONDAY_MSG_16,MONDAY_MSG_17,MONDAY_MSG_18,MONDAY_MSG_19,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S M I E S Z N E T E K S T Y N A W T O R E K USED [ MEM PROG 338216 / MEM RAM 36824 ] //
- // USED [ MEM PROG 339224 / MEM RAM 37736 ] //
- // ------------------------------------------------------------------------------------------------------------- //
- const char TUESDAY_MSG_00 [] = "Mozg to nie brwi, jak nie masz to nie narysujesz";
- const char TUESDAY_MSG_01 [] = "Zamkneli wszystkie tereny zielone, zostala tylko Biedronka, Zabka i Stokrotka";
- const char TUESDAY_MSG_02 [] = "To ja sobie tu zaczekam, az zmadrzejesz";
- const char TUESDAY_MSG_03 [] = "Naprawde moge czegos chciec";
- const char TUESDAY_MSG_04 [] = "Jestes super, tak ty, nie rozgladaj sie";
- const char TUESDAY_MSG_05 [] = "Bycie madrym jest nie smieszne";
- const char TUESDAY_MSG_06 [] = "Wszystko na co mam ochote, jest niemoralne, nielegalne albo powoduje tycie";
- const char TUESDAY_MSG_07 [] = "Dzem dobry";
- const char TUESDAY_MSG_08 [] = "Plan na dzis, kombinowac by sil starczylo do piatku";
- const char TUESDAY_MSG_09 [] = "Kto sie kawa z rana poi, temu badyl ciagle stoi";
- const char TUESDAY_MSG_10 [] = "Ochoto co robienia czegos co ma sens przybywaj";
- const char TUESDAY_MSG_11 [] = "ABC Absolutny Brak Checi";
- const char TUESDAY_MSG_12 [] = "Zara szlak mnie trafi";
- const char TUESDAY_MSG_13 [] = "Nie lubie poniedzialkow";
- const char TUESDAY_MSG_14 [] = "Czy moge zaczas jeszcze raz bo jakos mi nie wyszlo";
- const char TUESDAY_MSG_15 [] = "Jestem ESP, twoje cyfrowe zwierzatka";
- const char TUESDAY_MSG_16 [] = "Cwicze, bo lubie jesc";
- const char TUESDAY_MSG_17 [] = "Poniedzialek pokonac trudno, ale starac sie trzeba";
- const char TUESDAY_MSG_18 [] = "Dom jest tam, gdzie mozna wszystko po swojemu";
- const char TUESDAY_MSG_19 [] = "Badz jak golab, sraj na wszystko";
- const char* const TUESDAY_MSG [] = {
- TUESDAY_MSG_00,TUESDAY_MSG_01,TUESDAY_MSG_02,TUESDAY_MSG_03,TUESDAY_MSG_04,
- TUESDAY_MSG_05,TUESDAY_MSG_06,TUESDAY_MSG_07,TUESDAY_MSG_08,TUESDAY_MSG_09,
- TUESDAY_MSG_10,TUESDAY_MSG_11,TUESDAY_MSG_12,TUESDAY_MSG_13,TUESDAY_MSG_14,
- TUESDAY_MSG_15,TUESDAY_MSG_16,TUESDAY_MSG_17,TUESDAY_MSG_18,TUESDAY_MSG_19,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S M I E S Z N E T E K S T Y N A Ś R O D Ę USED [ MEM PROG 339224 / MEM RAM 37738 ] //
- // USED [ MEM PROG 340180 / MEM RAM 38636 ] //
- // ------------------------------------------------------------------------------------------------------------- //
- const char WEDNESDAY_MSG_00 [] = "Mozg to nie brwi, jak nie masz to nie narysujesz";
- const char WEDNESDAY_MSG_01 [] = "Zamkneli wszystkie tereny zielone, zostala tylko Biedronka, Zabka i Stokrotka";
- const char WEDNESDAY_MSG_02 [] = "To ja sobie tu zaczekam, az zmadrzejesz";
- const char WEDNESDAY_MSG_03 [] = "Naprawde moge czegos chciec";
- const char WEDNESDAY_MSG_04 [] = "Jestes super, tak ty, nie rozgladaj sie";
- const char WEDNESDAY_MSG_05 [] = "Bycie madrym jest nie smieszne";
- const char WEDNESDAY_MSG_06 [] = "Wszystko na co mam ochote, jest niemoralne, nielegalne albo powoduje tycie";
- const char WEDNESDAY_MSG_07 [] = "Dzem dobry";
- const char WEDNESDAY_MSG_08 [] = "Plan na dzis, kombinowac by sil starczylo do piatku";
- const char WEDNESDAY_MSG_09 [] = "Kto sie kawa z rana poi, temu badyl ciagle stoi";
- const char WEDNESDAY_MSG_10 [] = "Ochoto co robienia czegos co ma sens przybywaj";
- const char WEDNESDAY_MSG_11 [] = "ABC Absolutny Brak Checi";
- const char WEDNESDAY_MSG_12 [] = "Zara szlak mnie trafi";
- const char WEDNESDAY_MSG_13 [] = "Nie lubie poniedzialkow";
- const char WEDNESDAY_MSG_14 [] = "Czy moge zaczas jeszcze raz bo jakos mi nie wyszlo";
- const char WEDNESDAY_MSG_15 [] = "Jestem ESP, twoje cyfrowe zwierzatka";
- const char WEDNESDAY_MSG_16 [] = "Cwicze, bo lubie jesc";
- const char WEDNESDAY_MSG_17 [] = "Poniedzialek pokonac trudno, ale starac sie trzeba";
- const char WEDNESDAY_MSG_18 [] = "Dom jest tam, gdzie mozna wszystko po swojemu";
- const char WEDNESDAY_MSG_19 [] = "Badz jak golab, sraj na wszystko";
- const char* const WEDNESDAY_MSG [] = {
- WEDNESDAY_MSG_00,WEDNESDAY_MSG_01,WEDNESDAY_MSG_02,WEDNESDAY_MSG_03,WEDNESDAY_MSG_04,
- WEDNESDAY_MSG_05,WEDNESDAY_MSG_06,WEDNESDAY_MSG_07,WEDNESDAY_MSG_08,WEDNESDAY_MSG_09,
- WEDNESDAY_MSG_10,WEDNESDAY_MSG_11,WEDNESDAY_MSG_12,WEDNESDAY_MSG_13,WEDNESDAY_MSG_14,
- WEDNESDAY_MSG_15,WEDNESDAY_MSG_16,WEDNESDAY_MSG_17,WEDNESDAY_MSG_18,WEDNESDAY_MSG_19,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S M I E S Z N E T E K S T Y N A C Z W A R T E K USED [ MEM PROG 340180 / MEM RAM 38636 ] //
- // USED [ MEM PROG 341188 / MEM RAM 39548 ] //
- // ------------------------------------------------------------------------------------------------------------- //
- const char THURSDAY_MSG_00 [] = "Mozg to nie brwi, jak nie masz to nie narysujesz";
- const char THURSDAY_MSG_01 [] = "Zamkneli wszystkie tereny zielone, zostala tylko Biedronka, Zabka i Stokrotka";
- const char THURSDAY_MSG_02 [] = "To ja sobie tu zaczekam, az zmadrzejesz";
- const char THURSDAY_MSG_03 [] = "Naprawde moge czegos chciec";
- const char THURSDAY_MSG_04 [] = "Jestes super, tak ty, nie rozgladaj sie";
- const char THURSDAY_MSG_05 [] = "Bycie madrym jest nie smieszne";
- const char THURSDAY_MSG_06 [] = "Wszystko na co mam ochote, jest niemoralne, nielegalne albo powoduje tycie";
- const char THURSDAY_MSG_07 [] = "Dzem dobry";
- const char THURSDAY_MSG_08 [] = "Plan na dzis, kombinowac by sil starczylo do piatku";
- const char THURSDAY_MSG_09 [] = "Kto sie kawa z rana poi, temu badyl ciagle stoi";
- const char THURSDAY_MSG_10 [] = "Ochoto co robienia czegos co ma sens przybywaj";
- const char THURSDAY_MSG_11 [] = "ABC Absolutny Brak Checi";
- const char THURSDAY_MSG_12 [] = "Zara szlak mnie trafi";
- const char THURSDAY_MSG_13 [] = "Nie lubie poniedzialkow";
- const char THURSDAY_MSG_14 [] = "Czy moge zaczas jeszcze raz bo jakos mi nie wyszlo";
- const char THURSDAY_MSG_15 [] = "Jestem ESP, twoje cyfrowe zwierzatka";
- const char THURSDAY_MSG_16 [] = "Cwicze, bo lubie jesc";
- const char THURSDAY_MSG_17 [] = "Poniedzialek pokonac trudno, ale starac sie trzeba";
- const char THURSDAY_MSG_18 [] = "Dom jest tam, gdzie mozna wszystko po swojemu";
- const char THURSDAY_MSG_19 [] = "Badz jak golab, sraj na wszystko";
- const char* const THURSDAY_MSG [] = {
- THURSDAY_MSG_00,THURSDAY_MSG_01,THURSDAY_MSG_02,THURSDAY_MSG_03,THURSDAY_MSG_04,
- THURSDAY_MSG_05,THURSDAY_MSG_06,THURSDAY_MSG_07,THURSDAY_MSG_08,THURSDAY_MSG_09,
- THURSDAY_MSG_10,THURSDAY_MSG_11,THURSDAY_MSG_12,THURSDAY_MSG_13,THURSDAY_MSG_14,
- THURSDAY_MSG_15,THURSDAY_MSG_16,THURSDAY_MSG_17,THURSDAY_MSG_18,THURSDAY_MSG_19,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S M I E S Z N E T E K S T Y N A P I Ą T E K USED [ MEM PROG 341188 / MEM RAM 39548 ] //
- // USED [ MEM PROG 342176 / MEM RAM 40456 ] //
- // ------------------------------------------------------------------------------------------------------------- //
- const char FRIDAY_MSG_00 [] = "Mozg to nie brwi, jak nie masz to nie narysujesz";
- const char FRIDAY_MSG_01 [] = "Zamkneli wszystkie tereny zielone, zostala tylko Biedronka, Zabka i Stokrotka";
- const char FRIDAY_MSG_02 [] = "To ja sobie tu zaczekam, az zmadrzejesz";
- const char FRIDAY_MSG_03 [] = "Naprawde moge czegos chciec";
- const char FRIDAY_MSG_04 [] = "Jestes super, tak ty, nie rozgladaj sie";
- const char FRIDAY_MSG_05 [] = "Bycie madrym jest nie smieszne";
- const char FRIDAY_MSG_06 [] = "Wszystko na co mam ochote, jest niemoralne, nielegalne albo powoduje tycie";
- const char FRIDAY_MSG_07 [] = "Dzem dobry";
- const char FRIDAY_MSG_08 [] = "Plan na dzis, kombinowac by sil starczylo do piatku";
- const char FRIDAY_MSG_09 [] = "Kto sie kawa z rana poi, temu badyl ciagle stoi";
- const char FRIDAY_MSG_10 [] = "Ochoto co robienia czegos co ma sens przybywaj";
- const char FRIDAY_MSG_11 [] = "ABC Absolutny Brak Checi";
- const char FRIDAY_MSG_12 [] = "Zara szlak mnie trafi";
- const char FRIDAY_MSG_13 [] = "Nie lubie poniedzialkow";
- const char FRIDAY_MSG_14 [] = "Czy moge zaczas jeszcze raz bo jakos mi nie wyszlo";
- const char FRIDAY_MSG_15 [] = "Jestem ESP, twoje cyfrowe zwierzatka";
- const char FRIDAY_MSG_16 [] = "Cwicze, bo lubie jesc";
- const char FRIDAY_MSG_17 [] = "Poniedzialek pokonac trudno, ale starac sie trzeba";
- const char FRIDAY_MSG_18 [] = "Dom jest tam, gdzie mozna wszystko po swojemu";
- const char FRIDAY_MSG_19 [] = "Badz jak golab, sraj na wszystko";
- const char* const FRIDAY_MSG [] = {
- FRIDAY_MSG_00,FRIDAY_MSG_01,FRIDAY_MSG_02,FRIDAY_MSG_03,FRIDAY_MSG_04,
- FRIDAY_MSG_05,FRIDAY_MSG_06,FRIDAY_MSG_07,FRIDAY_MSG_08,FRIDAY_MSG_09,
- FRIDAY_MSG_10,FRIDAY_MSG_11,FRIDAY_MSG_12,FRIDAY_MSG_13,FRIDAY_MSG_14,
- FRIDAY_MSG_15,FRIDAY_MSG_16,FRIDAY_MSG_17,FRIDAY_MSG_18,FRIDAY_MSG_19,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // O K A Z J O N A L N E K O M U N I K A T Y // <--- OTHER MSG Monday-Friday
- // ------------------------------------------------------------------------------------------------------------- // <--- można modyfikować tylko
- const char EX_MSG_00 [] = "Jest srodek nocy"; // time : 0 - 1
- const char EX_MSG_01 [] = "tu CPU: wszyscy spia, ja sie nudze"; // time : 1 - 2
- const char EX_MSG_02 [] = "Ktos tu nie spi? Ja, CPU!"; // time : 2 - 3
- const char EX_MSG_03 [] = "Ktos sie zaraz obudzi! BOSS"; // time : 3 - 4
- const char EX_MSG_04 [] = "tu CPU : czas na relax :-)"; // time : 4 - 5
- const char EX_MSG_05 [] = "Pobudka ! Ruszac dupeczki!"; // time : 5 - 6
- const char EX_MSG_06 [] = "Szczotka, kubek, ciepla woda"; // time : 6 - 7
- const char EX_MSG_07 [] = "Wyspani? Ruchy ruchy, sniadanko i wypad"; // time : 7 - 8
- const char EX_MSG_08 [] = "Kto tu jest? slysze kogos"; // time : 8 - 9
- const char EX_MSG_09 [] = "Tylko ja, kroliki i rybka"; // time : 9 - 10
- const char EX_MSG_10 [] = "tu CPU: nudy, nie ma nikogo"; // time : 10 - 11
- const char EX_MSG_11 [] = "jeszcze chwile i poludnie"; // time : 11 - 12
- const char EX_MSG_12 [] = "tu CPU: tesknie i czekam"; // time : 12 - 13
- const char EX_MSG_13 [] = "nie ma nie ma wody na pustyni"; // time : 13 - 14
- const char EX_MSG_14 [] = "nie ma to jak w domu :-)"; // time : 14 - 15
- const char EX_MSG_15 [] = "obiadek czas zjesc!"; // time : 15 - 16
- const char EX_MSG_16 [] = "ale w kolo jest wesolo"; // time : 16 - 17
- const char EX_MSG_17 [] = "kto dolki kopie ten sam w nie wpada"; // time : 17 - 18
- const char EX_MSG_18 [] = "czas na podwieczorek!"; // time : 18 - 19
- const char EX_MSG_19 [] = "co powiecie na herbatke?"; // time : 19 - 20
- const char EX_MSG_20 [] = "moze jakis film obejrzymy?"; // time : 20 - 21
- const char EX_MSG_21 [] = "Marcin i Wiki, wiecie ktora godzina?"; // time : 21 - 22
- const char EX_MSG_22 [] = "Bylo fajnie, ale pora spac"; // time : 22 - 23
- const char EX_MSG_23 [] = "tu CPU: pora na backupy"; // time : 23 - 24
- // --- NIE MODYFIKOWAC WSKAZNIKOW DO TABLICY EX_MSG !!! -------------------------------------------------------- //
- // --- AUTOMAT ------------------------------------------------------------------------------------------------- // <--- WEX_MSG CONST TAB !!!
- const char* const WEX_MSG [] = {
- EX_MSG_00,EX_MSG_01,EX_MSG_02,EX_MSG_03,EX_MSG_04,EX_MSG_05,EX_MSG_06,EX_MSG_07,
- EX_MSG_08,EX_MSG_09,EX_MSG_10,EX_MSG_11,EX_MSG_12,EX_MSG_13,EX_MSG_14,EX_MSG_15,
- EX_MSG_16,EX_MSG_17,EX_MSG_18,EX_MSG_19,EX_MSG_20,EX_MSG_21,EX_MSG_22,EX_MSG_23,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // O K A Z J O N A L N E K O M U N I K A T Y W S O B O T E // <--- MESSG for SATURDAY
- // FOR SATURDAY MESSAGES :-) change only mssg, don't touch structure !!! //
- // ------------------------------------------------------------------------------------------------------------- //
- const char ST_MSG_00 [] = "Jest srodek nocy"; // time : 0 - 1
- const char ST_MSG_01 [] = "Widze ciemnosc, widze ciemnosc"; // time : 1 - 2
- const char ST_MSG_02 [] = "Don't worry, by HAPPY"; // time : 2 - 3
- const char ST_MSG_03 [] = "Mozg to nie brwi, jak nie masz nie narysujesz"; // time : 3 - 4
- const char ST_MSG_04 [] = "Kocham moje lozko, a ono kocha mnie"; // time : 4 - 5
- const char ST_MSG_05 [] = "I Bog powiedzia, niech beda dane"; // time : 5 - 6
- const char ST_MSG_06 [] = "Niechaj sie stanie jasnosc"; // time : 6 - 7
- const char ST_MSG_07 [] = "Komenda nieznana :-)"; // time : 7 - 8
- const char ST_MSG_08 [] = "Milej soboty"; // time : 8 - 9
- const char ST_MSG_09 [] = "Kto rano wstaje ten sie w lustrze nie poznaje"; // time : 9 - 10
- const char ST_MSG_10 [] = "Wszystko co dobre sie dopiero zaczyna"; // time : 10 - 11
- const char ST_MSG_11 [] = "jeszcze chwile i poludnie"; // time : 11 - 12
- const char ST_MSG_12 [] = "Najczesciej spotykanym ssakiem gorskim jest goral"; // time : 12 - 13
- const char ST_MSG_13 [] = "Krolik sklada sie z glowy, brzuszka i kozuszka"; // time : 13 - 14
- const char ST_MSG_14 [] = "Pingwiny nie moga latac, bo nie maja smigiel"; // time : 14 - 15
- const char ST_MSG_15 [] = "Znanym drapieznikiem lesnym jest drapichrust."; // time : 15 - 16
- const char ST_MSG_16 [] = "ale w kolo jest wesolo"; // time : 16 - 17
- const char ST_MSG_17 [] = "kto dolki kopie ten sam w nie wpada"; // time : 17 - 18
- const char ST_MSG_18 [] = "czas na podwieczorek!"; // time : 18 - 19
- const char ST_MSG_19 [] = "co powiecie na herbatke?"; // time : 19 - 20
- const char ST_MSG_20 [] = "moze jakis film obejrzymy?"; // time : 20 - 21
- const char ST_MSG_21 [] = "Sobota jeszcze sie nie skonczyla"; // time : 21 - 22
- const char ST_MSG_22 [] = "Mozesz dzis posiedziec dluzej"; // time : 22 - 23
- const char ST_MSG_23 [] = "Slodkich snow"; // time : 23 - 24
- // --------------------------------------------------------------------------------- by my wife, Sylvia -------- //
- // --- NIE MODYFIKOWAC WSKAZNIKOW DO TABLICY ST_MSG !!! -------------------------------------------------------- //
- // --- AUTOMAT --- DON'T TOUCH --------------------------------------------------------------------------------- // <--- SATURDAY_MSG CONST TAB !!! DON'T TOUCH !!!
- const char* const SATURDAY_MSG [] =
- {
- ST_MSG_00,ST_MSG_01,ST_MSG_02,ST_MSG_03,ST_MSG_04,ST_MSG_05,ST_MSG_06,ST_MSG_07,
- ST_MSG_08,ST_MSG_09,ST_MSG_10,ST_MSG_11,ST_MSG_12,ST_MSG_13,ST_MSG_14,ST_MSG_15,
- ST_MSG_16,ST_MSG_17,ST_MSG_18,ST_MSG_19,ST_MSG_20,ST_MSG_21,ST_MSG_22,ST_MSG_23,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // O K A Z J O N A L N E K O M U N I K A T Y W N I E D Z I L E // <--- MESSG for SUNDAY
- // FOR SUNDAY MESSAGES :-) change only mssg, don't touch structure !!! //
- // ------------------------------------------------------------------------------------------------------------- //
- const char SU_MSG_00 [] = "Jest Niedziela"; // time : 0 - 1
- const char SU_MSG_01 [] = "Boom. Niedziela."; // time : 1 - 2
- const char SU_MSG_02 [] = "Ktos tu nie spi? Ja, CPU!"; // time : 2 - 3
- const char SU_MSG_03 [] = "Kto przytuli kroliczka"; // time : 3 - 4
- const char SU_MSG_04 [] = "tu CPU : czas na relax :-)"; // time : 4 - 5
- const char SU_MSG_05 [] = "Plan na dzis: wstac, przezyc, isc spac"; // time : 5 - 6
- const char SU_MSG_06 [] = "Piekna niedziela sie zapowiada"; // time : 6 - 7
- const char SU_MSG_07 [] = "Milej niedzieli zyczy ESP32"; // time : 7 - 8
- const char SU_MSG_08 [] = "Badz jak zuk, ciesz sie z byle gowna"; // time : 8 - 9
- const char SU_MSG_09 [] = "Przytul sie do misia"; // time : 9 - 10
- const char SU_MSG_10 [] = "Zero smutkow, zero zlosci, relaksik po calosci"; // time : 10 - 11
- const char SU_MSG_11 [] = "jeszcze chwile i poludnie"; // time : 11 - 12
- const char SU_MSG_12 [] = "Jesli nie robisz tego co lubisz tracisz czas"; // time : 12 - 13
- const char SU_MSG_13 [] = "nie ma nie ma wody na pustyni"; // time : 13 - 14
- const char SU_MSG_14 [] = "nie ma to jak w domu :-)"; // time : 14 - 15
- const char SU_MSG_15 [] = "W niedziele rosolek"; // time : 15 - 16
- const char SU_MSG_16 [] = "ale w kolo jest wesolo"; // time : 16 - 17
- const char SU_MSG_17 [] = "kto dolki kopie ten sam w nie wpada"; // time : 17 - 18
- const char SU_MSG_18 [] = "czas na przekaske!"; // time : 18 - 19
- const char SU_MSG_19 [] = "Jutro od rana poniedzialkowa kaszana"; // time : 19 - 20
- const char SU_MSG_20 [] = "Jutro poniedzialek, a bylo tak pieknie"; // time : 20 - 21
- const char SU_MSG_21 [] = "Marcin i Wiki"; // time : 21 - 22
- const char SU_MSG_22 [] = "Bylo fajnie, ale pora spac"; // time : 22 - 23
- const char SU_MSG_23 [] = "tu CPU: pora na backupy"; // time : 23 - 24
- // --------------------------------------------------------------------------------- by my wife, Sylvia -------- //
- // --- NIE MODYFIKOWAC WSKAZNIKOW DO TABLICY ST_MSG !!! -------------------------------------------------------- //
- // --- AUTOMAT --- DON'T TOUCH --------------------------------------------------------------------------------- // <--- SUNDAY_MSG CONST TAB !!! DON'T TOUCH !!!
- const char* const SUNDAY_MSG [] =
- {
- SU_MSG_00,SU_MSG_01,SU_MSG_02,SU_MSG_03,SU_MSG_04,SU_MSG_05,SU_MSG_06,SU_MSG_07,
- SU_MSG_08,SU_MSG_09,SU_MSG_10,SU_MSG_11,SU_MSG_12,SU_MSG_13,SU_MSG_14,SU_MSG_15,
- SU_MSG_16,SU_MSG_17,SU_MSG_18,SU_MSG_19,SU_MSG_20,SU_MSG_21,SU_MSG_22,SU_MSG_23,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // P R Z Y S Ł O W I A D O M I E S I Ę C Y // <--- przysłowia miesięcy
- // ------------------------------------------------------------------------------------------------------------- //
- const char PROVERBS_00 [] = "Siala baba mak nie wiedziala jak";
- const char PROVERBS_01 [] = "Gdy styczen z mgla chodzi, mokra i wczesna wiosna sie zrodzi";
- const char PROVERBS_02 [] = "Idzie luty, podkuj buty";
- const char PROVERBS_03 [] = "W marcu jak w garncu";
- const char PROVERBS_04 [] = "Kwiecien plecien, bo przeplata, troche zimy, troche lata";
- const char PROVERBS_05 [] = "W majuuu jak w rajuuu";
- const char PROVERBS_06 [] = "Czerwiec na maju zwykle się wzoruje, jego pluchy, pogody, często nasladuje";
- const char PROVERBS_07 [] = "W lipcu upaly, styczen mrozny cały";
- const char PROVERBS_08 [] = "Czego sierpien nie dowarzy, wrzesies tego nie doparzy";
- const char PROVERBS_09 [] = "Jaki pierwszy wrzesien, taka będzie jesien";
- const char PROVERBS_10 [] = "Gdy pazdziernik mrozny, to nie będzie styczen grozny";
- const char PROVERBS_11 [] = "Deszcz z poczatkiem listopada, mrozy w styczniu zapowiada";
- const char PROVERBS_12 [] = "Jesli w grudniu czesto dmucha, to w marcu i kwietniu plucha";
- // --- AUTOMAT ------------------------------------------------------------------------------------------------- //
- // --- don't change --- nie zmieniaj --- [] table --- const char * --- size 13 --------------------------------- // <--- table of polish month proverbs
- // --- AUTOMAT ------------------------------------------------------------------------------------------------- //
- const char* const PRZYSLOWIA [] =
- {
- PROVERBS_00,
- PROVERBS_01, PROVERBS_02, PROVERBS_03, PROVERBS_04, PROVERBS_05, PROVERBS_06,
- PROVERBS_07, PROVERBS_08, PROVERBS_09, PROVERBS_10, PROVERBS_11, PROVERBS_12
- };
- // --------------------------------------------------------------------------------- by my wife, Sylvia -------- //
- // ------------------------------------------------------------------------------------------------------------- // <--- przysłowia dnia tygodnia :)
- const char D_PROVBS_00 [] = "Dla pracy sa zwykle dzionki, a niedziela dla malzonki";
- const char D_PROVBS_01 [] = "Kto w poniedzialek przeproznuje, we wtorek nie bedzie mial co jesc";
- const char D_PROVBS_02 [] = "Czlowiek jest jak wtorek: dzis jest, jutro go nie ma";
- const char D_PROVBS_03 [] = "Wtorek srode wział pod brode, chodzmy sitkiem czerpac wode";
- const char D_PROVBS_04 [] = "Dzis musi byc czwartek. Nigdy nie moglem się połapac, o co chodzi w czwartki";
- const char D_PROVBS_05 [] = "Tyle na swiecie porzadku, ze sobota po piatku";
- const char D_PROVBS_06 [] = "Kto w sobote pierze, ten sie w niedzielę nie ubierze";
- const char * const SLOWO_DNIA [] =
- {
- D_PROVBS_00, D_PROVBS_01, D_PROVBS_02, D_PROVBS_03,
- D_PROVBS_04, D_PROVBS_05, D_PROVBS_06
- };
- // --------------------------------------------------------------------------------- by my wife, Sylvia -------- //
- // DUŻE CYFRY 0 1 2 3 4 5 6 7 8 9
- const char * DuzeCyfry[10] = { "\27", "\1", "\2", "\3", "\4", "\5", "\6", "\7", "\10", "\11" };
- // NORMALNE CYFRY 0 1 2 3 4 5 6 7 8 9
- const char * NormalneCyfry[10] = { "\60", "\61", "\62", "\63", "\64", "\65", "\66", "\67", "\70", "\71" };
- // MAŁE CYFRY 0 1 2 3 4 5 6 7 8 9
- const char * MaleCyfry[10] = { "\12", "\13", "\14", "\15", "\16", "\17", "\20", "\21", "\22", "\23" };
- // ------------------------------------------------------------------------------------------------------------- //
- // --- klasa Matryca --- //
- // ------------------------------------------------------------------------------------------------------------- //
- class Matryca
- {
- // -------------------------------------- // ------------------------------------------------- //
- // --- zmienne i funkcje prywatne ------- // //
- // -------------------------------------- // ------------------------------------------------- //
- private:
- // -------------------------------------- // ------------------------------------------------- //
- // --- adres obiektu MD_Parola ---------- // //
- // -------------------------------------- // ------------------------------------------------- //
- MD_Parola &P;
- // -------------------------------------- // ------------------------------------------------- //
- // --- zmienne prywatne klasy Matryca --- // P R I V A T E V A R I A B L E --- //
- // -------------------------------------- // ------------------------------------------------- //
- uint8_t SpriteSize = 0; // rozmiar tablicy z duszkami
- uint8_t EffectSize = 0; // rozmiar tablicy z efektami
- uint8_t MaxMsgSize = 0; // rozmiar tablicy z wiadomosciami
- uint8_t MaxDaySize = 0; // rozmiar tablicy z dniami tygodnia
- uint8_t MaxMonthSize = 0; // rozmiar tablicy z miesiacami
- uint8_t ExMsgSize = 0; // rozmiar tablicy EX_MSG (poniedziałek-piątek)
- uint8_t SundayMsgSize = 0; // rozmiar tablicy SUNDAY_MSG
- uint8_t SaturdayMsgSize = 0; // rozmiar tablicy SATURDAY_MSG
- uint8_t MondayMsgSize = 0; // rozmiar tablicy MONDAY_MSG
- uint8_t TuesdayMsgSize = 0; // rozmiar tablicy TUESDAY_MSG
- uint8_t WednesdayMsgSize = 0; // rozmiar tablicy WEDNESDAY_MSG
- uint8_t ThursdayMsgSize = 0; // rozmiar tablicy THURSDAY_MSG
- uint8_t FridayMsgSize = 0; // rozmiar tablicy FRIDAY_MSG
- char LongDate[50]; // bufor : długa data
- char ShortDate[50]; // bufor : krótka data
- char ShortTime[20]; // bufor : krotki czas
- char Temperatura[30]; // bufor : temperatura st.C
- char Cisnienie[30]; // bufor : cisnienie hPa
- char Wilgotnosc[30]; // bufor : wilgotnosc %HG
- char Wiatr[30]; // bufor : predkosc wiatru km/h
- char Widocznosc[30]; // bufor : widocznosc [m]
- char Zachmurzenie[30]; // bufor : zachmurzenie [ % ]
- char WschodSlonca[30]; // bufor : wschód słońca (godzina,minuta)
- char ZachodSlonca[30]; // bufor : zachód słońca (godzina,minuta)
- char CpuFreqMHz[20]; // bufor : CPU freq MHz
- char FreeMemory[20]; // bufor : wolna pamieć
- char TotalRAM [20]; // bufor : pamięć RAM całkowita
- char SketchSIZE[20]; // bufor : rozmiar Sketch'a
- char FreeSIZE[20]; // bufor : wolna pamięć Sketch'a
- char TIME_MSG_Buffor[50]; // bufor : dla Time_Work/Free_EXMSG_Set();
- uint8_t F_mem_godzina = 0; // dodano F_ niech będzie jako flaga mem time
- uint8_t F_now_godzina = 0; // dodano F_ niech będzie jako flaga now time
- char MonthProverbsBuffor[100]; // bufor : dla PRZYSLOWIE [] MIESIACA
- uint8_t F_mem_miesiac = 0; // dodano F_ niech będzie jako flaga mem month
- uint8_t F_now_miesiac = 0; // dodano F_ niech będzie jako flaga now month
- char DayProverbsBuffor[100]; // bufor : dla PRZYSLOWIE [] DNIA
- uint8_t F_mem_dzien = 0; // dodano do F_ niech bedzie jako flaga mem day
- uint8_t F_now_dzien = 0; // dodano do F_ niech będzie jako flaga now day
- char DayMsgBuffor[100]; // bufor : powiedzonko na dzień
- // ------------------------------------------------------------------------------------------- //
- // --- PRIVATE METHOD --- METODY PRYWATNE --- DEKLARACJE ------------------------------------- //
- // ------------------------------------------------------------------------------------------- //
- void Time_Work_EXMSG_Set(); // ustaw wiadomosc wg. czasu w dni powszednie
- void Time_Free_EXMSG_Set(); // ustaw wiadomosc wg. czasu w dni wolne
- void Time_EXMSG_Show(); // wyswietl jako scrool (private method only)
- void Month_Proverbs_Set(); // skopiuj przyslowie do bufora MonthProverbsBuffor
- void Month_Proverbs_Show(); // wyświetl jako scrool (private method only)
- void Day_Proverbs_Set(); // skopiuj słowo dnia do bufora DayProverbsBuffor
- void Day_Proverbs_Show(); // wyświetl jako scrool (private method only)
- void Day_MSG_Set(); // ustaw powiedzonko do wyswietlenia
- public:
- // ------------------------------------------------------------------------------ //
- // --- konstruktor -------------------------------------------------------------- //
- // ------------------------------------------------------------------------------ //
- Matryca(MD_Parola & adrP) : P ( adrP ) { }
- // ------------------------------------------------------------------------------ //
- // --- setup -------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------ //
- void Setup()
- {
- // zapisz do zmiennych max. rozmiar tablicy
- // --------------------------------------------------------------------------- //
- SpriteSize = ARRAY_SIZE ( sprite ); // ustal rozmiar tablicy sprite
- EffectSize = ARRAY_SIZE ( efekt ); // ustal rozmiar tablicy effect
- MaxMsgSize = ARRAY_SIZE ( MSG ); // ustal rozmiar tablicy MSG
- MaxDaySize = ARRAY_SIZE ( DAY ); // ustal rozmiar tablicy DAY
- MaxMonthSize = ARRAY_SIZE ( MONTH ); // ustal rozmiar tablicy MONTH
- ExMsgSize = ARRAY_SIZE ( WEX_MSG ); // ustal rozmiar tablicy EX_MSG
- SundayMsgSize = ARRAY_SIZE ( SUNDAY_MSG ); // ustal rozmiar tablicy SUNDAY MSG
- SaturdayMsgSize = ARRAY_SIZE ( SATURDAY_MSG ); // ustal rozmiar tablicy SATURDAY MSG
- MaxDaySize = ARRAY_SIZE ( DAY ); // ustal rozmiar tablicy DAY
- MaxMonthSize = ARRAY_SIZE ( MONTH ); // ustal rozmiar tablicy MONTH
- MondayMsgSize = ARRAY_SIZE ( MONDAY_MSG ); // ustal rozmiar tablicy MONDAY
- TuesdayMsgSize = ARRAY_SIZE ( TUESDAY_MSG ); // ustal rozmiar tablicy TUESDAY
- WednesdayMsgSize = ARRAY_SIZE ( WEDNESDAY_MSG ); // ustal rozmiar tablicy WEDNESDAY
- ThursdayMsgSize = ARRAY_SIZE ( THURSDAY_MSG ); // ustal rozmiar tablicy THURSDAY
- FridayMsgSize = ARRAY_SIZE ( FRIDAY_MSG ); // ustal rozmiar tablocy FRIDAY
- // --------------------------------------------------------------------------- //
- for (uint8_t i=0; i<EffectSize; i++)
- {
- efekt[i].speed *= P.getSpeed();
- efekt[i].pause *= 500;
- }
- // --------------------------------------------------------------------------- //
- // jeśli TERMINAL włączony
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA", "SETUP");
- tools.PokazWiadomosc("MATRYCA", "SPRITE TAB SIZE", String(SpriteSize).c_str());
- tools.PokazWiadomosc("MATRYCA", "EFFECT TAB SIZE", String(EffectSize).c_str());
- tools.PokazWiadomosc("MATRYCA", "MAX DAY TAB SIZE", String(MaxDaySize).c_str());
- tools.PokazWiadomosc("MATRYCA", "MAX MONTH TAB SIZE", String(MaxMonthSize).c_str());
- tools.PokazWiadomosc("MATRYCA", "MAX MSG TAB SIZE", String(MaxMsgSize).c_str());
- tools.PokazWiadomosc("MATRYCA", "MONDAY TAB SIZE", String(MondayMsgSize).c_str());
- tools.PokazWiadomosc("MATRYCA", "TUESDAY TAB SIZE", String(TuesdayMsgSize).c_str());
- tools.PokazWiadomosc("MATRYCA", "WEDNESDAY TAB SIZE", String(WednesdayMsgSize).c_str());
- tools.PokazWiadomosc("MATRYCA", "THURSDAY TAB SIZE", String(ThursdayMsgSize).c_str());
- tools.PokazWiadomosc("MATRYCA", "FRIDAY TAB SIZE", String(FridayMsgSize).c_str());
- tools.PokazWiadomosc("MATRYCA", "SATURDAY TAB SIZE", String(SaturdayMsgSize).c_str());
- tools.PokazWiadomosc("MATRYCA", "SUNDAY TAB SIZE", String(SundayMsgSize).c_str());
- #endif
- }
- // ------------------------------------------------------------------------------------------- //
- // --- PUBLIC METHOD --- METODY PUBLICZNE --- DEKLARACJE ------------------------------------- //
- // ------------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------- //
- // --- M E T O D Y P U B L I C Z N E E N G I N E v0.01 --- //
- // ------------------------------------------------------------------------------------------- //
- void SpriteDemo(); // demo z duszkami
- void EffectDemo(); // demo z efektami
- void RandomDemo(); // demo : duszki lub efekty
- void ShowLongDate(); // wyswietl dluga date
- void ShowShortDate(); // wyswietl krotka date
- void ShowShortTime(); // pokaz czas - wersja Short
- void ShowTemperature(); // pokaz temperature
- void ShowPressure(); // pokaz cisnienie
- void ShowHumidity(); // pokaz wilgotnosc
- void ShowWind(); // pokaz wiatr
- void ShowSunrise(); // pokaz wschod slonca
- void ShowSunset(); // pokaz zachod slonca
- void ShowClouds(); // pokaz zachmurzenie
- void ShowVisibility(); // pokaz widocznosc
- // ------------------------------------------------------------------------------------------- //
- // --- M E T O D Y P U B L I C Z N E E N G I N E v0.02 --- //
- // ------------------------------------------------------------------------------------------- //
- void Dane2Bufor(); // BUDUJ BUFORY POGOWE
- void Czas2Bufor(); // BUDUJ BUFORY CZASU
- void Data2Bufor(); // BUDUJ BUFORY DATY
- void System2Bufor(); // BUDUJ BUFORY SYSTEMOWE
- void PokazCzas_Typ1(); // duży zegar !!!
- void PokazCzas_Typ2(); // normalny zegar !!!
- void WyswietlPogode(); // wyświetl pogodę !!!
- void WyswietlSystem(); // wyświetl gadżety !!!
- void ShowCpu(); // pokaz predkosc cpu
- void ShowFreeMemory(); // pokaz wolna pamiec
- void ShowSketchSize();
- void ShowFreeSketchSize();
- void ShowFlashChipSize();
- void ShowLesson(const char *przedmiot); // wyświetl 0min przed e-lekcją
- void ShowReminderLesson(const char *przedmiot); // wyswietl 5min przed e-lekcją
- void ShowSundayMsg(); // losowe wiadomosci w niedziele
- void ShowSaturdayMsg(); // losowe wiadomosci w sobote
- void ShowDayMsg(); // losowe wiadomosci w dni robocze
- };
- // --------------------------------------------------------------------------------------------------- //
- // //
- // M E T O D Y P R Y W A T N E //
- // E N G I N E V 0 0 1 //
- // //
- // --------------------------------------------------------------------------------------------------- //
- // --- load to buffor: TIME_MSG_Buffor[50] -> message from WEX_MSG[ExMsgSize] --- //
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::Time_Work_EXMSG_Set()
- {
- if( F_now_godzina != F_mem_godzina ) // optymalizacja, buforuj gdy ma sens
- { // bo jesli nie zmienila sie godzina
- strcpy( TIME_MSG_Buffor, WEX_MSG[ F_now_godzina ] ); // to zawartosc tresci bufora się nie
- F_mem_godzina = F_now_godzina; // zmienia, przypisz czas by fakowac
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // JAKO PRYWATNA !!! nie dostępna z zewnątrz klasy !!! tylko z RandomDEMO !!! --- //
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::Time_EXMSG_Show()
- {
- Time_Work_EXMSG_Set(); // sprawdz bufor czy aktualny
- if(P.displayAnimate())
- {
- P.displayText(TIME_MSG_Buffor, PA_CENTER, 20, 0, efekt[3].effect, efekt[3].effect);
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Time EXMSG", TIME_MSG_Buffor);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // JAKO PRYWATNA METODA !!! nie dostępna z zewnątrz klasy !!! tylko z RandomDEMO --- // <--- set Month Provebs and copy 2 Buffor
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::Month_Proverbs_Set()
- {
- if( F_now_miesiac != F_mem_miesiac ) // optymalizacja, buforuj gdy ma sens
- { // bo jesli nie zmienil sie miesiac
- strcpy( MonthProverbsBuffor, PRZYSLOWIA[ F_now_miesiac ] );
- F_mem_miesiac = F_now_miesiac;
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // JAKO PRYWATNA !!! Nie dostępna z zewnątrz klasy !!! tylko z RandomDemo !!! // <--- Show Month Provebs (P R I V A T E O N L Y)
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::Month_Proverbs_Show()
- {
- Month_Proverbs_Set(); // sprawdz bufor czy aktualny
- if(P.displayAnimate())
- {
- P.displayText(MonthProverbsBuffor, PA_CENTER, 20, 0, efekt[3].effect, efekt[3].effect);
- #if TERMINAL
- Serial.printf("class Matryca -> PROVERBS_SHOW -> Wyswietlam : %s\n", MonthProverbsBuffor);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // JAKO PRYWATNA METODA !!! nie dostępna z zewnątrz klasy !!! ustal dzien tygodnia i kopiuj do BUFF // <--- set Day Provebs and copy 2 Buffor
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::Day_Proverbs_Set()
- {
- if ( F_now_dzien != F_mem_dzien ) // optymalizacja, buforuj gdy ma sens
- {
- strcpy( DayProverbsBuffor, SLOWO_DNIA[ F_now_dzien ] );
- F_mem_dzien = F_now_dzien;
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // JAKO PRYWATNA METOFA!!! Nie dostępna z zewnątrz klasy !!! tylko z RandomDEMO !!! // <--- Show Day Proverbs (PRIVATE ONLY)
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::Day_Proverbs_Show()
- {
- Day_Proverbs_Set(); // sprawdz bufor czy aktualny (PRIV)
- if(P.displayAnimate())
- {
- P.displayText(DayProverbsBuffor, PA_CENTER, 20, 0, efekt[3].effect, efekt[3].effect);
- #if TERMINAL
- Serial.printf("class Matryca -> DAY_PROV_SHOW -> Wyswietlam : %s\n", DayProverbsBuffor);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // JAKO PRYWATNA METODA !!! wylosuj i wrzuc do bufora jakies powiedzonko //
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::Day_MSG_Set()
- {
- uint8_t curMSG;
- switch (czas.DzienTygodnia)
- {
- case 0 : curMSG = ESP8266TrueRandom.random(0, SundayMsgSize - 1); // wylosuj NIEDZIELA
- strcpy( DayMsgBuffor, SUNDAY_MSG[ curMSG ]); // skopiuj do bufora
- break; // przerwij
- case 1 : curMSG = ESP8266TrueRandom.random(0, MondayMsgSize - 1); // wylosuj PONIEDZIALEK
- strcpy( DayMsgBuffor, MONDAY_MSG[ curMSG ] ); // skopiuj do bufora
- break; // przerwij
- case 2 : curMSG = ESP8266TrueRandom.random(0, TuesdayMsgSize - 1); // wylosuj WTOREK
- strcpy( DayMsgBuffor, TUESDAY_MSG[ curMSG ]); // skopiuj do bufora
- break; // przerwij
- case 3 : curMSG = ESP8266TrueRandom.random(0, WednesdayMsgSize - 1); // wylosuj ŚRODA
- strcpy( DayMsgBuffor, WEDNESDAY_MSG[ curMSG ]); // skopiuj do bufora
- break; // przerwij
- case 4 : curMSG = ESP8266TrueRandom.random(0, ThursdayMsgSize - 1 ); // wylosuj CZWARTEK
- strcpy( DayMsgBuffor, THURSDAY_MSG[ curMSG ]); // skopiuj do bufora
- break; // przerwij
- case 5 : curMSG = ESP8266TrueRandom.random(0, FridayMsgSize - 1 ); // wylosuj PIĄTEK
- strcpy( DayMsgBuffor, FRIDAY_MSG[ curMSG ]); // skopiuj do bufora
- break; // przerwij
- case 6 : curMSG = ESP8266TrueRandom.random(0, SaturdayMsgSize - 1); // wylosuj SOBOTA
- strcpy( DayMsgBuffor, SATURDAY_MSG [ curMSG ]); // skopiuj do bufora
- break; // przerwij
- default : break;
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // --- PUBLIC METHOD --- METODY PUBLICZNE ------------------------------------------------------------ //
- // --------------------------------------------------------------------------------------------------- //
- //
- // void Matryca::SpriteDemo(); // demo z duszkami, napisy z listy MSG[]
- // void Matryca::EffectDemo(); // demo z efektami, napisy z listy MSG[]
- // void Matryca::RandomDemo(); // demo losowe (duszki, efekty)
- // void Matryca::ShowLongDate(); // pokazuje długą datę - scroll w lewo
- // void Matryca::ShowShortDate(); // pokazuje krótką datę - scroll w prawo
- // void Matryca::ShowShortTime(); // pokazuje czas - efekt losowy
- // void Matryca::Date2Char(); // buduje bufor char ShortDate i LongDate
- // void Matryca::Time2Char(); // buduje bufor char ShortTime
- // void Matryca::Temp2Char(); // buduje bufory char: temp, wilg, cisn, wiatr
- // void Matryca::ShowTemperature(); // pokaz temperature st.C - scroll w lewo
- // void Matryca::ShowPressure(); // poaz cisnienie atmosferyczne - scrool w lewo
- // void Matryca::ShowHumidity(); // pokaz wilgotnosc powietrza - scrool w lewo
- // void Matryca::ShowWind(); // pokaz predkosc wiatru -scrool w lewo
- // void Matryca::ShowSunrise(); // pokaz o ktorej wschod slonca
- // void Matryca::ShowSunset(); // pokaz o ktorej zachod slonca
- // void Matryca::ShowClouds(); // pokaz zachmurzenie nieba
- // void Matryca::ShowVisibility() // pokaz widzialność [ km ]
- // void Matryca::Dane2Bufor(); // buduje bufory pogodowe
- // void Matryca::PokazCzas_Typ1(); // pokazuje wielki zegar
- // void Matryca:;PokazCzas_Typ2(); // pokazuje normalny zegar
- // void Matryca::WyswietlPogode(); // wyświetla pogodę
- // void Matryca::ShowFreeMemory(); // pokaz wolną pamięć RAM
- // void Matryca::ShowCpu(); // pokaz prędkość procesora [ MHz ]
- // void Matryca::ShowSketchSize(); // pokaz rozmiar sketch'a
- // void Matryca::ShowFreeSketchSize(); // pokaz wolny rozmiar dla sketch'a
- // void Matryca::ShowFlashChipSize(); // pokaz wolna pamiec Flash Chip
- // void Matryca::ShowLesson(const char *przedmiot); // jaka lekcja się zaczęła
- // void Matryca::ShowReminderLesson(const char *przedmiot); // 5 min przed lekcją przypomnij
- // void Matryca::void ShowSundayMsg() // losowe napisy w niedzielę
- // void Matryca::void ShowSaturdayMsg() // losowe napisy w sobotę
- // void Matryca::void ShowDayMsg() // losowe napisy od Poniedzialku do Piatku
- // //
- // --------------------------------------------------------------------------------------------------- //
- //
- //
- //
- //
- //
- // --------------------------------------------------------------------------------------------------- //
- // --- ShowDayMsg - wyświetla informacje losowe w poniedzialek, wtorek, sroda, czwartek, piatek --- //
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowDayMsg()
- {
- if(P.displayAnimate())
- {
- Day_MSG_Set(); // wylosuj wiadomosc do wyświetlenia
- P.displayText(DayMsgBuffor, PA_CENTER, 20, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","ShowDayMsg", DayMsgBuffor);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // --- ShowSaturdayMsg - wyświetla informacje losowe w sobotę
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowSaturdayMsg()
- {
- if(P.displayAnimate())
- {
- uint8_t curMSG = ESP8266TrueRandom.random(0, SaturdayMsgSize - 1); // wylosuj napis
- P.displayText(SATURDAY_MSG[curMSG], PA_CENTER, 20, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","ShowSundayMsg", SATURDAY_MSG[curMSG]);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // --- ShowSundayMsg - wyświetla informacje losowe w niedzielę
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowSundayMsg()
- {
- if(P.displayAnimate())
- {
- uint8_t curMSG = ESP8266TrueRandom.random(0, SundayMsgSize - 1); // wylosuj napis z SUNDAY_MSG
- P.displayText(SUNDAY_MSG[curMSG], PA_CENTER, 20, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","ShowSundayMsg", SUNDAY_MSG[curMSG]);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // --- ShowLesson - wyświetla informacje o zaczynajacej się e-lekcji
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowLesson(const char *przedmiot)
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, EffectSize - 1); // wylosuj efekt
- if(P.displayAnimate())
- {
- P.displayText(przedmiot, PA_CENTER, efekt[curEFX].speed, efekt[curEFX].pause,
- efekt[curEFX].effect, efekt[curEFX].effect);
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","ShowLesson", przedmiot);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // --- ShowReminderLesson - wyświetla informacje o zaczynajacej się e-lekcji (5min przed)
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowReminderLesson(const char *przedmiot)
- {
- if(P.displayAnimate())
- P.displayText(przedmiot, PA_CENTER, 20, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
- // --------------------------------------------------------------------------------------------- //
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Flash SIZE", TotalRAM);
- #endif
- }
- // --------------------------------------------------------------------------------------------------- //
- // --- Demo z duszkami - wykorzystuje napisy z tablicy MSG ------------------------------------------- //
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::SpriteDemo()
- {
- if (P.displayAnimate())
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, SpriteSize - 1); // wylosuj duszka
- uint8_t curMSG = ESP8266TrueRandom.random(0, MaxMsgSize - 1); // wylosuj napis
- P.setSpriteData(sprite[curEFX].data,sprite[curEFX].width,sprite[curEFX].frames, // wejście duszka
- sprite[curEFX].data,sprite[curEFX].width,sprite[curEFX].frames); // wyjście duszka
- P.displayText(MSG[curMSG], PA_CENTER, 20, 100, PA_SPRITE, PA_SPRITE);
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","SPRITE DEMO", MSG[curMSG]);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // --- Demo z efektami - wykorzystuje napisy z tablicy MSG ------------------------------------------- //
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::EffectDemo()
- {
- if(P.displayAnimate())
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, EffectSize - 1); // wylosuj efekt
- uint8_t curMSG = ESP8266TrueRandom.random(0, MaxMsgSize - 1); // wylosuj napis
- P.displayText(MSG[curMSG], PA_CENTER, efekt[curEFX].speed, efekt[curEFX].pause,
- efekt[curEFX].effect, efekt[curEFX].effect);
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","EFFECT DEMO", MSG[curMSG]);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // D E M O R A N D O M - S P R I T E O R E F F E C T //
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::RandomDemo()
- {
- if(P.displayAnimate())
- {
- switch ( ESP8266TrueRandom.random(0,20) ) // wylosuj demo
- {
- case 0 : EffectDemo(); break;
- case 1 : SpriteDemo(); break;
- case 2 : ShowLongDate(); break;
- case 3 : Month_Proverbs_Show(); break;
- case 4 : ShowShortTime(); break;
- case 5 : ShowTemperature(); break;
- case 6 : ShowPressure(); break;
- case 7 : Time_EXMSG_Show(); break; // private method only
- case 8 : ShowWind(); break;
- case 9 : ShowSunrise(); break;
- case 10 : ShowSunset(); break;
- case 11 : ShowClouds(); break;
- case 12 : ShowVisibility(); break;
- case 13 : Time_EXMSG_Show(); break; // private method only
- case 14 : ShowHumidity(); break;
- case 15 : SpriteDemo(); break; // repeat --- 50% to random
- case 16 : EffectDemo(); break; // repeat --- 50% to random
- case 17 : Month_Proverbs_Show(); break;
- case 18 : Day_Proverbs_Show(); break;
- case 19 : ShowShortDate(); break;
- default : break;
- } // end switch
- } // end if
- }
- // --------------------------------------------------------------------------------------------------- //
- // SYSTEM 2 BUFOR //
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::System2Bufor()
- {
- String bMEM = "FREE RAM: " + String(ESP.getFreeHeap()) + "kB";
- int str_len = bMEM.length() + 1;
- bMEM.toCharArray(FreeMemory, str_len) ;
- bMEM = "TOTAL RAM: " + String(ESP.getFlashChipSize()/1000) + "kB";
- str_len = bMEM.length() + 1;
- bMEM.toCharArray(TotalRAM, str_len);
- bMEM = "SKETCH SIZE: " + String(ESP.getSketchSize()/1000) + "kB";
- str_len = bMEM.length() + 1;
- bMEM.toCharArray(SketchSIZE, str_len);
- bMEM = "FREE SIZE: " + String(ESP.getFreeSketchSpace()/1000) + "kB";
- str_len = bMEM.length() + 1;
- bMEM.toCharArray(FreeSIZE, str_len);
- String bCPU = "CPU: " + String(ESP.getCpuFreqMHz()) + " MHz";
- str_len = bCPU.length() + 1;
- bCPU.toCharArray(CpuFreqMHz, str_len) ;
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","System2Bufor", "Bufory systemowe zbudowane");
- #endif
- }
- // =================================================================================================== //
- // === WYSWIETL DANE SYSTEMOWE ======================================================================= //
- // =================================================================================================== //
- void Matryca::WyswietlSystem()
- {
- static byte przelacznik = 0;
- if(P.displayAnimate())
- {
- switch ( przelacznik )
- {
- case 0 : ShowFreeMemory(); przelacznik ++; break;
- case 1 : ShowCpu(); przelacznik ++; break;
- case 2 : ShowSketchSize(); przelacznik ++; break;
- case 3 : ShowFreeSketchSize(); przelacznik ++; break;
- case 4 : ShowFlashChipSize(); przelacznik ++; break;
- case 5 : ShowLongDate(); przelacznik ++; break;
- case 6 : ShowShortTime(); przelacznik =0; break;
- default : przelacznik =0; break;
- }
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // S H O W M E M O R Y //
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowCpu()
- {
- if(P.displayAnimate())
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, EffectSize - 1);
- P.displayText(CpuFreqMHz, PA_CENTER, efekt[curEFX].speed, efekt[curEFX].pause,
- efekt[curEFX].effect, efekt[curEFX].effect);
- }
- // --------------------------------------------------------------------------------------------- //
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Show CPU", CpuFreqMHz);
- #endif
- }
- // --------------------------------------------------------------------------------------------------- //
- // --- S H O W F L A S H C H I P S I Z E ------------------------------------------------------- //
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowFlashChipSize()
- {
- if(P.displayAnimate())
- P.displayText(TotalRAM, PA_CENTER, 20, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
- // --------------------------------------------------------------------------------------------- //
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Flash SIZE", TotalRAM);
- #endif
- }
- // --------------------------------------------------------------------------------------------------- //
- // --- S H O W S K E T C H S I Z E --------------------------------------------------------------- //
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowSketchSize()
- {
- if(P.displayAnimate())
- P.displayText(SketchSIZE, PA_CENTER, 20, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
- // --------------------------------------------------------------------------------------------- //
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Sketch SIZE", SketchSIZE);
- #endif
- }
- // --------------------------------------------------------------------------------------------------- //
- // --- S H O W S K E T C H S I Z E --------------------------------------------------------------- //
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowFreeSketchSize()
- {
- if(P.displayAnimate())
- P.displayText(FreeSIZE, PA_CENTER, 20, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
- // --------------------------------------------------------------------------------------------- //
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Free SIZE", FreeSIZE);
- #endif
- }
- // --------------------------------------------------------------------------------------------------- //
- // S H O W M E M // <--- S H O W M E M
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowFreeMemory()
- {
- if(P.displayAnimate())
- P.displayText(FreeMemory, PA_CENTER, 20, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
- // --------------------------------------------------------------------------------------------- //
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Free SIZE", FreeMemory);
- #endif
- }
- // --------------------------------------------------------------------------------------------------- //
- // S H O W L O N G D A T E // <--- SHOW LONG DATE
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowLongDate()
- {
- if(P.displayAnimate())
- {
- P.displayText(LongDate, PA_CENTER, 20, 0, efekt[3].effect, efekt[3].effect);
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Show Long Date", LongDate);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // S H O W S H O R T D A T E // <--- SHOW SHORT DATE
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowShortDate()
- {
- if(P.displayAnimate())
- {
- P.displayText(ShortDate, PA_CENTER, 20, 0, efekt[3].effect, efekt[3].effect);
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Show Short Date", ShortDate);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // S H O W S H O R T T I M E // <--- SHOW SHORT TIME
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowShortTime()
- {
- if(P.displayAnimate())
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, EffectSize - 1); // wylosuj efekt
- P.displayText(ShortTime, PA_CENTER, efekt[curEFX].speed, efekt[curEFX].pause,
- efekt[curEFX].effect, efekt[curEFX].effect);
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Show Short Time", ShortTime);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // D A T A 2 B U F O R --- buduje bufory: ShortDate, LongDate --- data z serwera NTP // <--- Data do Bufora
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::Data2Bufor()
- {
- // przygotuj długą datę do wyświetlenia i zapisz ją w buforze char LongDate
- String ldate = String(DAY[czas.DzienTygodnia]) + " " + String(czas.DzienMiesiaca) + " "
- + String(MONTH[czas.Miesiac]) + " " + String(czas.Rok);
- int str_len = ldate.length() + 1; // oblicz dlugosc STRING ldate
- ldate.toCharArray(LongDate, str_len) ; // kopiuj STRING do CHAR
- // przygotuj krótką datę do wyświetlenia i zapisz ją w buforze char ShortDate
- String sdate = String(czas.DzienMiesiaca) + " " + String(MONTH[czas.Miesiac]) + " " + String(czas.Rok);
- czas.SformatowanaData = sdate;
- str_len = sdate.length() + 1;
- sdate.toCharArray(ShortDate, str_len);
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Data2Bufor", "Bufory daty zbudowane");
- #endif
- }
- // --------------------------------------------------------------------------------------------------- //
- // T I M E 2 B U F O R --- buduje bufory: ShortTime --- czas z serwera NTP // <- Czas do BUFORA
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::Czas2Bufor()
- {
- // przygotuj krótki czas do wyświetlenia i zapisz ją w buforze char ShortTime
- czas.SformatowanyCzas ="";
- if(czas.Godzina < 10) czas.SformatowanyCzas += "0"; czas.SformatowanyCzas += String(czas.Godzina) + ":";
- if(czas.Minuta < 10) czas.SformatowanyCzas += "0"; czas.SformatowanyCzas += String(czas.Minuta) + ":";
- if(czas.Sekunda < 10) czas.SformatowanyCzas += "0"; czas.SformatowanyCzas += String(czas.Sekunda);
- int str_len = czas.SformatowanyCzas.length() + 1;
- czas.SformatowanyCzas.toCharArray(ShortTime, str_len);
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Czas2Bufor", "Bufory czasu zbudowane");
- #endif
- F_now_godzina = czas.Godzina; // wykorzystane przez Time_EXMSG !!!
- }
- // =================================================================================================== //
- // === Pokazuje Czas - typ 1 (HH : MM . SS) ========================================================== // <- Pokaz Czas (duzy zegar)
- // =================================================================================================== //
- void Matryca :: PokazCzas_Typ1()
- {
- char TimeBufor[20] = " TOMEK "; // bufor do przechowywania czasu
- strcpy(TimeBufor, DuzeCyfry[czas.Godzina / 10]);
- strcat(TimeBufor, DuzeCyfry[czas.Godzina % 10]);
- if(czas.Sekunda % 2) strcat(TimeBufor, "\24");
- else strcat(TimeBufor, "\26");
- strcat(TimeBufor, DuzeCyfry[czas.Minuta / 10]);
- strcat(TimeBufor, DuzeCyfry[czas.Minuta % 10]);
- strcat(TimeBufor, "\25");
- strcat(TimeBufor, DuzeCyfry[czas.Sekunda / 10]);
- strcat(TimeBufor, DuzeCyfry[czas.Sekunda % 10]);
- P.displayText(TimeBufor, PA_LEFT, 50, 1000, PA_PRINT, PA_SCROLL_UP);
- P.displayAnimate();
- }
- // =================================================================================================== //
- // === Pokazuje Czas - typ 2 (HH : MM . SS) ========================================================== // <- Pokaz Czas (Normalny zegar)
- // =================================================================================================== //
- void Matryca :: PokazCzas_Typ2()
- {
- char TimeBufor[20] = ""; // bufor do przechowywania czasu
- strcpy(TimeBufor, NormalneCyfry[czas.Godzina / 10]);
- strcpy(TimeBufor, "ą");
- strcat(TimeBufor, NormalneCyfry[czas.Godzina % 10]);
- if(czas.Sekunda % 2) strcat(TimeBufor, "\310"); // octal 310 - mały dwukropek
- else strcat(TimeBufor, "\311"); // octal 311 - mała spacja
- strcat(TimeBufor, NormalneCyfry[czas.Minuta / 10]);
- strcat(TimeBufor, NormalneCyfry[czas.Minuta % 10]);
- strcat(TimeBufor, "\312"); // octal 312 - mała kropka
- strcat(TimeBufor, MaleCyfry[czas.Sekunda / 10]);
- strcat(TimeBufor, MaleCyfry[czas.Sekunda % 10]);
- P.displayText(TimeBufor, PA_CENTER, 50, 1000, PA_PRINT, PA_SCROLL_UP);
- P.displayAnimate();
- }
- // --------------------------------------------------------------------------------------------------- //
- // W E A T H E R --- buduje bufory: Zachmurzenie, Widzialnosc, WschodSlonca, ZachodSłonca ----------- // <--- POGODA do Bufora
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::Dane2Bufor()
- {
- String sBufor = "";
- int str_len = 0;
- // przygotuj bufory pogodowe -------------------------------------- //
- // ---------------------------------------------------------------- //
- // Z A C H M U R Z E N I E ---------------------------------------- //
- sBufor = "Cloudy: " + String(pogoda.zachmurzenie) + " %";
- str_len = sBufor.length() + 1;
- sBufor.toCharArray(Zachmurzenie, str_len);
- // ---------------------------------------------------------------- //
- // W I D Z I A L N O Ś Ć ------------------------------------------ //
- sBufor = "";
- sBufor = "visibility: " + String(pogoda.widzialnosc/1000) + "km";
- str_len = sBufor.length() + 1;
- sBufor.toCharArray(Widocznosc, str_len);
- // ---------------------------------------------------------------- //
- // W S C H O D S L O N C A -------------------------------------- //
- sBufor ="";
- sBufor = "Sunrise " + String(czas.wschod_slonca);
- str_len = sBufor.length() + 1;
- sBufor.toCharArray(WschodSlonca, str_len);
- // ---------------------------------------------------------------- //
- // Z A C H O D S L O N C A -------------------------------------- //
- sBufor ="";
- sBufor = "Sunset " + String(czas.zachod_slonca);
- str_len = sBufor.length() + 1;
- sBufor.toCharArray(ZachodSlonca, str_len);
- // ---------------------------------------------------------------- //
- // --- temperatura do bufora Temperatura -------------------------- //
- sBufor = "Temp. " + String(pogoda.temperatura) + " C";
- str_len = sBufor.length() + 1;
- sBufor.toCharArray(Temperatura, str_len);
- // ---------------------------------------------------------------- //
- // --- cisnienie do bufora Cisnienie ------------------------------ //
- sBufor = "Cisnienie : " + String(pogoda.cisnienie) + " hPa";
- str_len = sBufor.length() + 1;
- sBufor.toCharArray(Cisnienie, str_len);
- // ---------------------------------------------------------------- //
- // --- wilgotnosc do bufora Wilgornosc ---------------------------- //
- sBufor = "Wilgotnosc : " + String(pogoda.wilgotnosc) + " % ";
- str_len = sBufor.length() + 1;
- sBufor.toCharArray(Wilgotnosc, str_len);
- // ---------------------------------------------------------------- //
- // --- predkosc wiatru do bufora Wiatr ---------------------------- //
- sBufor = "Wind: " + String(pogoda.wiatr) + " km/h ";
- str_len = sBufor.length() + 1;
- sBufor.toCharArray(Wiatr, str_len);
- }
- // =================================================================================================== //
- // === Pokazuje Pogode =============================================================================== // <- Wyswietl Pogodę
- // =================================================================================================== //
- void Matryca::WyswietlPogode()
- {
- static byte przelacznik = 0; // przełącznik dla switch case
- if(P.displayAnimate())
- {
- switch ( przelacznik )
- {
- case 0 : ShowTemperature(); przelacznik ++; break;
- case 1 : ShowPressure(); przelacznik ++; break;
- case 2 : ShowWind(); przelacznik ++; break;
- case 3 : ShowSunrise(); przelacznik ++; break;
- case 4 : ShowSunset(); przelacznik ++; break;
- case 5 : ShowClouds(); przelacznik ++; break;
- case 6 : ShowVisibility(); przelacznik ++; break;
- case 7 : ShowHumidity(); przelacznik = 0; break;
- default : przelacznik = 0; break;
- }
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // S H O W T E M P E R A T U R E // <--- SHOW TEMPERATURE
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowTemperature()
- {
- if(P.displayAnimate())
- {
- uint8_t randFX = ( ESP8266TrueRandom.random(0, 100) ) % 2; // losuj: duszek lub efekt
- if( randFX )
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, SpriteSize - 1);
- P.setSpriteData(sprite[curEFX].data,sprite[curEFX].width,sprite[curEFX].frames,
- sprite[curEFX].data,sprite[curEFX].width,sprite[curEFX].frames);
- P.displayText(Temperatura, PA_CENTER, 20, 100, PA_SPRITE, PA_SPRITE);
- }
- else
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, EffectSize - 1);
- P.displayText(Temperatura, PA_CENTER, efekt[curEFX].speed, efekt[curEFX].pause,
- efekt[curEFX].effect, efekt[curEFX].effect);
- }
- // ---------------------------------------------------------------------------- //
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Show Temperature", Temperatura);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // S H O W P R E S S U R E // <--- SHOW PRESSURE
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowPressure()
- {
- if(P.displayAnimate())
- {
- P.displayText(Cisnienie, PA_CENTER, 20, 0, efekt[3].effect, efekt[3].effect);
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Show Pressure", Cisnienie);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // S H O W H U M I D I T Y // <--- SHOW HUMIDITY
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowHumidity()
- {
- if(P.displayAnimate())
- {
- P.displayText(Wilgotnosc, PA_CENTER, 20, 0, efekt[3].effect, efekt[3].effect);
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Show Humidity", Wilgotnosc);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // S H O W W I N D // <--- SHOW WIND
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowWind()
- {
- if(P.displayAnimate())
- {
- uint8_t randFX = ( ESP8266TrueRandom.random(0, 100) ) % 2; // losuj: duszek lub efekt
- if( randFX ) // jeśli 1 to duszek
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, SpriteSize - 1); // wylosuj duszka
- P.setSpriteData(sprite[curEFX].data,sprite[curEFX].width,sprite[curEFX].frames,
- sprite[curEFX].data,sprite[curEFX].width,sprite[curEFX].frames);
- P.displayText(Wiatr, PA_CENTER, 20, 100, PA_SPRITE, PA_SPRITE);
- }
- else
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, EffectSize - 1);
- P.displayText(Wiatr, PA_CENTER, efekt[curEFX].speed, efekt[curEFX].pause,
- efekt[curEFX].effect, efekt[curEFX].effect);
- }
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Show Wind", Wiatr);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // S H O W S U N R I S E // <--- SHOW SUNRISE
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowSunrise()
- {
- if(P.displayAnimate())
- {
- uint8_t randFX = ( ESP8266TrueRandom.random(0, 100) ) % 2; // losuj: duszek lub efekt
- if( randFX ) // jeśli 1 to duszek
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, SpriteSize - 1); // wylosuj duszka
- P.setSpriteData(sprite[curEFX].data,sprite[curEFX].width,sprite[curEFX].frames,
- sprite[curEFX].data,sprite[curEFX].width,sprite[curEFX].frames);
- P.displayText(WschodSlonca, PA_CENTER, 20, 100, PA_SPRITE, PA_SPRITE);
- }
- else // jeśli 0 to efekt
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, EffectSize - 1); // wylosuj efekt
- P.displayText(WschodSlonca, PA_CENTER, efekt[curEFX].speed, efekt[curEFX].pause,
- efekt[curEFX].effect, efekt[curEFX].effect);
- }
- // ----------------------------------------------------------------------------------------- //
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Show Sunrise", WschodSlonca);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // S H O W S U N S E T // <--- SHOW SUNSET
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowSunset()
- {
- if(P.displayAnimate())
- {
- uint8_t randFX = ( ESP8266TrueRandom.random(0, 100) ) % 2; // losuj: duszek lub efekt
- if( randFX ) // jeśli 1 to duszek
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, SpriteSize - 1); // wylosuj duszka
- P.setSpriteData(sprite[curEFX].data,sprite[curEFX].width,sprite[curEFX].frames,
- sprite[curEFX].data,sprite[curEFX].width,sprite[curEFX].frames);
- P.displayText(ZachodSlonca, PA_CENTER, 20, 100, PA_SPRITE, PA_SPRITE);
- }
- else
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, EffectSize - 1);
- P.displayText(ZachodSlonca, PA_CENTER, efekt[curEFX].speed, efekt[curEFX].pause,
- efekt[curEFX].effect, efekt[curEFX].effect);
- }
- // --------------------------------------------------------------------------------------------- //
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Show Sunset", ZachodSlonca);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // S H O W C L O U D S // <--- SHOW CLOUDS
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowClouds()
- {
- if(P.displayAnimate())
- {
- uint8_t randFX = ( ESP8266TrueRandom.random(0, 100) ) % 2; // losuj: duszek lub efekt
- if( randFX ) // jeśli 1 to duszek
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, SpriteSize - 1); // wylosuj duszka
- P.setSpriteData(sprite[curEFX].data,sprite[curEFX].width,sprite[curEFX].frames,
- sprite[curEFX].data,sprite[curEFX].width,sprite[curEFX].frames);
- P.displayText(Zachmurzenie, PA_CENTER, 20, 100, PA_SPRITE, PA_SPRITE);
- }
- else // jeśli 0 to efekt
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, EffectSize - 1); // wylosuj efekt
- P.displayText(Zachmurzenie, PA_CENTER, efekt[curEFX].speed, efekt[curEFX].pause,
- efekt[curEFX].effect, efekt[curEFX].effect);
- }
- // ----------------------------------------------------------------------------------------- //
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Show Cloud", Zachmurzenie);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
- // S H O W V I S I B I L I T Y // <--- SHOW VISIBILITY
- // --------------------------------------------------------------------------------------------------- //
- void Matryca::ShowVisibility()
- {
- if(P.displayAnimate())
- {
- uint8_t randFX = ( ESP8266TrueRandom.random(0, 100) ) % 2; // losuj: duszek lub efekt
- if( randFX ) // jeśli 1 to duszek
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, SpriteSize - 1); // wylosuj duszka
- P.setSpriteData(sprite[curEFX].data,sprite[curEFX].width,sprite[curEFX].frames,
- sprite[curEFX].data,sprite[curEFX].width,sprite[curEFX].frames);
- P.displayText(Widocznosc, PA_CENTER, 20, 100, PA_SPRITE, PA_SPRITE);
- }
- else // jeśli 0 to efekt
- {
- uint8_t curEFX = ESP8266TrueRandom.random(0, EffectSize - 1); // wylosuj efekt
- P.displayText(Widocznosc, PA_CENTER, efekt[curEFX].speed, efekt[curEFX].pause,
- efekt[curEFX].effect, efekt[curEFX].effect);
- }
- // --------------------------------------------------------------------------------------------- //
- #if TERMINAL
- tools.PokazWiadomosc("MATRYCA","Show Visibility", Widocznosc);
- #endif
- }
- }
- // --------------------------------------------------------------------------------------------------- //
Add Comment
Please, Sign In to add comment