56 lines
No EOL
1.2 KiB
C++
56 lines
No EOL
1.2 KiB
C++
#include "bouton.h"
|
|
#include "rgb_lcd.h"
|
|
|
|
//Constructeur
|
|
bouton::bouton()
|
|
: capteur(), etat(0) {}
|
|
|
|
bouton::bouton(int pin)
|
|
: capteur(pin), etat(0) {}
|
|
|
|
//ccesseur de etat
|
|
bool bouton::lire_etat() {
|
|
bool res;
|
|
int buttonState = digitalRead(this->getpin());
|
|
if (buttonState == HIGH) res = 1;
|
|
else res = 0;
|
|
return res;
|
|
}
|
|
|
|
bool choix_bouton(bouton &Brelief, bouton &Bplat) {
|
|
|
|
Serial.println("A"); //a enlever
|
|
|
|
//Attends que les 2 bouttons soient relachés
|
|
while (Brelief.lire_etat() == 1 || Bplat.lire_etat() == 1) {
|
|
delay(10);
|
|
}
|
|
Serial.println("A"); //a enlever
|
|
|
|
//Attends que l'un des boutons soit appuyé
|
|
while (Brelief.lire_etat() == 0 && Bplat.lire_etat() == 0) {
|
|
delay(10);
|
|
}
|
|
|
|
//Stocke l'état des boutons
|
|
bool reliefPresse = Brelief.lire_etat();
|
|
bool platPresse = Bplat.lire_etat();
|
|
|
|
Serial.println("A"); //a enlever
|
|
|
|
//Boucle qui renvoie 1 si bouton relief et renvoie 0 si bouton plat
|
|
if (reliefPresse) {
|
|
Serial.println("A");
|
|
while (Brelief.lire_etat() == 1) {
|
|
delay(10);
|
|
}
|
|
return 1;
|
|
} else if (platPresse) {
|
|
Serial.println("A");
|
|
while (Bplat.lire_etat() == 1) {
|
|
delay(10);
|
|
}
|
|
return 0;
|
|
}
|
|
return 0;
|
|
}; |