#define iPinEncClk 5
#define iPinEncDt 6
#define iPinEncSw 7
#define iPinBtnH 8
#define iPinBtnB 4
#define iPinNtcChauffe A0
#define iPinNtcProduit A1
#define oPinChauffe 2
#define tempsAppuiCourt 150
#define tempsAppuiLong 600
unsigned long timeBtnH,timeBtnB,timeBtnSw; //setTimeout();
bool flagBtnH, flagHcourt, flagHlong;
bool flagBtnB, flagBcourt, flagBlong;
bool flagBtnSw, flagSwcourt, flagSwlong;
void setup(){
Serial.begin(9600);
Serial.println("debut");
}
void loop(){
gestionBouton();
}
int i;
void gestionBouton() {
if (!digitalRead(iPinBtnH)) {
if (flagBtnH) {
if ((millis() - timeBtnH > tempsAppuiCourt) and !flagHcourt) {
flagHcourt = true;
}
if ((millis() - timeBtnH > tempsAppuiLong) and !flagHlong) {
flagHcourt = false;
flagHlong = true;
}
} else {
flagBtnH = true;
timeBtnH = millis();
}
} else {
flagBtnH = false;
if (flagHcourt and !flagHlong) {
flagHcourt = false;
flagHlong = false;
boutonHcourt();
}
if (flagHlong) {
flagHlong = false;
flagHcourt = false;
boutonHlong();
}
}
if (!digitalRead(iPinBtnB)) {
if (flagBtnB) {
if ((millis() - timeBtnB > tempsAppuiCourt) and !flagBcourt) {
flagBcourt = true;
}
if ((millis() - timeBtnB > tempsAppuiLong) and !flagBlong) {
flagBcourt = false;
flagBlong = true;
}
} else {
flagBtnB = true;
timeBtnB = millis();
}
} else {
flagBtnB = false;
if (flagBcourt and !flagBlong) {
flagBcourt = false;
flagBlong = false;
boutonBcourt();
}
if (flagBlong) {
flagBlong = false;
flagBcourt = false;
boutonBlong();
}
}
if (!digitalRead(iPinEncSw)) {
if (flagBtnSw) {
if ((millis() - timeBtnSw > tempsAppuiCourt) and !flagSwcourt) {
flagSwcourt = true;
}
if ((millis() - timeBtnSw > tempsAppuiLong) and !flagSwlong) {
flagSwcourt = false;
flagSwlong = true;
}
} else {
flagBtnSw = true;
timeBtnSw = millis();
}
} else {
flagBtnSw = false;
if (flagSwcourt and !flagSwlong) {
flagSwcourt = false;
flagSwlong = false;
boutonSwcourt();
}
if (flagSwlong) {
flagSwlong = false;
flagSwcourt = false;
boutonSwlong();
}
}
}
void boutonHcourt() {
Serial.println("Hcourt");
}
void boutonHlong() {
Serial.println("Hlong");
}
void boutonBcourt() {
Serial.println("Bcourt");
}
void boutonBlong() {
Serial.println("Blong");
}
void boutonSwcourt() {
Serial.println("Swcourt");
}
void boutonSwlong() {
Serial.println("Swlong");
}