diff --git a/src/main.cpp b/src/main.cpp index 5633284..f763053 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -18,6 +18,8 @@ #define PCNT_TEST_CHANNEL PCNT_CHANNEL_0 #define PCNT_INPUT_SIG_IO GPIO_NUM_15 // Pulse Input GPIO #define PCNT_INPUT_CTRL_IO GPIO_NUM_2 // Control GPIO HIGH=count up, LOW=count down +#define PCNT_H_LIM_VAL 10000 //valeur max du compteur_minuteur +#define PCNT_L_LIM_VAL -10 //valeur mini du compteur bool sem_compteur; // sémaphore pour le compteur int16_t count = 0; // variable de compteur int vRotReel; // vitesse réelle mesurée du moteur @@ -27,7 +29,7 @@ int refresh_compte_tour = 500; // durée entre deux mesures du compte-tour en ms ///////////////////////////////// /*NUMÉRO DE SÉRIE DE L'APPAREIL*/ ///////////////////////////////// -char numero_capteur[] = "capteur n°0001\n"; +char numero_capteur[] = "0001"; /////////////////////////// /* DÉFINITIONS DE LA RTC */ @@ -62,9 +64,9 @@ ESP32PWM pwm; // Activation du pwm /* DÉFINITIONS DU BOUTON WIFI */ //////////////////////////////// int bouton_wifi = 2; // pin du bouton wifi -bool sem_wifi; //sémaphore du minuteur du bouton wifi +bool sem_wifi = false; //sémaphore du minuteur du bouton wifi unsigned long wifi_minuteur = 0; // minuteur pour l'appui long sur le bouton wifi -bool etat_bouton_wifi; +bool etat_bouton_wifi = LOW; int tempo_bouton_wifi = 5000; //temps d'appui en millisecondes pour arrêter le capteur et passer en mode wifi /////////////////////////////////////// @@ -116,6 +118,8 @@ void gaz_moteur() { pos --; } moteur.write(pos); + Serial.println("gaz ="); + Serial.println(pos); } void stop_moteur() { @@ -168,10 +172,11 @@ void compte_tour() { int offset = (compteur_minuteur - millis()); if (offset >= refresh_compte_tour ){ - vRotReel = (pcnt_get_counter_value(PCNT_TEST_UNIT, &count)/offset * 60000); //vitesse en tours par min + pcnt_get_counter_value(PCNT_TEST_UNIT, &count); + vRotReel = (count/offset * 60000); //vitesse en tours par min gaz_moteur(); // ajustement des gaz en fonction de la vitesse mesurée - Serial.println("vRotReel = "); - Serial.println(vRotReel); + //Serial.println("vRotReel = "); + //Serial.println(vRotReel); } } @@ -224,7 +229,7 @@ void appendFile(fs::FS &fs, const char * path, const char * message){ if(file.print(message)){ Serial.println("Message appended"); } else { - Serial.println("Append failed"); + Serial.println("Append failed"); } file.close(); } @@ -293,14 +298,15 @@ void sd_init() { errorCode(4); return; } - - //DateTime now{rtc.now()};//DateTime + now = rtc.now(); - char date_format[] = "MM-DD-hh-mm"; + char date_format[] = "DDhhmm"; char *date = now.toString(date_format); strcat(fichier,date); char entete[] = "# YY-MM-DD:hh:mm:ss Vrot en tr/min \n"; - writeFile(SD, fichier, numero_capteur); + writeFile(SD, fichier, "capteur n° "); + appendFile(SD, fichier, numero_capteur ); + appendFile(SD, fichier, "\n"); appendFile(SD, fichier, entete); } @@ -309,7 +315,7 @@ void scribe_sd (){ compteur_minuteur = millis(); sem_compteur = true; } - if ( sem_compteur == true && compteur_minuteur - millis() >= freq_ecriture ){ + if ( sem_compteur == true && millis() - compteur_minuteur >= freq_ecriture ){ char timestamp[] = "YY-MM-DD-hh:mm:ss"; char *horodatage = now.toString(timestamp); char buffer[64]; @@ -318,6 +324,8 @@ void scribe_sd (){ appendFile(SD, fichier, " " ); appendFile(SD, fichier, buffer); appendFile(SD, fichier, "\n" ); + Serial.println(vRotReel); + compteur_minuteur = 0; } } @@ -435,13 +443,14 @@ void vigie_Wifi () { sem_wifi = true; wifi_minuteur = millis(); } - if ( etat_bouton_wifi == HIGH && sem_wifi == true && millis() - wifi_minuteur > tempo_bouton_wifi ) { + if ( etat_bouton_wifi == HIGH && sem_wifi == true && (millis() - wifi_minuteur) >= tempo_bouton_wifi ) { + Serial.println("Mode wifi"); stop_moteur(); stop_compteur(); start_wifiAP(); wifi_AP(); } -} +} void setup() { Serial.begin(9600); // serial just for feedback