1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
void f3()
{ //les 5 lignes ci-dessous permettent de connaitre les valeurs des booléens permettant ou pas,
// d'enclancher les actions de f3
Serial.print(F("void f3: valeur de status_rew_engaged= "));
Serial.println(status_rew_engaged);
Serial.print(F("et"));
Serial.print(F("void f3: valeur de status_function_pause= "));
Serial.println(status_function_pause);
Serial.print(F("void f3: valeur de status_f3_engaged= "));
Serial.println(status_f3_engaged);
if(status_rew_engaged && status_function_pause) // car F3 ne doit pouvoir s'activer que si l'on est déjà en CUEING ARRIERE
{
if(status_f3_engaged = false) // c'est-àdire si F3 n'est pas déjà engagée
// donc si on n'est pas déjà en REW_CUEING_1/6
{
Serial.println(F("void f3 partie false: Réception du code du Bouton F3:"));
Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX);
Serial.print(F("void f3 partie false: valeur de status_f3_engaged= "));
Serial.println(status_f3_engaged); // pourquoi vaut-il 1 alors qu'il valait 0 en rentrant ???
digitalWrite(relai_REW,HIGH); // on maintient le bouton REW enfoncé pour réduire à 1/6ème
Serial.println(F("void f3 partie false: relai_REW passé à HIGH et on le laisse à HIGH"));
Serial.println(F("et donc l'appareil baisse sa vitesse à 1/6ème"));
// ne PAS désactiver le relais Rewind puisque qu'il faut simuler le bouton Rewind enfoncé
Serial.println(F("void f3 partie false: relai_REW toujours à HIGH"));
status_f3_engaged = !status_f3_engaged; // inverse le status de la fonction F3 à true puisqu'on vient de l'appeler
// est indispensable pour gérer correctement l'affichage LCD au niveau de la boucle PAUSE
Serial.print(F("void f3 partie false: le status_f3_engaged a été passé à "));
Serial.println(status_f3_engaged);
Serial.println();
strcpy(active_input, "REW_CUEING_1/6th"); // on affecte donc la valeur "REW_CUEING_1/6th" à la fonction en cours
lcd.clear(); // clear display
lcd.setCursor(0,1); // left second line (1 from 1-16, Ligne 1 from 0-1)
lcd.print(" < CUEING 1/6th"); // affiche que l'on est en CUEING ARRIERE 1/6ème
}
if(status_f3_engaged = true) // càd si on est déjà en CUEING ARRIERE 1/6ème
{
Serial.println(F("void f3 partie true: Réception du code du Bouton F3:"));
Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX);
Serial.print(F(" partie true: valeur de status_f3_engaged= "));
Serial.println(status_f3_engaged); // affiche true ou false selon la valeur de ce booléen
Serial.println(F("void f3 partie true: devrait etre vrai, donc Relai_REW devrait etre actif"));
status_f3_engaged = !status_f3_engaged; // inverse le status de la fonction F3 à true puisqu'on vient de l'appeler
// est indispensable pour gérer correctement l'affichage LCD au niveau de la boucle PAUSE
digitalWrite(relai_REW,LOW); // on maintient le bouton REW enfoncé pour réduire à 1/6ème
Serial.println(F("void f3 partie true: relai_REW passé à LOW"));
Serial.println(F("void f3 partie true: et donc l'appareil devrait re-accélerer à 1/3rd tout en restant en CUEING ARRIERE"));
strcpy(active_input, "REW_CUEING_1/3rd"); // on affecte donc la valeur "REW_CUEING_1/3rd" à la fonction en cours
lcd.clear(); // clear display
lcd.setCursor(0,1); // left second line (1 from 1-16, Ligne 1 from 0-1)
lcd.print(" < CUEING 1/3rd"); // affiche que l'on est en CUEING ARRIERE 1/3rd
}
} // et si on n'est pas déjà en CUEING ARRIERE, alors ne rien faire
} |
Partager