Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <GxEPD2_BW.h>
- #include <GxEPD2_3C.h>
- #include <GxEPD2_GFX.h>
- #include <Fonts/FreeSansBold12pt7b.h>
- #include <Fonts/FreeSansBold24pt7b.h>
- #include <Fonts/FreeSans24pt7b.h>
- #include <Adafruit_GFX.h>
- #include <ArduinoJson.h>
- #include <SPI.h>
- #include <WiFi.h>
- #include <HTTPClient.h>
- #include "time.h"
- #include "driver/adc.h"
- #include <esp_wifi.h>
- #include <esp_bt.h>
- #include <string.h>
- #define NTP_SERVER "de.pool.ntp.org"
- #define TZ_INFO "WEST-1DWEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00" // Western European Time
- //Dispaly Initialization
- GxEPD2_BW<GxEPD2_750_T7, GxEPD2_750_T7::HEIGHT> display(GxEPD2_750_T7(/*CS=5*/ 15, /*DC=*/ 27, /*RST=*/ 26, /*BUSY=*/ 25)); // GDEW075T7 800x480
- //Variables saved after DeepSleep
- // ----- ! IMPORTANT ! ----------
- // Strings can not be stored!
- RTC_DATA_ATTR int sleeptime;
- RTC_DATA_ATTR int requests = 1;
- RTC_DATA_ATTR int intBlank;
- RTC_DATA_ATTR int intBlankold = 99; //Set to any number except 0,1 for the first Display-Refresh
- void setup() //------------------------------------------- SETUP --------------------------------------------------------------------
- {
- int httpResponseCode;
- String room;
- String department;
- String layout;
- String first_word;
- String first_row;
- String second_row;
- String third_row;
- String needRefresh;
- String displayblank;
- //Time needs to be configured after DeepSleep
- timezoneConfiguration();
- //If ESP32-first-start then the time needs to be initialized
- esp_sleep_wakeup_cause_t wakeup_cause;
- wakeup_cause = esp_sleep_get_wakeup_cause();
- if (wakeup_cause != 4){
- timeInitialisation();
- }
- do{
- //HTTP-Request
- HTTPRequest(room, layout, department, first_word, first_row, second_row, third_row, sleeptime, displayblank, needRefresh, httpResponseCode, requests);
- requests = requests + 1;
- }while(sleeptime == 0);
- if(displayblank == "false"){
- intBlank = 1;
- if(intBlank != intBlankold){
- drawInformation(room, layout, department, first_word, first_row, second_row, third_row);
- }else{
- //Kein Refresh notwendig
- }
- }else if(displayblank == "true"){
- intBlank = 0;
- if(intBlank != intBlankold){
- drawBlank(room, department);
- }else{
- //Kein Refresh notwendig
- }
- }
- intBlankold = intBlank;
- DeepSleep(sleeptime);
- }
- void loop() //------------------------------------------- LOOP --------------------------------------------------------------------
- {
- // This code won't be executed
- }
- //------------------------------------------- FUNCTIONS ------------------------------------------------------------
- void timezoneConfiguration(){
- setenv("TZ", TZ_INFO, 1); // Zeitzone muss nach dem reset neu eingestellt werden
- tzset();
- }
- void timeInitialisation(){
- // WiFi connection
- delay(4000);
- WiFi.begin("<wifiname>");
- while (WiFi.status() != WL_CONNECTED) { //Wait for the WiFI connection completion
- }
- struct tm local;
- configTzTime(TZ_INFO, NTP_SERVER); // ESP32 Systemzeit mit NTP Synchronisieren
- getLocalTime(&local, 10000); // Versuche 10 s zu Synchronisieren
- }
- void DeepSleep(int sleeptime){
- adc_power_off();
- esp_wifi_stop();
- esp_bt_controller_disable();
- //Time in miliseconds = seconds * factor
- esp_sleep_enable_timer_wakeup((uint64_t)(sleeptime) * 1000000);
- esp_deep_sleep_start();
- }
- void HTTPRequest(String &room, String &layout, String &department, String &first_word, String &first_row, String &second_row, String &third_row, int &sleeptime, String &displayblank, String &needRefresh, int &httpResponseCode, int &requests){
- // WiFi connection
- delay(4000);
- WiFi.begin("<wifiname>");
- while (WiFi.status() != WL_CONNECTED) { //Wait for the WiFI connection completion
- }
- //Check WiFi connection status
- if(WiFi.status()== WL_CONNECTED){
- //POST-Request to HANA
- HTTPClient https;
- https.begin("<url>", "<ssl cert>");
- https.addHeader("Content-Type", "application/json"); //Specify content-type header
- https.addHeader("Authorization", "Basic <user>");
- httpResponseCode = https.POST("{\"macaddres\":\"" + WiFi.macAddress() + "\" , \"displaydo\":\"action\" , \"requests\":\"" + requests + "\"}"); //Send the actual POST request
- String response = https.getString(); //Get the response to the request
- DynamicJsonDocument doc(1024);
- deserializeJson(doc, response);
- // Data from first HTTP Request
- room = doc["ROM"].as<String>();
- layout = doc["LAY"].as<String>();
- department = doc["TIT"].as<String>();
- first_word = doc["COD"].as<String>();
- first_row = doc["RW1"].as<String>();
- second_row = doc["RW2"].as<String>();
- third_row = doc["RW3"].as<String>();
- sleeptime = doc["SLE"];
- displayblank = doc["BLA"].as<String>();
- needRefresh = doc["DPR"].as<String>();
- //close HTTP-Connection
- https.end();
- }
- WiFi.disconnect();
- WiFi.mode(WIFI_OFF);
- btStop();
- }
- void drawInformation(String room, String layout, String department, String first_word, String first_row, String second_row, String third_row)
- {
- // Initialization
- display.init(115200); // enable diagnostic output on Serial
- SPI.end(); // release standard SPI pins, e.g. SCK(18), MISO(19), MOSI(23), SS(5)
- SPI.begin(13, 12, 14, 15); // map and init SPI pins SCK(13), MISO(12), MOSI(14), SS(15)
- int16_t tbx, tby; uint16_t tbw, tbh;
- uint16_t x = ((display.width() - tbw) / 2) - tbx;
- uint16_t y = ((display.height() - tbh) / 2) - tby;
- display.setTextColor(GxEPD_BLACK);
- display.setFullWindow();
- display.firstPage();
- display.fillScreen(GxEPD_WHITE);
- display.setFont(&FreeSansBold12pt7b);
- do
- {
- const unsigned char gImage_test4[1300] = { /* 0X00,0X01,0X64,0X00,0X64,0X00, */
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0X00,0X00,
- 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X10,0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,
- 0X00,0X00,0X00,0X00,0X00,0X30,0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
- 0X00,0X00,0X70,0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XF0,
- 0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XF0,0XFF,0XF0,0X00,
- 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XF0,0XFF,0XF0,0X00,0X00,0X00,0X00,
- 0X00,0X00,0X00,0X00,0X00,0X07,0XF0,0XFF,0XF0,0X07,0XF0,0X00,0X00,0X00,0X00,0X00,
- 0X00,0X00,0X0F,0XF0,0XFF,0XF0,0X3F,0XFF,0X00,0X7F,0X80,0XFF,0XFE,0X00,0X00,0X1F,
- 0XF0,0XFF,0XF0,0X7F,0XFF,0XC0,0XFF,0XC0,0XFF,0XFF,0X80,0X00,0X3F,0XF0,0XFF,0XF0,
- 0XFF,0XFF,0XC0,0XFF,0XC0,0XFF,0XFF,0XE0,0X00,0X7F,0XF0,0XFF,0XF1,0XFF,0XFF,0XC1,
- 0XFF,0XC0,0XFF,0XFF,0XF0,0X00,0XFF,0XF0,0XFF,0XF3,0XFF,0XFF,0X81,0XFF,0XE0,0XFF,
- 0XFF,0XF0,0X01,0XFF,0XF0,0XFF,0XF3,0XFF,0XFF,0X81,0XFF,0XE0,0XFF,0XFF,0XF8,0X03,
- 0XFF,0XF0,0XFF,0XF3,0XFC,0X07,0X03,0XFF,0XE0,0XFF,0X0F,0XF8,0X07,0XFF,0XF0,0XFF,
- 0XF7,0XFC,0X00,0X03,0XFF,0XF0,0XFF,0X07,0XF8,0X0F,0XFF,0XF0,0XFF,0XF3,0XFE,0X00,
- 0X03,0XFF,0XF0,0XFF,0X07,0XF8,0X1F,0XFF,0XF0,0XFF,0XF3,0XFF,0X80,0X07,0XFF,0XF0,
- 0XFF,0X07,0XF8,0X3F,0XFF,0XF0,0XFF,0XF3,0XFF,0XF0,0X07,0XF7,0XF8,0XFF,0X07,0XF8,
- 0X7F,0XFF,0XF0,0XFF,0XF3,0XFF,0XFC,0X0F,0XF7,0XF8,0XFF,0X0F,0XF8,0XFF,0XFF,0XF0,
- 0XFF,0XF1,0XFF,0XFF,0X0F,0XF3,0XF8,0XFF,0XFF,0XF9,0XFF,0XFF,0XF0,0XFF,0XF0,0XFF,
- 0XFF,0X8F,0XF3,0XFC,0XFF,0XFF,0XF3,0XFF,0XFF,0XF0,0XFF,0XF0,0X7F,0XFF,0XDF,0XE3,
- 0XFC,0XFF,0XFF,0XF7,0XFF,0XFF,0XF0,0XFF,0XF0,0X1F,0XFF,0XFF,0XE1,0XFE,0XFF,0XFF,
- 0XEF,0XFF,0XFF,0XF0,0XFF,0XF0,0X03,0XFF,0XFF,0XE1,0XFE,0XFF,0XFF,0XDF,0XFF,0XFF,
- 0XF0,0XFF,0XF0,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XBF,0XFF,0XFF,0XF0,0XFF,0XF0,
- 0X00,0X3F,0XFF,0XFF,0XFF,0XFF,0XFC,0X7F,0XFF,0XFF,0XF0,0XFF,0XF0,0XC0,0X1F,0XFF,
- 0XFF,0XFF,0XFF,0X00,0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0XF0,0X3F,0XFF,0XFF,0XFF,0XFF,
- 0X01,0XFF,0XFF,0XFF,0XF0,0XFF,0XF1,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X03,0XFF,0XFF,
- 0XFF,0XF0,0XFF,0XF1,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X07,0XFF,0XFF,0XFF,0XF0,0XFF,
- 0XF3,0XFF,0XFF,0XFF,0XBF,0X7F,0XFF,0X0F,0XFF,0XFF,0XFF,0XF0,0XFF,0XF3,0XFF,0XFF,
- 0XFF,0X00,0X7F,0XFF,0X1F,0XFF,0XFF,0XFF,0XF0,0XFF,0XF1,0XFF,0XFF,0XFF,0X00,0X3F,
- 0XFF,0X3F,0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0X7F,0XF9,0XFE,0X00,0X3F,0XFF,0X7F,0XFF,
- 0XFF,0XFF,0XF0,0XFF,0XF0,0X03,0X80,0X00,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XF0,
- 0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0X00,
- 0X00,0X00,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0X00,0X00,0X00,0X00,
- 0X00,0X07,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,0X0F,0XFF,
- 0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,0X1F,0XFF,0XFF,0XFF,0XFF,
- 0XF0,0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,0X3F,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,
- 0X00,0X00,0X00,0X00,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XF0,};
- //SAP-Logo
- display.drawInvertedBitmap(0, 0, gImage_test4, 100, 100, GxEPD_BLACK);
- //Lines
- display.drawFastHLine(0, 69, 800, GxEPD_BLACK);
- display.drawFastHLine(0, 70, 800, GxEPD_BLACK);
- display.drawFastHLine(0, 71, 800, GxEPD_BLACK);
- display.drawFastHLine(0, 409, 800, GxEPD_BLACK);
- display.drawFastHLine(0, 410, 800, GxEPD_BLACK);
- display.drawFastHLine(0, 411, 800, GxEPD_BLACK);
- //Department
- display.setCursor(110, 45);
- display.print(department);
- //Date and room
- if(room != "null"){
- display.setCursor(720, 455);
- display.println(room);
- }
- tm local;
- getLocalTime(&local);
- display.setCursor(20, 455);
- display.println(&local, "%d.%m.%y");
- //Course
- if (layout == "tra") {
- if(first_word != "null"){
- display.setFont(&FreeSansBold24pt7b);
- display.setCursor(30, 180);
- display.println(first_word);
- }
- if(first_row != "null"){
- display.setFont(&FreeSans24pt7b);
- display.setCursor(30, 260);
- display.println(first_row);
- }
- if(second_row != "null"){
- display.setCursor(30, 310);
- display.println(second_row);
- }
- if(third_row != "null"){
- display.setCursor(30, 360);
- display.println(third_row);
- }
- }
- else if (layout == "oth") {
- if(first_row != "null"){
- display.setFont(&FreeSans24pt7b);
- display.setCursor(30, 210);
- display.println(first_row);
- }
- if(second_row != "null"){
- display.setCursor(30, 260);
- display.println(second_row);
- }
- if(third_row != "null"){
- display.setCursor(30, 310);
- display.println(third_row);
- }
- }
- }
- while (display.nextPage());
- SPI.end();
- }
- void drawBlank(String room, String department){
- // Initialization
- display.init(115200); // enable diagnostic output on Serial
- SPI.end(); // release standard SPI pins, e.g. SCK(18), MISO(19), MOSI(23), SS(5)
- SPI.begin(13, 12, 14, 15); // map and init SPI pins SCK(13), MISO(12), MOSI(14), SS(15)
- int16_t tbx, tby; uint16_t tbw, tbh;
- uint16_t x = ((display.width() - tbw) / 2) - tbx;
- uint16_t y = ((display.height() - tbh) / 2) - tby;
- display.setTextColor(GxEPD_BLACK);
- display.setFullWindow();
- display.firstPage();
- display.fillScreen(GxEPD_WHITE);
- display.setFont(&FreeSansBold12pt7b);
- do
- {
- const unsigned char gImage_test4[1300] = { /* 0X00,0X01,0X64,0X00,0X64,0X00, */
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0X00,0X00,
- 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X10,0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,
- 0X00,0X00,0X00,0X00,0X00,0X30,0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
- 0X00,0X00,0X70,0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XF0,
- 0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XF0,0XFF,0XF0,0X00,
- 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XF0,0XFF,0XF0,0X00,0X00,0X00,0X00,
- 0X00,0X00,0X00,0X00,0X00,0X07,0XF0,0XFF,0XF0,0X07,0XF0,0X00,0X00,0X00,0X00,0X00,
- 0X00,0X00,0X0F,0XF0,0XFF,0XF0,0X3F,0XFF,0X00,0X7F,0X80,0XFF,0XFE,0X00,0X00,0X1F,
- 0XF0,0XFF,0XF0,0X7F,0XFF,0XC0,0XFF,0XC0,0XFF,0XFF,0X80,0X00,0X3F,0XF0,0XFF,0XF0,
- 0XFF,0XFF,0XC0,0XFF,0XC0,0XFF,0XFF,0XE0,0X00,0X7F,0XF0,0XFF,0XF1,0XFF,0XFF,0XC1,
- 0XFF,0XC0,0XFF,0XFF,0XF0,0X00,0XFF,0XF0,0XFF,0XF3,0XFF,0XFF,0X81,0XFF,0XE0,0XFF,
- 0XFF,0XF0,0X01,0XFF,0XF0,0XFF,0XF3,0XFF,0XFF,0X81,0XFF,0XE0,0XFF,0XFF,0XF8,0X03,
- 0XFF,0XF0,0XFF,0XF3,0XFC,0X07,0X03,0XFF,0XE0,0XFF,0X0F,0XF8,0X07,0XFF,0XF0,0XFF,
- 0XF7,0XFC,0X00,0X03,0XFF,0XF0,0XFF,0X07,0XF8,0X0F,0XFF,0XF0,0XFF,0XF3,0XFE,0X00,
- 0X03,0XFF,0XF0,0XFF,0X07,0XF8,0X1F,0XFF,0XF0,0XFF,0XF3,0XFF,0X80,0X07,0XFF,0XF0,
- 0XFF,0X07,0XF8,0X3F,0XFF,0XF0,0XFF,0XF3,0XFF,0XF0,0X07,0XF7,0XF8,0XFF,0X07,0XF8,
- 0X7F,0XFF,0XF0,0XFF,0XF3,0XFF,0XFC,0X0F,0XF7,0XF8,0XFF,0X0F,0XF8,0XFF,0XFF,0XF0,
- 0XFF,0XF1,0XFF,0XFF,0X0F,0XF3,0XF8,0XFF,0XFF,0XF9,0XFF,0XFF,0XF0,0XFF,0XF0,0XFF,
- 0XFF,0X8F,0XF3,0XFC,0XFF,0XFF,0XF3,0XFF,0XFF,0XF0,0XFF,0XF0,0X7F,0XFF,0XDF,0XE3,
- 0XFC,0XFF,0XFF,0XF7,0XFF,0XFF,0XF0,0XFF,0XF0,0X1F,0XFF,0XFF,0XE1,0XFE,0XFF,0XFF,
- 0XEF,0XFF,0XFF,0XF0,0XFF,0XF0,0X03,0XFF,0XFF,0XE1,0XFE,0XFF,0XFF,0XDF,0XFF,0XFF,
- 0XF0,0XFF,0XF0,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XBF,0XFF,0XFF,0XF0,0XFF,0XF0,
- 0X00,0X3F,0XFF,0XFF,0XFF,0XFF,0XFC,0X7F,0XFF,0XFF,0XF0,0XFF,0XF0,0XC0,0X1F,0XFF,
- 0XFF,0XFF,0XFF,0X00,0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0XF0,0X3F,0XFF,0XFF,0XFF,0XFF,
- 0X01,0XFF,0XFF,0XFF,0XF0,0XFF,0XF1,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X03,0XFF,0XFF,
- 0XFF,0XF0,0XFF,0XF1,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X07,0XFF,0XFF,0XFF,0XF0,0XFF,
- 0XF3,0XFF,0XFF,0XFF,0XBF,0X7F,0XFF,0X0F,0XFF,0XFF,0XFF,0XF0,0XFF,0XF3,0XFF,0XFF,
- 0XFF,0X00,0X7F,0XFF,0X1F,0XFF,0XFF,0XFF,0XF0,0XFF,0XF1,0XFF,0XFF,0XFF,0X00,0X3F,
- 0XFF,0X3F,0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0X7F,0XF9,0XFE,0X00,0X3F,0XFF,0X7F,0XFF,
- 0XFF,0XFF,0XF0,0XFF,0XF0,0X03,0X80,0X00,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XF0,
- 0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0X00,
- 0X00,0X00,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0X00,0X00,0X00,0X00,
- 0X00,0X07,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,0X0F,0XFF,
- 0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,0X1F,0XFF,0XFF,0XFF,0XFF,
- 0XF0,0XFF,0XF0,0X00,0X00,0X00,0X00,0X00,0X3F,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,
- 0X00,0X00,0X00,0X00,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
- 0XFF,0XFF,0XFF,0XF0,};
- //SAP-Logo
- display.drawInvertedBitmap(0, 0, gImage_test4, 100, 100, GxEPD_BLACK);
- //Lines
- display.drawFastHLine(0, 69, 800, GxEPD_BLACK);
- display.drawFastHLine(0, 70, 800, GxEPD_BLACK);
- display.drawFastHLine(0, 71, 800, GxEPD_BLACK);
- display.drawFastHLine(0, 409, 800, GxEPD_BLACK);
- display.drawFastHLine(0, 410, 800, GxEPD_BLACK);
- display.drawFastHLine(0, 411, 800, GxEPD_BLACK);
- //Department
- if(department != "null"){
- display.setCursor(110, 45);
- display.print(department);
- }
- //Date and room
- if(room != "null"){
- display.setCursor(720, 455);
- display.println(room);
- }
- }
- while (display.nextPage());
- SPI.end();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement