From 49dc5182fec3ac42f33be6e156d5235e625468ba Mon Sep 17 00:00:00 2001 From: Julien Cabillot Date: Mon, 24 Apr 2017 17:42:53 +0200 Subject: [PATCH] =?UTF-8?q?precalc=20ne=20sert=20=C3=A0=20rien?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- arduino/alarmclock/alarmclock.cpp | 11 ++--------- arduino/alarmclock/alarmclock.exemple.h | 1 - 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/arduino/alarmclock/alarmclock.cpp b/arduino/alarmclock/alarmclock.cpp index de6115b..e7d68b5 100644 --- a/arduino/alarmclock/alarmclock.cpp +++ b/arduino/alarmclock/alarmclock.cpp @@ -116,7 +116,6 @@ void callbackMQTT(char* topic, byte* payload, unsigned int length) } else if (stopic == MQTT_LED_BRIGHTNESS_COMMAND) { maxBrightness = msgString.toInt(); mqttSendBrightnessState(); - doPrecalcBreath(); } else if (stopic == MQTT_LED_COLOR_COMMAND) { // Sample : 134,168,255 int red = msgString.substring(0, msgString.indexOf(',')).toInt(); @@ -194,8 +193,9 @@ void ledDisplay() * En remplaçant 1/e par 0.349 on arrive à un minimal de 1.00x ce qui permet d'avoir les leds qui ne s'éteignent pas * Il faut alors remplacer maxBrightness par maxBrightness - 1 dans la dernière partie de l'équation */ + // J'ai essayé en précalculant la dernière partie à chaque changement de brightness. + // Cela ne change rien on nombre de frames traitées (400). float breath = (exp(sin(millis() / 4500.0 * PI)) + 1.2) * ((curbrightness - 1) / (EULER - (1 / EULER))); - // float breath = (exp(sin(millis() / 4500.0 * PI)) + 1.2) * precalcBreath fill_solid(leds, LED_NUM, color); FastLED.setBrightness(breath); @@ -208,8 +208,6 @@ void ledDisplay() Serial.println(maxBrightness); } */ - // TODO : il faut voir combien de temps prends le calcul de la formule. - // En effet on pourrais precalculer la valeur de fin au moment d'un changement de brightness. fps++; if (SHOW_FPS) { EVERY_N_SECONDS(1) { @@ -221,11 +219,6 @@ void ledDisplay() FastLED.show(); } -void doPrecalcBreath() -{ - precalcBreath = ((curbrightness - 1) / (EULER - (1 / EULER))); -} - void loop() { EVERY_N_SECONDS(10) { if (curbrightness <= maxBrightness) { diff --git a/arduino/alarmclock/alarmclock.exemple.h b/arduino/alarmclock/alarmclock.exemple.h index d629e19..0ee94a5 100644 --- a/arduino/alarmclock/alarmclock.exemple.h +++ b/arduino/alarmclock/alarmclock.exemple.h @@ -2,7 +2,6 @@ #define SHOW_FPS 1 int fps; -float precalcBreath; // LED #define LED_NUM 30