pitrix/src/effect_clock.cpp

38 lines
1.1 KiB
C++
Raw Normal View History

#include "effect_clock.h"
#include <FastLED.h>
#include "functions.h"
#include "text.h"
#include "ntp.h"
void ClockEffect::loop() {
loop(false, CRGB(0xFFFFFF), CRGB(0x000000));
}
void ClockEffect::loop(boolean invert, CRGB fg_color, CRGB bg_color) {
if (!invert) {
clear(window, bg_color);
} else {
// Manually clear the needed parts
for(int i=0; i<window.w; i++) setPixel(window, i, 0, bg_color);
for(int y=0; y<6; y++) {
setPixel(window, 3, y, bg_color);
if (y!=2 && y!=4) {
setPixel(window, 7, y, bg_color);
}
setPixel(window, 8, y, bg_color);
setPixel(window, 12, y, bg_color);
}
fg_color = bg_color;
}
int h = ntpClient.getHours();
drawDigit(window, numbers3x5, 3, 5, 0, 1, h / 10, fg_color, invert);
drawDigit(window, numbers3x5, 3, 5, 4, 1, h % 10, fg_color, invert);
int m = ntpClient.getMinutes();
drawDigit(window, numbers3x5, 3, 5, 9, 1, m / 10, fg_color, invert);
drawDigit(window, numbers3x5, 3, 5, 13, 1, m % 10, fg_color, invert);
if (ntpClient.getSeconds() & 1) {
setPixel(window, 7, 2, fg_color);
setPixel(window, 7, 4, fg_color);
}
}