aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authoruser <user@node5.net>2024-01-14 01:35:44 +0100
committeruser <user@node5.net>2024-01-14 01:35:44 +0100
commit531dae6762b46e05e04192664e75ceafc3807ca3 (patch)
tree4056a6a0eea9e3ca816dadfc69894ab527eb9b4d /src/main.cpp
parent1478bb504bb93ad7f3b53df69e720e97d4a13939 (diff)
Revert "make animations more tasteful"
This reverts commit 1478bb504bb93ad7f3b53df69e720e97d4a13939.
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp32
1 files changed, 13 insertions, 19 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 577f643..4f18fe3 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -132,7 +132,7 @@ void display_number(int number) {
}
// Instantly changes. Binary, no fade
-void display_symbol(int digit_index, uint8_t symbol, bool clear=true) {
+void display_symbol(int digit_index, uint8_t symbol) {
// Counts up by bitshifting
uint8_t seg_counter = 1;
for (int segment_index = 0; segment_index < SEGMENT_COUNT; segment_index++) {
@@ -143,26 +143,23 @@ void display_symbol(int digit_index, uint8_t symbol, bool clear=true) {
if (symbol & seg_counter) {
// Turn on LED
leds[led_index] = CHSV(hue, SATURATION, max_brightness);
- } else if (clear){
- // Turn off LED
- leds[led_index] = CRGB::Black;
+ FastLED.show();
}
// Increment segment counter used with bit mask comparison by bitshifting
seg_counter = seg_counter<<1;
}
-
- FastLED.show();
}
// Change hue of 0-7 segments per frame each digit displays the same
-void play_animation(uint8_t *animation, int animation_size, int segment_delay, bool clear=true, int8_t hue_shift=4) {
+void play_animation(uint8_t *animation, int animation_size, int segment_delay) {
for (int i = 0; i < animation_size; i++){
for (int digit_index = 0; digit_index < 4; digit_index++) {
- display_symbol(digit_index, animation[i], clear);
+ display_symbol(digit_index, animation[i]);
}
- hue += hue_shift; // Increment HSV hue a lot for rainbow vomit
+ hue += 16; // Increment HSV hue a lot for rainbow vomit
+ FastLED.show();
delay(segment_delay);
}
}
@@ -181,8 +178,8 @@ void setup() {
FastLED.addLeds<NEOPIXEL, LED_PIN>(leds, LED_COUNT); // GRB ordering is assumed
// Turn off all LEDs
- FastLED.clear();
-
+ FastLED.clear();
+
Serial.begin(9600);
setServer(NTP_SERVER);
@@ -195,7 +192,7 @@ void setup() {
// Play animation untill connected to WiFi, or animation timeout is reached
// Will continue attempting to connect to WiFi
if (millis() < WIFI_CONN_ANI_TIMEOUT) {
- play_animation(spin_animation, sizeof(spin_animation), 100, false);
+ play_animation(spin_animation, sizeof(spin_animation), 100);
} else {
// Turn off all LEDs
FastLED.clear();
@@ -206,7 +203,7 @@ void setup() {
hue = 0;
// Turn off all LEDs
- FastLED.clear();
+ FastLED.clear();
Serial.println();
Serial.print("Connected, IP address: ");
@@ -245,12 +242,9 @@ void loop() {
int minutes = CopenhagenTime.dateTime("i").toInt();
// Play animation 5 seconds before hour change
- if(minutes == 59 && seconds >= 55 && seconds <= 56) {
- for (int i = 0; i < 4; i++){
- play_animation(dual_spin_animation, sizeof(dual_spin_animation), 120, true, 0); // No hue shift
- }
- FastLED.clear(); // Remove animation frame
- update_clock(); // Display hour change
+ if(minutes == 59 && seconds >= 55) {
+ play_animation(dual_spin_animation, sizeof(spin_animation), 50);
+ FastLED.clear();
}
// Do nothing untill minute change