Résolution Bug #006

This commit is contained in:
pgp 2021-01-31 12:22:11 +01:00
parent 0444f501fc
commit 96e85b85b2

View file

@ -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