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_TEST_CHANNEL PCNT_CHANNEL_0
#define PCNT_INPUT_SIG_IO GPIO_NUM_15 // Pulse Input GPIO #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_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 bool sem_compteur; // sémaphore pour le compteur
int16_t count = 0; // variable de compteur int16_t count = 0; // variable de compteur
int vRotReel; // vitesse réelle mesurée du moteur 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*/ /*NUMÉRO DE SÉRIE DE L'APPAREIL*/
///////////////////////////////// /////////////////////////////////
char numero_capteur[] = "capteur n°0001\n"; char numero_capteur[] = "0001";
/////////////////////////// ///////////////////////////
/* DÉFINITIONS DE LA RTC */ /* DÉFINITIONS DE LA RTC */
@ -62,9 +64,9 @@ ESP32PWM pwm; // Activation du pwm
/* DÉFINITIONS DU BOUTON WIFI */ /* DÉFINITIONS DU BOUTON WIFI */
//////////////////////////////// ////////////////////////////////
int bouton_wifi = 2; // pin 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 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 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 --; pos --;
} }
moteur.write(pos); moteur.write(pos);
Serial.println("gaz =");
Serial.println(pos);
} }
void stop_moteur() { void stop_moteur() {
@ -168,10 +172,11 @@ void compte_tour() {
int offset = (compteur_minuteur - millis()); int offset = (compteur_minuteur - millis());
if (offset >= refresh_compte_tour ){ 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 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)){ if(file.print(message)){
Serial.println("Message appended"); Serial.println("Message appended");
} else { } else {
Serial.println("Append failed"); Serial.println("Append failed");
} }
file.close(); file.close();
} }
@ -293,14 +298,15 @@ void sd_init() {
errorCode(4); errorCode(4);
return; return;
} }
//DateTime now{rtc.now()};//DateTime
now = rtc.now(); now = rtc.now();
char date_format[] = "MM-DD-hh-mm"; char date_format[] = "DDhhmm";
char *date = now.toString(date_format); char *date = now.toString(date_format);
strcat(fichier,date); strcat(fichier,date);
char entete[] = "# YY-MM-DD:hh:mm:ss Vrot en tr/min \n"; 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); appendFile(SD, fichier, entete);
} }
@ -309,7 +315,7 @@ void scribe_sd (){
compteur_minuteur = millis(); compteur_minuteur = millis();
sem_compteur = true; 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 timestamp[] = "YY-MM-DD-hh:mm:ss";
char *horodatage = now.toString(timestamp); char *horodatage = now.toString(timestamp);
char buffer[64]; char buffer[64];
@ -318,6 +324,8 @@ void scribe_sd (){
appendFile(SD, fichier, " " ); appendFile(SD, fichier, " " );
appendFile(SD, fichier, buffer); appendFile(SD, fichier, buffer);
appendFile(SD, fichier, "\n" ); appendFile(SD, fichier, "\n" );
Serial.println(vRotReel);
compteur_minuteur = 0;
} }
} }
@ -435,13 +443,14 @@ void vigie_Wifi () {
sem_wifi = true; sem_wifi = true;
wifi_minuteur = millis(); 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_moteur();
stop_compteur(); stop_compteur();
start_wifiAP(); start_wifiAP();
wifi_AP(); wifi_AP();
} }
} }
void setup() { void setup() {
Serial.begin(9600); // serial just for feedback Serial.begin(9600); // serial just for feedback