#include <Wire.h>
#include <RTClib.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ST7789.h>
#include "User_Setup.h"
Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
RTC_DS3231 rtc;
#define BLACK 0x0000
#define WHITE 0xFFFF
void setup() {
Serial.begin(9600);
Serial.println("Initializing...");
if (!rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1);
}
if (rtc.lostPower()) {
Serial.println("RTC lost power, setting the time!");
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
tft.init(TFT_WIDTH, TFT_HEIGHT);
tft.setRotation(1);
// Clear the screen
tft.fillScreen(BLACK);
Serial.println("Display initialized.");
}
void loop() {
static int lastSec = -1;
DateTime now = rtc.now();
if (now.second() == lastSec) return; // nic nie rób, jeśli sekunda ta sama
lastSec = now.second();
// rysuj tekst w tym samym miejscu, z kolorem tła (bez pełnego czyszczenia)
tft.setCursor(10, 10);
tft.setTextSize(4);
tft.setTextWrap(false);
tft.setTextColor(WHITE, BLACK); // drugi parametr = kolor TŁA
char buf[9];
snprintf(buf, sizeof(buf), "%02d:%02d:%02d", now.hour(), now.minute(), now.second());
tft.print(buf);
}