mirror of
https://github.com/0015/ThatProject.git
synced 2026-01-12 01:07:44 +03:00
67 lines
1.4 KiB
C++
67 lines
1.4 KiB
C++
#include "Display.h"
|
|
|
|
static Display* instance = NULL;
|
|
|
|
Display::Display(){
|
|
instance = this;
|
|
tft = new TFT_eSPI();
|
|
}
|
|
|
|
Display::~Display(){
|
|
delete tft;
|
|
}
|
|
|
|
bool tft_output(int16_t x, int16_t y, uint16_t w, uint16_t h, uint16_t * bitmap){
|
|
if (y >= instance->tft->height()) return 0;
|
|
instance->tft->pushImage(x, y, w, h, bitmap);
|
|
return 1;
|
|
}
|
|
|
|
void Display::initTFT(){
|
|
tft->init();
|
|
tft->fillScreen(TFT_BLACK);
|
|
tft->setRotation(1);
|
|
tft->setTextColor(TFT_WHITE, TFT_BLACK);
|
|
tft->setTextDatum(MC_DATUM);
|
|
tft->setFreeFont(&Orbitron_Light_24);
|
|
|
|
TJpgDec.setJpgScale(1);
|
|
TJpgDec.setSwapBytes(true);
|
|
TJpgDec.setCallback(tft_output);
|
|
|
|
if(!SPIFFS.begin()){
|
|
while(1) yield();
|
|
}
|
|
}
|
|
|
|
void Display::centerMsg(String text){
|
|
tft->drawString(text, tft->width()/2, 60);
|
|
}
|
|
|
|
void Display::tempUpdates(String temp, String hum, String status){
|
|
tft->setTextPadding(tft->width());
|
|
tft->drawString(temp, tft->width()/2, 40);
|
|
tft->drawString(hum, tft->width()/2, 70);
|
|
tft->drawString(status, tft->width()/2, 110);
|
|
}
|
|
|
|
void Display::showWiFiIcon(bool isOn){
|
|
tft->fillRect(tft->width() -30, 0, 30, 30, TFT_BLACK);
|
|
TJpgDec.drawFsJpg(tft->width() -30, 0, isOn ? "/icon_wifi_on.jpg" : "/icon_wifi_off.jpg");
|
|
}
|
|
|
|
void Display::showFirebaseIcon(bool isOn){
|
|
tft->fillRect(tft->width() -60, 0, 30, 30, TFT_BLACK);
|
|
TJpgDec.drawFsJpg(tft->width() -60, 0, isOn ? "/icon_firebase_on.jpg" : "/icon_firebase_off.jpg");
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|