#include "effect_pixelclock.h" #include "ntp.h" PixelClockEffect::PixelClockEffect() { window = &Window::window_with_clock; _color_seconds = new CRGB(0x00FF00); _color_minutes = new CRGB(0xFFFF00); } PixelClockEffect::~PixelClockEffect() { delete _color_seconds; delete _color_minutes; } void PixelClockEffect::loop(uint16_t ms) { uint8_t x, y; // Temporary variables for calculating positions window->clear(); time_t now; tm timeinfo; time(&now); localtime_r(&now, &timeinfo); // Seconds uint8_t seconds = timeinfo.tm_sec; for (uint8_t s=0; s<60; s++) { x = window->width - 1 - s/10; y = window->height - 1 - (s % 10); if (ssetPixel(x, y, _color_seconds); } uint8_t minutes = timeinfo.tm_min; for (uint8_t m=0; m<60; m++) { x = 6 - m/10; y = window->height - 1 - (m % 10); if (msetPixel(x, y, _color_minutes); } } bool PixelClockEffect::can_be_shown_with_clock() { return true; }