precalc ne sert à rien
This commit is contained in:
parent
4d946c0ab6
commit
49dc5182fe
@ -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) {
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
|
||||
#define SHOW_FPS 1
|
||||
int fps;
|
||||
float precalcBreath;
|
||||
|
||||
// LED
|
||||
#define LED_NUM 30
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user