mirror of
https://github.com/Lomanic/spaceapi-notifier
synced 2024-11-21 14:17:29 +00:00
WIP Display fade
Functional but meh
This commit is contained in:
parent
9546d30f58
commit
8029e2adf0
@ -339,15 +339,8 @@ void setup() {
|
|||||||
|
|
||||||
bool buttonState = HIGH;
|
bool buttonState = HIGH;
|
||||||
bool previousButtonState = HIGH;
|
bool previousButtonState = HIGH;
|
||||||
long previousMillis = 0;
|
|
||||||
const long checkInterval = 5000;
|
|
||||||
unsigned long pressedTime = millis();
|
unsigned long pressedTime = millis();
|
||||||
void loop() {
|
void handleButtonPresses(int buttonState) {
|
||||||
MDNS.update();
|
|
||||||
|
|
||||||
httpServer.handleClient();
|
|
||||||
|
|
||||||
buttonState = digitalRead(BUTTON_PIN);
|
|
||||||
if (buttonState == LOW && previousButtonState == HIGH) { // long press handling, reset settings https://forum.arduino.cc/index.php?topic=276789.msg1947963#msg1947963
|
if (buttonState == LOW && previousButtonState == HIGH) { // long press handling, reset settings https://forum.arduino.cc/index.php?topic=276789.msg1947963#msg1947963
|
||||||
Serial.println("Button pressed (longpress handling)");
|
Serial.println("Button pressed (longpress handling)");
|
||||||
pressedTime = millis();
|
pressedTime = millis();
|
||||||
@ -359,11 +352,45 @@ void loop() {
|
|||||||
delay(500);
|
delay(500);
|
||||||
ESP.restart();
|
ESP.restart();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#define OFFSET 7.5
|
||||||
|
#define AMPLITUDE 7.5 // oscillate between 0 and 15
|
||||||
|
#define PERIOD 2500 // milliseconds
|
||||||
|
#define OMEGA 2*PI/PERIOD
|
||||||
|
#define PHASE 0
|
||||||
|
void fadeDisplay(unsigned long t) {
|
||||||
|
uint8_t brightness = round(OFFSET + AMPLITUDE * (cos(OMEGA * t) + PHASE));
|
||||||
|
Serial.print("fadeDisplay ");
|
||||||
|
Serial.print(t);
|
||||||
|
Serial.print(" ");
|
||||||
|
Serial.println(brightness);
|
||||||
|
P.setIntensity(brightness);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
unsigned long monCulSurLaCommode = 0;
|
||||||
|
|
||||||
|
unsigned long fadeDisplayMillis = millis();
|
||||||
|
long previousMillis = 0;
|
||||||
|
const long checkInterval = 5000;
|
||||||
|
void loop() {
|
||||||
|
MDNS.update();
|
||||||
|
|
||||||
|
httpServer.handleClient();
|
||||||
|
|
||||||
|
buttonState = digitalRead(BUTTON_PIN);
|
||||||
|
handleButtonPresses(buttonState);
|
||||||
|
|
||||||
unsigned long currentMillis = millis();
|
unsigned long currentMillis = millis();
|
||||||
|
long checkSpaceDelayMillis = 0;
|
||||||
if (currentMillis - previousMillis > checkInterval) {
|
if (currentMillis - previousMillis > checkInterval) {
|
||||||
previousMillis = currentMillis;
|
previousMillis = currentMillis;
|
||||||
spaceIsOpen = checkSpaceIsOpen();
|
spaceIsOpen = checkSpaceIsOpen();
|
||||||
|
checkSpaceDelayMillis = millis() - currentMillis; // try to smooth the fade animation when HTTP calls happen
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (P.displayAnimate()) {
|
if (P.displayAnimate()) {
|
||||||
if (spaceIsOpen) {
|
if (spaceIsOpen) {
|
||||||
P.displayText(displayedMessage.c_str(), PA_CENTER, P.getSpeed(), P.getPause(), PA_NO_EFFECT, PA_NO_EFFECT);
|
P.displayText(displayedMessage.c_str(), PA_CENTER, P.getSpeed(), P.getPause(), PA_NO_EFFECT, PA_NO_EFFECT);
|
||||||
@ -371,6 +398,16 @@ void loop() {
|
|||||||
P.displayText(".", PA_CENTER, P.getSpeed(), P.getPause(), PA_NO_EFFECT, PA_NO_EFFECT);
|
P.displayText(".", PA_CENTER, P.getSpeed(), P.getPause(), PA_NO_EFFECT, PA_NO_EFFECT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (checkSpaceDelayMillis > 0) {
|
||||||
|
Serial.print("millis | checkSpaceDelayMillis ");
|
||||||
|
Serial.print(millis());
|
||||||
|
Serial.print(" | ");
|
||||||
|
Serial.println(checkSpaceDelayMillis);
|
||||||
|
}
|
||||||
|
fadeDisplayMillis = millis() - fadeDisplayMillis - checkSpaceDelayMillis + millis();
|
||||||
|
|
||||||
|
monCulSurLaCommode+=2; // should be using millis()-based var, fadeDisplayMillis increment taking into account checkSpaceDelayMillis each time
|
||||||
|
fadeDisplay(monCulSurLaCommode);
|
||||||
|
|
||||||
previousButtonState = buttonState;
|
previousButtonState = buttonState;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user