diverses modifications, debug

This commit is contained in:
pgp 2021-01-20 10:53:04 +01:00
parent 4525ef02ce
commit 6d65aa13cd
2 changed files with 69 additions and 24 deletions

View file

@ -8,6 +8,7 @@
#include "driver/pcnt.h" #include "driver/pcnt.h"
#include <WiFi.h> #include <WiFi.h>
#include <ESPAsyncWebServer.h> #include <ESPAsyncWebServer.h>
//#include <time.h>
///////////////////////////// /////////////////////////////
/* DÉFINITIONS DU COMPTEUR */ /* DÉFINITIONS DU COMPTEUR */
@ -18,7 +19,7 @@
#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
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
float vRotReel; // vitesse réelle mesurée du moteur int vRotReel; // vitesse réelle mesurée du moteur
///////////////////////////////// /////////////////////////////////
/*NUMÉRO DE SÉRIE DE L'APPAREIL*/ /*NUMÉRO DE SÉRIE DE L'APPAREIL*/
@ -39,9 +40,8 @@ RTC_DS3231 rtc; //déclaration de la rtc
/* DÉFINITIONS DE LA CARTE SD */ /* DÉFINITIONS DE LA CARTE SD */
//////////////////////////////// ////////////////////////////////
unsigned long freq_ecriture = 60000; // durée entre deux écritures sur la carte SD en micro secondes unsigned long freq_ecriture = 60000; // durée entre deux écritures sur la carte SD en micro secondes
int fichier = 0; char horodatage[12]; //création du tableau pour contenir l'horodatage
char horodatage[25]; //création du tableau pour contenir l'horodatage char fileName[5]; //tableau pour le nom de fichier
char fileName[5];
////////////////////////////////// //////////////////////////////////
/* DÉFINITIONS DU DRIVER MOTEUR */ /* DÉFINITIONS DU DRIVER MOTEUR */
@ -180,6 +180,7 @@ void writeFile(fs::FS &fs, const char * path, const char * message){
File file = fs.open(path, FILE_WRITE); File file = fs.open(path, FILE_WRITE);
if(!file){ if(!file){
Serial.println("Failed to open file for writing"); Serial.println("Failed to open file for writing");
errorCode(2);
return; return;
} }
if(file.print(message)){ if(file.print(message)){
@ -257,14 +258,49 @@ void testFileIO(fs::FS &fs, const char * path){
file.close(); file.close();
} }
void sd_init(){
writeFile(SD, fileName, horodatage ); void sd_init() {
if(!SD.begin()){
Serial.println("Card Mount Failed");
errorCode(2);
return;
}
uint8_t cardType = SD.cardType();
if(cardType == CARD_NONE){
Serial.println("No SD card attached");
errorCode(3);
return;
}
Serial.println("balise 01");
DateTime now = rtc.now();
fileName[1] = '/';
fileName[2] = now.month();
fileName[3] = now.day();
fileName[4] = now.hour();
fileName[5] = now.minute();
char entete[64] = "fichier de data";
writeFile(SD, fileName, entete);
} }
void scribe_sd (){ void scribe_sd (){
DateTime now = rtc.now();
char buffer[64];
snprintf(buffer, sizeof buffer, "%f", vRotReel);
horodatage[1] = now.year();
horodatage[2] = '-';
horodatage[3] = now.month();
horodatage[4] = '-';
horodatage[5] = now.day();
horodatage[6] = '-';
horodatage[7] = now.hour();
horodatage[8] = ':';
horodatage[9] = now.minute();
horodatage[10] = ':';
horodatage[11] = now.second();
horodatage[12] = ' ';
appendFile(SD, fileName, horodatage); appendFile(SD, fileName, horodatage);
appendFile(SD, fileName, buffer);
} }
//////////////////////////// ////////////////////////////
@ -293,8 +329,8 @@ void rtc_init() {
Serial.println("RTC introuvable !"); // ligne de debug à commenter en prod Serial.println("RTC introuvable !"); // ligne de debug à commenter en prod
delay(2000); delay(2000);
errorCode(1); errorCode(1);
ESP.restart(); // ESP.restart();
while (1); //while (1);
} }
if (rtc.lostPower()) { if (rtc.lostPower()) {
Serial.println("Veuillez régler l'heure et vérifier la pile du module RTC!"); // ligne de debug à commenter en prod Serial.println("Veuillez régler l'heure et vérifier la pile du module RTC!"); // ligne de debug à commenter en prod
@ -302,7 +338,7 @@ void rtc_init() {
} }
else else
{ {
DateTime now = rtc.now(); // mise à l'heure de l'esp, à partir de la rtc DateTime now = rtc.now(); //
Serial.println("mise à l'heure de l'esp, à partir de la rtc"); Serial.println("mise à l'heure de l'esp, à partir de la rtc");
} }
@ -380,7 +416,7 @@ void wifi_AP() { // ajouter menu vitesse et fréquence d'écriture
/////////////// ///////////////
/* PAGE HTML */ /* PAGE HTML */
/////////////// ///////////////
// Peut-être extrnaliser la page html dans un fichier txt // Peut-être externaliser la page html dans un fichier txt
String html ="<!DOCTYPE html> \ String html ="<!DOCTYPE html> \
<html> \ <html> \
<body> \ <body> \
@ -406,20 +442,17 @@ void vigie_Wifi () {
} }
void setup() { void setup() {
// serial just for feedback Serial.begin(9600); // serial just for feedback
Serial.begin(9600); delay(3000);
// RTC Serial.println("balise 0");
rtc_init(); rtc_init(); // RTC
// lecteur de carte SD sd_init (); // initialisation de la carte SD
sd_init (); pinMode(bouton_wifi, INPUT); // bouton wifi
// bouton wifi sem_wifi = false; // initialisation du sémaphore
pinMode(bouton_wifi, INPUT); pinMode(LED, OUTPUT); // LED bouton wifi et erreurs
sem_wifi = false; // initialisation du sémaphore start_moteur(); // moteur
// LED bouton wifi et erreurs
pinMode(LED, OUTPUT); /* compteur de pulsations */
// moteur
start_moteur();
// compteur de pulsations
sem_compteur = false; // initialisation du sémaphore sem_compteur = false; // initialisation du sémaphore
//pinMode(pulsePin,INPUT_PULLUP); //pinMode(pulsePin,INPUT_PULLUP);
start_compteur(); start_compteur();

View file

@ -0,0 +1,12 @@
{
"folders": [
{
"path": "../../.."
},
{
"name": "ifv_esp32",
"path": ".."
}
],
"settings": {}
}