precalc ne sert à rien

This commit is contained in:
Julien Cabillot 2017-04-24 17:42:53 +02:00 committed by Cabillot Julien
parent 4d946c0ab6
commit 49dc5182fe
2 changed files with 2 additions and 10 deletions

View File

@ -116,7 +116,6 @@ void callbackMQTT(char* topic, byte* payload, unsigned int length)
} else if (stopic == MQTT_LED_BRIGHTNESS_COMMAND) { } else if (stopic == MQTT_LED_BRIGHTNESS_COMMAND) {
maxBrightness = msgString.toInt(); maxBrightness = msgString.toInt();
mqttSendBrightnessState(); mqttSendBrightnessState();
doPrecalcBreath();
} else if (stopic == MQTT_LED_COLOR_COMMAND) { } else if (stopic == MQTT_LED_COLOR_COMMAND) {
// Sample : 134,168,255 // Sample : 134,168,255
int red = msgString.substring(0, msgString.indexOf(',')).toInt(); 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 * 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 * 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) * ((curbrightness - 1) / (EULER - (1 / EULER)));
// float breath = (exp(sin(millis() / 4500.0 * PI)) + 1.2) * precalcBreath
fill_solid(leds, LED_NUM, color); fill_solid(leds, LED_NUM, color);
FastLED.setBrightness(breath); FastLED.setBrightness(breath);
@ -208,8 +208,6 @@ void ledDisplay()
Serial.println(maxBrightness); 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++; fps++;
if (SHOW_FPS) { if (SHOW_FPS) {
EVERY_N_SECONDS(1) { EVERY_N_SECONDS(1) {
@ -221,11 +219,6 @@ void ledDisplay()
FastLED.show(); FastLED.show();
} }
void doPrecalcBreath()
{
precalcBreath = ((curbrightness - 1) / (EULER - (1 / EULER)));
}
void loop() { void loop() {
EVERY_N_SECONDS(10) { EVERY_N_SECONDS(10) {
if (curbrightness <= maxBrightness) { if (curbrightness <= maxBrightness) {

View File

@ -2,7 +2,6 @@
#define SHOW_FPS 1 #define SHOW_FPS 1
int fps; int fps;
float precalcBreath;
// LED // LED
#define LED_NUM 30 #define LED_NUM 30