set time to nightmode to 22o'clock
night brightness=0 loadanimaiton step into new function and some coments
This commit is contained in:
parent
fd91a6071b
commit
3630918a6f
@ -30,8 +30,8 @@ void Clock::turnOn() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Clock::paintAlwaysOnLeds() {
|
void Clock::paintAlwaysOnLeds() {
|
||||||
printWord(types::es, Adafruit_NeoPixel::Color(150, 150, 0));
|
printWord(types::es, Adafruit_NeoPixel::Color(255, 255, 0));
|
||||||
printWord(types::ist, Adafruit_NeoPixel::Color(150, 0, 150));
|
printWord(types::ist, Adafruit_NeoPixel::Color(255, 0, 255));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Clock::printWord(const std::vector<uint8_t>& word, uint32_t color) {
|
void Clock::printWord(const std::vector<uint8_t>& word, uint32_t color) {
|
||||||
@ -59,7 +59,7 @@ void Clock::refreshTime() {
|
|||||||
const uint8_t minute = loctime->tm_min;
|
const uint8_t minute = loctime->tm_min;
|
||||||
|
|
||||||
// enable night brighntess at 21' and disable it at 6'
|
// enable night brighntess at 21' and disable it at 6'
|
||||||
if (hour >= 21 || hour <= 6) {
|
if (hour >= 22 || hour <= 6) {
|
||||||
strip.setBrightness(NIGHTBRIGHTNESS);
|
strip.setBrightness(NIGHTBRIGHTNESS);
|
||||||
} else {
|
} else {
|
||||||
strip.setBrightness(DAYBRIGHTNESS);
|
strip.setBrightness(DAYBRIGHTNESS);
|
||||||
@ -98,14 +98,14 @@ void Clock::setTime(uint8_t hour, uint8_t minute, bool twentyAfterSyntax, bool a
|
|||||||
: hour == 0 || hour == 12 ? types::zwoelf
|
: hour == 0 || hour == 12 ? types::zwoelf
|
||||||
: hourWord;
|
: hourWord;
|
||||||
|
|
||||||
printWord(hourWord, Adafruit_NeoPixel::Color(0, 0, 150));
|
printWord(hourWord, Adafruit_NeoPixel::Color(0, 255, 255));
|
||||||
|
|
||||||
// print the minute words and the corresponding after/before half words
|
// print the minute words and the corresponding after/before half words
|
||||||
printMinutes(minuteselector, twentyAfterSyntax);
|
printMinutes(minuteselector, twentyAfterSyntax);
|
||||||
|
|
||||||
// uhr
|
// uhr
|
||||||
if (minuteselector == 0 || alwaysClockWord)
|
if (minuteselector == 0 || alwaysClockWord)
|
||||||
printWord(types::uhr, Adafruit_NeoPixel::Color(150, 0, 0));
|
printWord(types::uhr, Adafruit_NeoPixel::Color(255, 0, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Clock::printMinutes(uint8_t minuteSelector, bool twentyAfterSyntax) {
|
void Clock::printMinutes(uint8_t minuteSelector, bool twentyAfterSyntax) {
|
||||||
@ -126,7 +126,7 @@ void Clock::printMinutes(uint8_t minuteSelector, bool twentyAfterSyntax) {
|
|||||||
else if (minuteSelector == 6)
|
else if (minuteSelector == 6)
|
||||||
minuteWord = types::halb;
|
minuteWord = types::halb;
|
||||||
|
|
||||||
printWord(minuteWord, Adafruit_NeoPixel::Color(0, 150, 0));
|
printWord(minuteWord, Adafruit_NeoPixel::Color(0, 255, 0));
|
||||||
|
|
||||||
// vor / nach
|
// vor / nach
|
||||||
std::vector<uint8_t> vornachWord;
|
std::vector<uint8_t> vornachWord;
|
||||||
@ -142,13 +142,13 @@ void Clock::printMinutes(uint8_t minuteSelector, bool twentyAfterSyntax) {
|
|||||||
|| minuteSelector == 10 || minuteSelector == 11 ||
|
|| minuteSelector == 10 || minuteSelector == 11 ||
|
||||||
((minuteSelector == 8) && twentyAfterSyntax)) // check if twentyafter enabled if yess -- display vor
|
((minuteSelector == 8) && twentyAfterSyntax)) // check if twentyafter enabled if yess -- display vor
|
||||||
vornachWord = types::vor;
|
vornachWord = types::vor;
|
||||||
printWord(vornachWord, Adafruit_NeoPixel::Color(150, 150, 150));
|
printWord(vornachWord, Adafruit_NeoPixel::Color(255, 255, 255));
|
||||||
|
|
||||||
// halb
|
// halb
|
||||||
if (minuteSelector >= 4 && minuteSelector <= 8) {
|
if (minuteSelector >= 4 && minuteSelector <= 8) {
|
||||||
// only 3 times if twentyafter syntax is on
|
// only 3 times if twentyafter syntax is on
|
||||||
if (!twentyAfterSyntax || (minuteSelector >= 5 && minuteSelector <= 7))
|
if (!twentyAfterSyntax || (minuteSelector >= 5 && minuteSelector <= 7))
|
||||||
printWord(types::halb, Adafruit_NeoPixel::Color(150, 0, 0));
|
printWord(types::halb, Adafruit_NeoPixel::Color(255, 0, 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,8 +16,8 @@
|
|||||||
// define the esp pin the stip is attached to
|
// define the esp pin the stip is attached to
|
||||||
#define STRIPPIN D5
|
#define STRIPPIN D5
|
||||||
|
|
||||||
#define DAYBRIGHTNESS 255
|
#define DAYBRIGHTNESS 150
|
||||||
#define NIGHTBRIGHTNESS 40
|
#define NIGHTBRIGHTNESS 0
|
||||||
|
|
||||||
class Clock {
|
class Clock {
|
||||||
private:
|
private:
|
||||||
|
@ -6,37 +6,41 @@
|
|||||||
#include "Types.h"
|
#include "Types.h"
|
||||||
|
|
||||||
void LoadAnimator::startLoadAnimation(Adafruit_NeoPixel* strip) {
|
void LoadAnimator::startLoadAnimation(Adafruit_NeoPixel* strip) {
|
||||||
|
this->strip = strip;
|
||||||
|
|
||||||
if (!timer.active())
|
if (!timer.active())
|
||||||
timer.attach_ms(100, [this, strip]() {
|
timer.attach_ms(100, std::bind(&LoadAnimator::animationStep, this));
|
||||||
if (y == 0 && x < 7) {
|
|
||||||
x++;
|
|
||||||
} else if (x == 7 && y < 4) {
|
|
||||||
y++;
|
|
||||||
} else if (y == 4 && x > 0) {
|
|
||||||
x--;
|
|
||||||
} else if (x == 0 && y > 0) {
|
|
||||||
y--;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t nr = types::convert(x + 2, y + 2);
|
|
||||||
strip->clear();
|
|
||||||
strip->setPixelColor(nr, Adafruit_NeoPixel::Color(0, 0, 150));
|
|
||||||
if (nro != 0)
|
|
||||||
strip->setPixelColor(nro, Adafruit_NeoPixel::Color(0, 0, 100));
|
|
||||||
if (nroo != 0)
|
|
||||||
strip->setPixelColor(nroo, Adafruit_NeoPixel::Color(0, 0, 50));
|
|
||||||
if (nrooo != 0)
|
|
||||||
strip->setPixelColor(nroo, Adafruit_NeoPixel::Color(0, 0, 25));
|
|
||||||
strip->show();
|
|
||||||
|
|
||||||
nrooo = nroo;
|
|
||||||
nroo = nro;
|
|
||||||
nro = nr;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LoadAnimator::stopLoadAnimation() {
|
void LoadAnimator::stopLoadAnimation() {
|
||||||
timer.detach();
|
timer.detach();
|
||||||
}
|
}
|
||||||
LoadAnimator::LoadAnimator() : timer(), x(0), y(0), nro(0), nroo(0), nrooo(0) {
|
|
||||||
}
|
LoadAnimator::LoadAnimator() : timer(), x(0), y(0), nro(0), nroo(0), nrooo(0){};
|
||||||
|
|
||||||
|
void LoadAnimator::animationStep() {
|
||||||
|
if (y == 0 && x < 7) {
|
||||||
|
x++;
|
||||||
|
} else if (x == 7 && y < 4) {
|
||||||
|
y++;
|
||||||
|
} else if (y == 4 && x > 0) {
|
||||||
|
x--;
|
||||||
|
} else if (x == 0 && y > 0) {
|
||||||
|
y--;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t nr = types::convert(x + 2, y + 2);
|
||||||
|
strip->clear();
|
||||||
|
strip->setPixelColor(nr, Adafruit_NeoPixel::Color(0, 0, 150));
|
||||||
|
if (nro != 0)
|
||||||
|
strip->setPixelColor(nro, Adafruit_NeoPixel::Color(0, 0, 100));
|
||||||
|
if (nroo != 0)
|
||||||
|
strip->setPixelColor(nroo, Adafruit_NeoPixel::Color(0, 0, 50));
|
||||||
|
if (nrooo != 0)
|
||||||
|
strip->setPixelColor(nroo, Adafruit_NeoPixel::Color(0, 0, 25));
|
||||||
|
strip->show();
|
||||||
|
|
||||||
|
nrooo = nroo;
|
||||||
|
nroo = nro;
|
||||||
|
nro = nr;
|
||||||
|
}
|
@ -12,11 +12,25 @@ class LoadAnimator {
|
|||||||
private:
|
private:
|
||||||
Ticker timer;
|
Ticker timer;
|
||||||
uint8_t x, y, nro, nroo, nrooo;
|
uint8_t x, y, nro, nroo, nrooo;
|
||||||
|
Adafruit_NeoPixel *strip;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* one animation step to process the animation
|
||||||
|
*/
|
||||||
|
void animationStep();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
LoadAnimator();
|
LoadAnimator();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* start the animation if not already runnint
|
||||||
|
* @param strip pointer to strip object
|
||||||
|
*/
|
||||||
void startLoadAnimation(Adafruit_NeoPixel *strip);
|
void startLoadAnimation(Adafruit_NeoPixel *strip);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* stop the animation
|
||||||
|
*/
|
||||||
void stopLoadAnimation();
|
void stopLoadAnimation();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user