Si bouton gauche enfoncé(le cycle de clignotement gauche commence). Si relaché, le cycle de clignotement continue jusqu'a ce que toutes les leds soient éteintes, puis ont passe a la fonction mettreAuRepos.
Euh...sur ma voiture quand je désactive mon clignotant il s'éteint instantanément, il ne continue pas à clignoter " un peu" (sauf mode impulsion où il clignote trois fois).
Mais bon, ça veut dire qu'il faut créer des états supplémentaires, tout simplement.. au lieu de
case CLIGNOTE_GAUCHE:
if (boutonGauche.vientDEtreRelache()) mettreAuRepos();
il faut passer dans un état FINIR_CLIGNOTE_GAUCHE (idem à droite)
la notion de "finir le clignotement" n'étant pas définie pour le moment il faut par exemple modifier la fonction void etapeSuivante(byte bandeDePixel[])
pour qu'elle retourne un booléen qui dit si à la sortie tout est éteint. comme cela dans FINIR_CLIGNOTE_GAUCHE (et idem à droite) on testera s'il faut clignoter et si oui on testera si on a tout éteint et testant la valeur retournée par la fonction etapeSuivante() --> un truc du genre
if (millis() - chrono >= periodeClignotement) {
if (etapeSuivante(pixelsClignoGauche)) mettreAuRepos();
else chrono += periodeClignotement;
}
bien sûr dans cette étape il faut aussi tenir compte (éventuellement à vous de voir) de l'appui sur l'autre bouton donc on rajoutera comme dans l'état CLIGNOTE_GAUCHE la détection de l'appui sur droite