void handleSystemCheck(){ // bool checkInter = checkTemperatureSurpassed(); // mainSystem.statusTemperature = checkInter; capteur1.fanOn = checkTemperatureSurpassedCapteur1(); capteur2.fanOn = checkTemperatureSurpassedCapteur2(); capteur3.fanOn = checkTemperatureSurpassedCapteur3(); } unsigned long timeButton1 = 0; void handleButton1(){ if((millis()-timeButton1)*1.0>=1000.0/BUTTON1FREQUENCY){ timeButton1 = millis(); checkButton1(); } } void handleFans(){ digitalWrite(fan1Pin,capteur1.fanOn); digitalWrite(fan2Pin,capteur2.fanOn); digitalWrite(fan3Pin,capteur3.fanOn); } unsigned long timeLCD = 0; void handleLCD(){ // donnees a certains Hz if((millis()-timeLCD)*1.0>=1000.0/LCDFREQUENCY){ timeLCD = millis(); printLCD(); } } void printLCD(){ partUpperLCD(); return; } void partUpperLCD(){ lcd.setCursor(6,0); lcd.print(" "); lcd.setCursor(0,0); lcd.print("CAPT "); lcd.print(capteurCurseur+1); lcd.print(": "); lcd.print(tabTemperature[capteurCurseur],1); lcd.write(byte(0)); lcd.print("C"); // flags switch(capteurCurseur){ case 0: // capteur 1 if(capteur1.flag){ lcd.setCursor(LCD_COLS-1,0); lcd.print("!!"); } else{ lcd.setCursor(LCD_COLS-1,0); lcd.print(" "); } break; case 1: // capteur 1 if(capteur2.flag){ lcd.setCursor(LCD_COLS-1,0); lcd.print("!!"); } else{ lcd.setCursor(LCD_COLS-1,0); lcd.print(" "); } break; case 2: // capteur 1 if(capteur3.flag){ lcd.setCursor(LCD_COLS-1,0); lcd.print("!!"); } else{ lcd.setCursor(LCD_COLS-1,0); lcd.print(" "); } break; } //lcd.setCursor(0,4); } unsigned long timePotentiometer; void handlePotentiometer(){ // donnees a certains Hz if((millis()-timePotentiometer)*1.0>=1000.0/POTENTIOMETERFREQUENCY){ timePotentiometer = millis(); checkPotentiometer(); } } unsigned long timeLogBook; void handleLogBook(){ // donnees a certains Hz if((millis()-timeLogBook)*1.0>=1000.0/SDDATALOGFREQUENCY){ timeLogBook = millis(); LogBook(); } } void updateCurseurConfig(){ configCurseur++; encoderPosition = 0; if(configCurseur > TAILLECONFIG-1){ configCurseur = 0; //updateParaData(); delay(1000); Serial.println("laaaaaaaaa"); } } void updateCurseurCapteur() { capteurCurseur++; if(capteurCurseur > NCAPTEURS-1){ capteurCurseur = 0; } } void checkButton1(){ if(!digitalRead(pinButtonEncoder)){ updateCurseurCapteur(); } } unsigned long timeSlider = 0;; void handleSlider(){ if((millis()-timeSlider)*1.0>=1000.0/SLIDERFREQUENCY){ timeSlider = millis(); //checkPotentiometer(); checkSlider(); } } unsigned long timeCursorCapteur = 0;; void handleCursorCapteur(){ if((millis()-timeCursorCapteur)*1.0>=1000.0/CAPTEURCURSORFREQUENCY){ timeCursorCapteur = millis(); updateCurseurCapteur(); } } void checkSlider(){ lcd.setCursor(LCD_COLS-1,2); lcd.print("<"); lcd.setCursor(LCD_COLS-1,3); lcd.print(" "); // lcd.setCursor(17,2); // lcd.print(" "); switch(configCurseur){ case 0: // temp des lcd.setCursor(7,2); lcd.print(" "); lcd.setCursor(0,2); lcd.print("TDES: "); lcd.print(mainSystem.targetTemperature,1); lcd.write(byte(0)); lcd.print("C"); lcd.setCursor(LCD_COLS-1,3); lcd.print(" "); lcd.setCursor(LCD_COLS-1,2); lcd.print("<"); break; case 1: // EPS DES lcd.setCursor(7,2); lcd.print(" "); lcd.setCursor(0,2); lcd.print("DEPS: "); lcd.write(byte(1)); lcd.print(mainSystem.epsTemperature,1); lcd.write(byte(0)); lcd.print("C"); lcd.setCursor(LCD_COLS-1,2); lcd.print(" "); lcd.setCursor(LCD_COLS-1,3); lcd.print("<"); //lcd.setCursor(17,3); //lcd.print(" "); break; case 2: EEPROMDATA[1] = mainSystem.epsTemperature; EEPROMDATA[0] = mainSystem.targetTemperature; updateParaData(); capteur1.hysteresisStatusHigh = false; capteur2.hysteresisStatusHigh = false; capteur3.hysteresisStatusHigh = false; lcd.setCursor(LCD_COLS-1,2); lcd.print(" "); lcd.setCursor(LCD_COLS-1,3); lcd.print(" "); configCurseur = 0; Serial.print(" Done config"); default: break; } } void checkPotentiometer(){ int currentClkState = digitalRead(clkPin); // Check for a change in the CLK state (encoder rotated) if (currentClkState != lastClkState) { // Determine the direction based on the state of DT if (digitalRead(dtPin) != currentClkState) { encoderPosition = -1*signeEncoder; } else { encoderPosition = 1*signeEncoder; } // Print the encoder position // Serial.print("Encoder Position: "); // Serial.println(encoderPosition); } // Update the last state of CLK lastClkState = currentClkState; // Check the state of the button bool buttonState = digitalRead(pinButtonEncoder) == LOW; // LOW means pressed // Print the button state // Serial.print("Button State: "); } unsigned long timeDataUpdate; void handleUpdateData(){ // donnees a certains Hz if((millis()-timeDataUpdate)*1.0>=1000.0/UPDATEDATAFREQUENCY){ timeDataUpdate = millis(); updateTemperature(); } } void updateTemperature(){ switch(configCurseur){ case 0: mainSystem.targetTemperature += encoderPosition*stepTemperatureConfig; encoderPosition = 0; if(mainSystem.targetTemperature >=maxTemperatureConfig){ mainSystem.targetTemperature =maxTemperatureConfig; } if(mainSystem.targetTemperature <=minTemperatureConfig){ mainSystem.targetTemperature =minTemperatureConfig; } break; case 1: mainSystem.epsTemperature += encoderPosition*stepEpsConfig; encoderPosition = 0; if(mainSystem.epsTemperature >=maxEpsConfig){ mainSystem.epsTemperature =maxEpsConfig; } if(mainSystem.epsTemperature <=minEpsConfig){ mainSystem.epsTemperature = minEpsConfig; } break; } }