Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ------------------------------------------------------------------------------------------------------------ //
- // --- M A X L E D L I B R A R Y B Y T O M A S Z M A J C H E R --- //
- // ------------------------------------------------------------------------------------------------------------ //
- //
- // by Tomasz Majcher (TLG) Trans Line Group, Lubin POLSKA
- // NIP: 692-201-09-78
- // TEL: 667-08-21-21
- // mail: [email protected]
- //
- // Trans Line Group Tomasz Majcher
- // * usługi transportowe (wywrotki, silosy) -
- // * sprzedaw kruszyw (piasek, żwir, pospółka, grysy, tłuczeń, mieszanki, żużel, kryszywa)
- // * automatyka przemysłowa i domowa
- //
- // ------------------------------------------------------------------------------------------------------------ //
- // --- HISTORIA WERSJI ---------------------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------ //
- //
- // MAX v0.07 BETA - budowa polskich ogonków (NOT FREE !!!)
- // MAX v0.06 BETA - budowa metody wyświetlającej demo
- // MAX v0.05 BETA - budowa metody tworzącej bufory
- // MAX v0.04 BETA - import effect
- // MAX v0.03 BETA - import sprite
- // MAX v0.02 BETA - budowa klasy
- // MAX v0.01 BETA - pomysł :-)
- //
- // ------------------------------------------------------------------------------------------------------------ //
- // --- DOŁĄCZONE NAGŁÓWKI BIBLIOTEK --------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------ //
- extern ESP32Time rtc
- typedef byte BAJT;
- // ------------------------------------------------------------------------------------------------------------- //
- // 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 }
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // --- K A T A L O G C Y F R --- //
- // ------------------------------------------------------------------------------------------------------------- //
- // 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" };
- // ------------------------------------------------------------------------------------------------------------- //
- // --- K L A S A M A X --- //
- // ------------------------------------------------------------------------------------------------------------- //
- class MAX
- {
- private: // metody i zmienne prywatne
- // -------------------------------------------------------------------------------------------- //
- MD_Parola &P; // pseudo obiekt
- uint8_t SpriteSize = 0; // rozmiar tablicy z duszkami
- uint8_t EffectSize = 0; // rozmiar tablicy z efektami
- // ******************************************************************************************** //
- // *** B U F O R Y T E K S T O W E D O W Y Ś W I E T L E N I A ************************** //
- // ******************************************************************************************** //
- char BOpisPogody[40]; // bufor : krótki opis podody
- char BTemperatura[40]; // bufor : temperatura w st.C
- char BWilgotnosc[40]; // bufor : wilgotność w % RH
- char BIndexUV[40]; // bufor : UV
- char BWidzialnosc[40]; // bufor : widzialność w km
- char BZachmurzenie[40]; // bufor : zachmurzenie w %
- char BOpady[40]; // bufor : opady deszczu w mm
- char BCisnienie[40]; // bufor : cisnienie atmosferyczne w mPA
- char BWiatr[40]; // bufor : prędkość wiatru w km/h
- char BWiatrPorywy[40]; // bufor : porywy wiatru w km/h
- char BWiatrKierunek[40]; // bufor : kierunek wiatru (kompas)
- char BCzasLokalny[40]; // bufor : czas lokalny z serwera
- char BWschodSlonca[40]; // bufor : wschód słońca
- char BZachodSlonca[40]; // bufor : zachód słońca
- char BWschodKsiezyca[40]; // bufor : wschód księżyca
- char BZachodKsiezyca[40]; // bufor : zachód księżyca
- char BFazaKsiezyca[60]; // bufor : faza księżyca
- char BTlenekWegla[40]; // bufor : tlenek węgla
- char BOzon[40]; // bufor : ozon
- char BDwutlenekAzotu[40]; // bufor : dwutlenek azotu
- char BDwutlenekSiarki[40]; // bufor : dwutlenek siarki
- char BPylyPM25[40]; // bufor : pyły PM25
- char BPylyPM10[40]; // bufor : pyły PM10
- // ******************************************************************************************** //
- // *** M E T O D Y P R Y W A T N E K L A S Y M A X ************************************** //
- // ******************************************************************************************** //
- void Scroll2Right(char *msg); // wyświetl napis -> scroll w prawo
- void Scroll2Left(char *msg); // wyświetl napis -> scroll w lewo
- public: // metody i zmienne publiczne
- // -------------------------------------------------------------------------------------------- //
- MAX(MD_Parola & adrP) : P ( adrP ) { } // konstruktor domyślny
- void Setup(); // Setup klasy MAX
- void ShowBigClock(); // pokaz zegar
- void PrepareBufor(); // przygotuj bufory do wyświetlenia
- void ShowTest();
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // --- M E T O D Y P R Y W A T N E --- //
- // ------------------------------------------------------------------------------------------------------------- //
- // --- Wyswietl scroll w prawo --- //
- // ------------------------------------------------------------------------------------------------------------- //
- void MAX::Scroll2Right(char *msg)
- {
- if(P.displayAnimate())
- {
- P.displayText(msg, PA_RIGHT, 20, 0, PA_SCROLL_RIGHT, PA_SCROLL_LEFT);
- }
- }
- // ------------------------------------------------------------------------------------------------------------- //
- // --- M E T O D Y P R Y W A T N E --- //
- // ------------------------------------------------------------------------------------------------------------- //
- // --- Wyswietl scroll w lewo --- //
- // ------------------------------------------------------------------------------------------------------------- //
- void MAX::Scroll2Left(char *msg)
- {
- if(P.displayAnimate())
- {
- P.displayText(msg, PA_LEFT, 20, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
- }
- }
- // ------------------------------------------------------------------------------------------------------------- //
- // --- M E T O D Y P U B L I C Z N E --- //
- // ------------------------------------------------------------------------------------------------------------- //
- // --- S E T U P --- //
- // ------------------------------------------------------------------------------------------------------------- //
- void MAX::Setup()
- {
- SpriteSize = ARRAY_SIZE ( sprite );
- EffectSize = ARRAY_SIZE ( efekt );
- for (uint8_t i=0; i<EffectSize; i++)
- {
- efekt[i].speed *= P.getSpeed();
- efekt[i].pause *= 500;
- }
- }
- // ------------------------------------------------------------------------------------------------------------- //
- // --- M E T O D Y P U B L I C Z N E --- //
- // ------------------------------------------------------------------------------------------------------------- //
- // --- P O K A Z D U Ż Y Z E G A R --- //
- // ------------------------------------------------------------------------------------------------------------- //
- void MAX::ShowBigClock()
- {
- char TimeBufor[20] = " TOMEK "; // bufor do przechowywania czasu
- strcpy(TimeBufor, DuzeCyfry[rtc.getHour(true) / 10]);
- strcat(TimeBufor, DuzeCyfry[rtc.getHour(true) % 10]);
- if(rtc.getSecond() % 2) strcat(TimeBufor, "\24");
- else strcat(TimeBufor, "\26");
- strcat(TimeBufor, DuzeCyfry[rtc.getMinute() / 10]);
- strcat(TimeBufor, DuzeCyfry[rtc.getMinute() % 10]);
- strcat(TimeBufor, "\25");
- strcat(TimeBufor, DuzeCyfry[rtc.getSecond() / 10]);
- strcat(TimeBufor, DuzeCyfry[rtc.getSecond() % 10]);
- P.displayText(TimeBufor, PA_LEFT, 50, 1000, PA_PRINT, PA_SCROLL_UP);
- P.displayAnimate();
- }
- //
- // ------------------------------------------------------------------------------------------------------------- //
- // --- M E T O D Y P U B L I C Z N E --- //
- // ------------------------------------------------------------------------------------------------------------- //
- // --- Przygotuj bufory do wyświetlenia --- //
- // ------------------------------------------------------------------------------------------------------------- //
- //
- void MAX::PrepareBufor()
- {
- char bufor[20];
- // ******************************************************************** //
- // POLSKIE ZNAKI (ogonki ) //
- // ósemkowo 232 to ć //
- // ósemkowo 243 to ś wymagana biblioteka przygotowana //
- // ósemkowo 244 to ó przez mojego syna :-) 50zł //
- // ósemkowo 245 to ę //
- // ósemkowo 246 to ż //
- // ósemkowo 247 to ł //
- // ósemkowo 250 to ń //
- // ósemkowo 251 to ź //
- // ósemkowo 252 to ą //
- // //
- // ******************************************************************** //
- // --- TEMPERATURA ---------------------------------------------------- //
- strcpy ( BTemperatura, "Temperatura : " );
- sprintf ( bufor, "%2.2f", pogoda.temperatura_C );
- strcat ( BTemperatura, bufor );
- strcat ( BTemperatura, " " );
- strcat ( BTemperatura, "\44" );
- strcat ( BTemperatura, "C" );
- // --- WILGOTNOŚĆ ----------------------------------------------------- //
- strcpy ( BWilgotnosc, "Wilgotno\243\242 Powietrza : " );
- sprintf ( bufor, "%d", pogoda.wilgotnosc);
- strcat ( BWilgotnosc, bufor );
- strcat ( BWilgotnosc, " %RH" );
- // --- INDEX UV ------------------------------------------------------- //
- strcpy ( BIndexUV, "Index UV : " );
- sprintf ( bufor, "%d", pogoda.index_uv );
- strcat ( BIndexUV, bufor );
- // --- WIDZIALNOŚĆ ---------------------------------------------------- //
- strcpy ( BWidzialnosc, "Widzialno\243\242 : " );
- sprintf ( bufor, "%d", pogoda.widzialnosc );
- strcat ( BWidzialnosc, bufor );
- strcat ( BWidzialnosc, " km" );
- // --- ZACHMURZENIE --------------------------------------------------- //
- strcpy ( BZachmurzenie, "Zachmurzenie : " );
- sprintf ( bufor, "%d", pogoda.zachmurzenie );
- strcat ( BZachmurzenie, bufor );
- strcat ( BZachmurzenie, " % chmur" );
- // --- OPADY --------------------------------------------------------- //
- strcpy ( BOpady, "Opady : " );
- sprintf ( bufor, "%2.2f", pogoda.opady );
- strcat ( BOpady, bufor );
- strcat ( BOpady, " mm" );
- // --- CISNIENIE ------------------------------------------------------ //
- strcpy ( BCisnienie, "Ci\243nienie Atmosferyczne : " );
- sprintf ( bufor, "%d", pogoda.cisnienie );
- strcat ( BCisnienie, bufor );
- strcat ( BCisnienie, " mPA" );
- // --- PRĘDKOŚC WIATRU ------------------------------------------------ //
- strcpy ( BWiatr, "Pr\245dko\243\242 Wiatru : " );
- sprintf ( bufor, "%2.2f", pogoda.predkosc_wiatru_kph );
- strcat ( BWiatr, bufor );
- strcat ( BWiatr, " km/h" );
- // --- KIERUNEK WIATRU ------------------------------------------------ //
- strcpy ( BWiatrKierunek, "Kierunek Wiatru : " );
- strcat ( BWiatrKierunek, pogoda.kierunek_wiatru_kompas.c_str() );
- // --- PORYWY WIATRU -------------------------------------------------- //
- strcpy ( BWiatrPorywy, "Porywy Wiatru : " );
- sprintf ( bufor, "%2.2f", pogoda.podmuchy_wiatru );
- strcat ( BWiatrPorywy, bufor );
- strcat ( BWiatrPorywy, " km/h" );
- // --- PORYWY WIATRU -------------------------------------------------- //
- strcpy ( BOpisPogody, pogoda.miejscowosc.c_str() );
- strcat ( BOpisPogody, ", " );
- strcat ( BOpisPogody, pogoda.kraj.c_str() );
- // --- CZAS LOKALNY --------------------------------------------------- //
- strcpy ( BCzasLokalny, "Czas lokalny : ");
- strcat ( BCzasLokalny, pogoda.czas_lokalny.c_str() );
- // --- WSCHÓD SŁOŃCA -------------------------------------------------- //
- strcpy ( BWschodSlonca, "Wsch\244d S\247o\250ca : " );
- strcat ( BWschodSlonca, astronomia.wschod_slonca.c_str() );
- // --- ZACHÓD SŁOŃCA -------------------------------------------------- //
- strcpy ( BZachodSlonca, "Zach\244d S\247o\250ca : " );
- strcat ( BZachodSlonca, astronomia.zachod_slonca.c_str() );
- // --- WSCHOD KSIĘŻYCA ------------------------------------------------ //
- strcpy ( BWschodKsiezyca, "Wsch\244d Ksi\245\246yca : " );
- strcat ( BWschodKsiezyca, astronomia.wschod_ksiezyca.c_str() );
- // --- ZACHÓD KSIĘŻYCA ------------------------------------------------ //
- strcpy ( BZachodKsiezyca, "Zach\244d Ksi\245\246yca : " );
- strcat ( BZachodKsiezyca, astronomia.zachod_ksiezyca.c_str() );
- // --- FAZA KSIĘŻYCA -------------------------------------------------- //
- strcpy ( BZachodKsiezyca, "Faza Ksi\245\246yca : " );
- String buforek;
- if (astronomia.faza_ksiezyca == "Waxing Crescent")
- {
- buforek = "Sierp przybywaj\252cy";
- }
- else
- if (astronomia.faza_ksiezyca == "New Moon")
- {
- buforek = "N\244w";
- }
- else
- if (astronomia.faza_ksiezyca == "First Quarter")
- {
- buforek = "Pierwszy kwarta\247";
- }
- else
- if (astronomia.faza_ksiezyca == "Waxing Gibbous")
- {
- buforek = "Przybywaj\252cy Ksi\245\246yc";
- }
- else
- if (astronomia.faza_ksiezyca == "Full Moon")
- {
- buforek = "Pe\247nia ksi\245\246yca";
- }
- else
- if (astronomia.faza_ksiezyca == "Waning Gibbous")
- {
- buforek = "Ubywaj\252cy Ksi\245\246yc";
- }
- else
- if (astronomia.faza_ksiezyca == "Waning Gibbous")
- {
- buforek = "Ostatni kwarta\247";
- }
- else
- if (astronomia.faza_ksiezyca == "Waning Crescent")
- {
- buforek = "Powi\245kszaj\252cy si\245 Ksi\245\246yc";
- }
- strcat ( BZachodKsiezyca, buforek.c_str() );
- // --- TLENEK WĘGLA --------------------------------------------------- //
- strcpy ( BTlenekWegla, "Tlenek W\245gla : " );
- dtostrf ( powietrze.co, 8, 8, bufor );
- strcat ( BTlenekWegla, bufor );
- strcat ( BTlenekWegla, " ug/m3" );
- // --- TLENEK WĘGLA --------------------------------------------------- //
- strcpy ( BOzon, "Ozon : " );
- dtostrf ( powietrze.o3, 8, 8, bufor );
- strcat ( BOzon, bufor );
- strcat ( BOzon, " ug/m3" );
- // --- DWUTLENEK AZOTU ------------------------------------------------ //
- strcpy ( BDwutlenekAzotu, "Dwutlenek Azotu : " );
- dtostrf ( powietrze.no2, 8, 8, bufor );
- strcat ( BDwutlenekAzotu, bufor );
- strcat ( BDwutlenekAzotu, " ug/m3" );
- // --- DWUTLENEK SIARKI ------------------------------------------------ //
- strcpy ( BDwutlenekSiarki, "Dwutlenek Siarki : " );
- dtostrf ( powietrze.so2, 8, 8, bufor );
- strcat ( BDwutlenekSiarki, bufor );
- strcat ( BDwutlenekSiarki, " ug/m3" );
- // --- AEROZOLOE I PYŁY PM25 ------------------------------------------- //
- strcpy ( BPylyPM25, "Aerozole i py\247y PM2.5 : " );
- dtostrf ( powietrze.pm25, 8, 8, bufor );
- strcat ( BPylyPM25, bufor );
- strcat ( BPylyPM25, " um" );
- // --- AEROZOLOE I PYŁY PM10 ------------------------------------------- //
- strcpy ( BPylyPM10, "Aerozole i py\247y PM10 : " );
- dtostrf ( powietrze.pm10, 8, 8, bufor );
- strcat ( BPylyPM10, bufor );
- strcat ( BPylyPM10, " um" );
- }
- //
- // ------------------------------------------------------------------------------------------------------------- //
- // --- M E T O D Y P U B L I C Z N E --- //
- // ------------------------------------------------------------------------------------------------------------- //
- // --- T E S T --- //
- // ------------------------------------------------------------------------------------------------------------- //
- //
- void MAX::ShowTest()
- {
- static BAJT przelacznik = 0;
- if(P.displayAnimate())
- {
- switch ( przelacznik )
- {
- case 0 : Scroll2Left(BOpisPogody); przelacznik ++ ; break;
- case 1 : Scroll2Left(BWilgotnosc); przelacznik ++ ; break;
- case 2 : Scroll2Left(BIndexUV); przelacznik ++ ; break;
- case 3 : Scroll2Left(BWidzialnosc); przelacznik ++ ; break;
- case 4 : Scroll2Left(BZachmurzenie); przelacznik ++ ; break;
- case 5 : Scroll2Left(BOpady); przelacznik ++ ; break;
- case 6 : Scroll2Left(BCisnienie); przelacznik ++ ; break;
- case 7 : Scroll2Left(BWiatr); przelacznik ++ ; break;
- case 8 : Scroll2Left(BWiatrPorywy); przelacznik ++ ; break;
- case 9 : Scroll2Left(BWiatrKierunek); przelacznik ++ ; break;
- case 10 : Scroll2Left(BCzasLokalny); przelacznik ++ ; break;
- case 11 : Scroll2Left(BWschodSlonca); przelacznik ++ ; break;
- case 12 : Scroll2Left(BZachodSlonca); przelacznik ++ ; break;
- case 13 : Scroll2Left(BWschodKsiezyca); przelacznik ++ ; break;
- case 14 : Scroll2Left(BZachodKsiezyca); przelacznik ++ ; break;
- case 15 : Scroll2Left(BFazaKsiezyca); przelacznik ++ ; break;
- case 16 : Scroll2Left(BTlenekWegla); przelacznik ++ ; break;
- case 17 : Scroll2Left(BOzon); przelacznik ++ ; break;
- case 18 : Scroll2Left(BDwutlenekAzotu); przelacznik ++ ; break;
- case 19 : Scroll2Left(BDwutlenekSiarki); przelacznik ++ ; break;
- case 20 : Scroll2Left(BPylyPM25); przelacznik ++ ; break;
- case 21 : Scroll2Left(BPylyPM10); przelacznik ++ ; break;
- default : Scroll2Left("ESP32 DEMO Scroll Text"); przelacznik = 0; break;
- }
- }
- }
Add Comment
Please, Sign In to add comment