avec dfu

Fork of Utils by POTLESS

Files at this revision

API Documentation at this revision

Comitter:
POTLESS_2
Date:
Mon Apr 09 06:51:14 2018 +0000
Parent:
14:fbf4be649b6a
Child:
16:74cb32bb162f
Commit message:
modifs;

Changed in this revision

Utils.cpp Show annotated file Show diff for this revision Revisions of this file
Utils.h Show annotated file Show diff for this revision Revisions of this file
--- a/Utils.cpp	Fri Mar 30 10:28:43 2018 +0000
+++ b/Utils.cpp	Mon Apr 09 06:51:14 2018 +0000
@@ -37,19 +37,19 @@
     wait_ms(100);
 }
 
-void UTILS::Flash_Infos()
+void UTILS::Flash_Infos(Serial *serial_port)
 {
-    printf("\r\n");
-    printf("Flash size         : %llu Mb\r\n", bd.size() / 1048576);
-    printf("Flash read size    : %llu\r\n", bd.get_read_size());
-    printf("Flash program size : %llu\r\n", bd.get_program_size());
-    printf("Flash erase size   : %llu\r\n", bd.get_erase_size());
+    serial_port->printf("\r\n");
+    serial_port->printf("  Flash size         : %llu Mb\r\n", bd.size() / 1048576);
+    serial_port->printf("  Flash read size    : %llu\r\n", bd.get_read_size());
+    serial_port->printf("  Flash program size : %llu\r\n", bd.get_program_size());
+    serial_port->printf("  Flash erase size   : %llu\r\n", bd.get_erase_size());
 }
 
-void UTILS::Get_File_Size(char* File_Name)
+void UTILS::Get_File_Size(Serial *serial_port, char* File_Name)
 {
 
-    char filename[20];
+    char filename[50];
     sprintf(filename, "/Root/%s", File_Name);
 
     FILE* fd = fopen(filename, "r");
@@ -61,15 +61,14 @@
 
     fclose(fd);
 
-    printf("\r\n");
-    printf("  Taille du fichier %s = %d Kb\r\n", filename, size / 1024);
+    serial_port->printf("  Taille du fichier %s = %d Kb\r\n", filename, size / 1024);
 }
 
 void UTILS::Store_A_Val(float Val_To_Store, char* File_Name)
 {
 
-    char filename[20];
-    sprintf(filename, "/Root/%s.txt", File_Name);
+    char filename[50];
+    sprintf(filename, "/Root/%s", File_Name);
 
     FILE* fd = fopen(filename, "w");
     errno_error(fd);
@@ -87,8 +86,8 @@
     char *token;
     int i = 0;
 
-    char filename[20];
-    sprintf(filename, "/Root/%s.txt", File_Name);
+    char filename[50];
+    sprintf(filename, "/Root/%s", File_Name);
 
     DEEP_DEBUG("  \n  Récupération de %s...\r\n", filename);
 
@@ -130,7 +129,7 @@
 /*
 void UTILS::Read_Flash_File(char* File_Name)
 {
-    char filename[20];
+    char filename[50];
     sprintf(filename, "/Root/%s", File_Name);
 
     FILE* fd = fopen(filename, "r");
@@ -149,30 +148,31 @@
 }
 */
 
-void UTILS::Read_Flash_File(char* File_Name)
-{
-    char filename[20];
-    sprintf(filename, "/Root/%s", File_Name);
-
+void UTILS::Read_Flash_File(Serial *serial_port, char* File_Name)
+{   
+    if (File_Exist(File_Name)) {
+    char filename[50];
+    sprintf(filename, "/Root/%s", File_Name);    
     FILE* fd = fopen(filename, "r");
     errno_error(fd);
     char s1[100];
     printf("\r\n");
-    printf("  Contenu du fichier :\r\n\r\n");
+    DEBUG("  Contenu du fichier :\r\n\r\n");
     while (!feof(fd)) {
         memset(s1, 0, sizeof(s1));
         fgets(s1, sizeof(s1), fd);
-        printf("%s", s1);
+        serial_port->printf("%s", s1);       
         fflush(stdout);
     }
     fclose(fd);
-    printf("\r\n  Fin du fichier.\r\n");
+    DEBUG("\r\n  Fin du fichier.\r\n");
+    }
 }
 
-bool UTILS::File_Exist(string File_Name)
+bool UTILS::File_Exist(char* File_Name)
 {
-    char filename[20];
-    sprintf(filename, "/Root/%s.txt", File_Name);
+    char filename[50];
+    sprintf(filename, "/Root/%s", File_Name);
 
     FILE* fd = fopen(filename, "r");
     errno_error(fd);
@@ -191,7 +191,7 @@
 
 void UTILS::Delete_Flash_File(char* File_Name)
 {
-    char filename[20];
+    char filename[50];
     sprintf(filename, "%s", File_Name);
     int error = 0;
     error = Root.remove(filename);
@@ -204,25 +204,33 @@
 {
     DEBUG("  Nettoyage de la Flash.\r\n");
     //float Saved_O2 = UTILS::Read_A_Val("Calibration_O2");
-    int Saved_Motor = (int)UTILS::Read_A_Val("Servo_Poumon");
-    int ARNSRS_ID = (int)UTILS::Read_A_Val("ARNSRS_ID");
+    int Saved_Motor = (int)UTILS::Read_A_Val("Servo_Poumon.sys");
+    int ARNSRS_ID = (int)UTILS::Read_A_Val("ARNSRS_ID.sys");
     UTILS::UnMount_Flash();
     UTILS::Format_Flash();
     UTILS::Mount_Flash();
     //UTILS::Store_A_Val(Saved_O2, "Calibration_O2");
-    UTILS::Store_A_Val(Saved_Motor, "Servo_Poumon");
-    UTILS::Store_A_Val(ARNSRS_ID, "ARNSRS_ID");
+    UTILS::Store_A_Val(Saved_Motor, "Servo_Poumon.sys");
+    UTILS::Store_A_Val(ARNSRS_ID, "ARNSRS_ID.sys");
     DEBUG("  Flash nettoyée.\r\n");
     DEBUG("  Redémmarage code.\r\n");
     UTILS::UnMount_Flash();
     NVIC_SystemReset();
 }
 
+void UTILS::Clean_Flash_All()
+{
+    DEBUG("  Nettoyage complet de la Flash.\r\n");
+    UTILS::UnMount_Flash();
+    UTILS::Format_Flash();
+    NVIC_SystemReset();
+}
+
 void UTILS::Rename_Flash_File(char* Old_File_Name, char* New_File_Name)
 {
-    char Oldfilename[20];
+    char Oldfilename[50];
     sprintf(Oldfilename, "/Root/%s", Old_File_Name);
-    char Newfilename[20];
+    char Newfilename[50];
     sprintf(Newfilename, "/Root/%s", New_File_Name);
 
     int error = 0;
@@ -264,12 +272,12 @@
     return_error(error);
 }
 
-void UTILS::Dir_Flash(char* Dir_Name)
+void UTILS::Dir_Flash(Serial *serial_port, char* Dir_Name)
 {
     int error = 0;
     int nb = 0;
     DEEP_DEBUG("\r\n  Ouverture du répertoire %s\r\n", Dir_Name);
-    char Dirname[20];
+    char Dirname[50];
     sprintf(Dirname, "/Root/%s", Dir_Name);
 
     DIR* dir = opendir(Dirname);
@@ -277,7 +285,7 @@
     struct dirent* de;
     DEBUG("  Fichiers du répertoire :\r\n\r\n");
     while((de = readdir(dir)) != NULL) {
-        printf("  %s\r\n", &(de->d_name)[0]);
+        serial_port->printf("  %s\r\n", &(de->d_name)[0]);
         fflush(stdout);
         nb++;
     }
@@ -320,55 +328,55 @@
         return x;
 }
 
-void UTILS::Help()
+void UTILS::Help(Serial *serial_port)
 {
-    printf("\r\n");
-    printf("  COMMANDES GENERALES\r\n\r\n");
+    serial_port->printf("\r\n");
+    serial_port->printf("  COMMANDES GENERALES\r\n\r\n");
     /*
-    printf("  help             =    liste des commandes.\r\n");
-    printf("  start            =    démmarage des sorties moniteur.\r\n");
-    printf("  stop             =    arrêt des sorties moniteur.\r\n");
-    printf("  time X           =    met la RTC à l'heure, X en UNIX TIME.\n\r");
+    serial_port->printf("  help             =    liste des commandes.\r\n");
+    serial_port->printf("  start            =    démmarage des sorties moniteur.\r\n");
+    serial_port->printf("  stop             =    arrêt des sorties moniteur.\r\n");
+    serial_port->printf("  time X           =    met la RTC à l'heure, X en UNIX TIME.\n\r");
     */
-    printf("  ARNSRS_ID X      =    entrée de l'identifiant de l'appareil X.\r\n");
+    serial_port->printf("  ARNSRS_ID X      =    entrée de l'identifiant de l'appareil X.\r\n");
     /*
-    printf("  sleep            =    mise en veille.\n\r");
-    printf("  reset            =    reset de la carte.\n\r\n\r");
-    printf("  COMMANDES MEMOIRE\r\n\r\n");
-    printf("  rec              =    démarrage / arrêt enregistrement.\r\n");
-    printf("  flash_i          =    informations sur la flash.\r\n");
-    printf("  flash_u          =    démonte la flash. A faire avant de débrancher ou recharger un code.\r\n");
-    printf("  flash_m          =    monte la flash.\r\n");
-    printf("  flash_c          =    nettoyage flash, suppression des fichiers LOG.\r\n");
-    printf("  dir              =    liste des fichiers de la flash.\r\n");
-    printf("  del X            =    effacer le fichier LOG_X.\n\r");
-    printf("  get X            =    récupérer le contenu du fichier LOG_X.\n\r");
-    printf("  file_s X         =    récupérer la taille du fichier LOG_X.\n\r\n\r");
-    //printf("  file_i X         =    récupérer les informations sur le fichier LOG_X.\n\r\n\r");
-    printf("  COMMANDES MOTEURS\r\n\r\n");
-    printf("  c_pou X          =    changement consigne volet poumon à X.\n\r");
-    printf("  c_fui X          =    changement consigne volet fuite à X.\n\r");
-    printf("  calib_p          =    calibration à 0 du volet poumon.\n\r");
-    printf("  calib_f          =    calibration à 0 du volet fuite.\n\r");
-    printf("  secu             =    mise des volets en mode sécu.\n\r");
-    printf("  check_F          =    sortie des valeurs 0 moteurs et ARNSRS_ID enregistrées.\n\r\n\r");
+    serial_port->printf("  sleep            =    mise en veille.\r\n");
+    serial_port->printf("  reset            =    reset de la carte.\r\n\r\n");
+    serial_port->printf("  COMMANDES MEMOIRE\r\n\r\n");
+    serial_port->serial_port->printf("  rec              =    démarrage / arrêt enregistrement.\r\n");
+    serial_port->printf("  flash_i          =    informations sur la flash.\r\n");
+    serial_port->printf("  flash_u          =    démonte la flash. A faire avant de débrancher ou recharger un code.\r\n");
+    serial_port->printf("  flash_m          =    monte la flash.\r\n");
+    serial_port->printf("  flash_c          =    nettoyage flash, suppression des fichiers LOG.\r\n");
+    serial_port->printf("  dir              =    liste des fichiers de la flash.\r\n");
+    serial_port->printf("  del X            =    effacer le fichier LOG_X.\r\n");
+    serial_port->printf("  get X            =    récupérer le contenu du fichier LOG_X.\r\n");
+    serial_port->printf("  file_s X         =    récupérer la taille du fichier LOG_X.\r\n");
+    //serial_port->printf("  file_i X         =    récupérer les informations sur le fichier LOG_X.\r\n");
+    serial_port->printf("  COMMANDES MOTEURS\r\n\r\n");
+    serial_port->printf("  c_pou X          =    changement consigne volet poumon à X.\r\n");
+    serial_port->printf("  c_fui X          =    changement consigne volet fuite à X.\r\n");
+    serial_port->printf("  calib_p          =    calibration à 0 du volet poumon.\r\n");
+    serial_port->printf("  calib_f          =    calibration à 0 du volet fuite.\r\n");
+    serial_port->printf("  secu             =    mise des volets en mode sécu.\r\n");
+    serial_port->printf("  check_F          =    sortie des valeurs 0 moteurs et ARNSRS_ID enregistrées.\r\n");
     */
     
-    printf("  COMMANDES CAPTEURS\r\n\r\n");
-    printf("  Head_ID X        =    Numérote le numéro X d'identification de la sensor Head dans l'eeprom.\n\r");
-    printf("  O2_1_ID X        =    Numérote le numéro X d'identification de la cellule O2 1 dans l'eeprom.\n\r");
-    printf("  O2_2_ID X        =    Numérote le numéro X d'identification de la cellule O2 2 dans l'eeprom.\n\r");
-    printf("  CO2_ID X         =    Numérote le numéro X d'identification du capteur CO2 dans l'eeprom.\n\r");
-    printf("  check_E          =    sortie des valeurs de calibration enregistrées dans l'eeprom.\n\r\n\r");
-    printf("  calib_O2 X       =    calibration des cellules O2 dans l'air avec X itérations.\n\r\n\r");
+    serial_port->printf("  COMMANDES CAPTEURS\r\n\r\n");
+    serial_port->printf("  Head_ID X        =    Numérote le numéro X d'identification de la sensor Head dans l'eeprom.\r\n");
+    serial_port->printf("  O2_1_ID X        =    Numérote le numéro X d'identification de la cellule O2 1 dans l'eeprom.\r\n");
+    serial_port->printf("  O2_2_ID X        =    Numérote le numéro X d'identification de la cellule O2 2 dans l'eeprom.\r\n");
+    serial_port->printf("  CO2_ID X         =    Numérote le numéro X d'identification du capteur CO2 dans l'eeprom.\r\n");
+    serial_port->printf("  check_E          =    sortie des valeurs de calibration enregistrées dans l'eeprom.\r\n");
+    serial_port->printf("  calib_O2 X       =    calibration des cellules O2 dans l'air avec X itérations.\r\n");
     
-    printf("  Les commandes pour le Mini-r sont à entrer conformément à la doc. Les plus utilisée :\n\r");
-    printf("  G                =    calibration du capteur CO2 dans l'air.\n\r");
-    printf("  K 0              =    arrêt du capteur CO2.\n\r");
-    printf("  K 1              =    capteur CO2 mode streaming.\n\r");
-    printf("  K 2              =    capteur CO2 mode spooling.\n\r");
-    printf("  A X              =    digi filter X. X égal à 32, 64, 128...\n\r");
-    printf("\r\n\r\n");
+    serial_port->printf("  Les commandes pour le Mini-r sont à entrer conformément à la doc. Les plus utilisée :\r\n");
+    serial_port->printf("  G                =    calibration du capteur CO2 dans l'air.\r\n");
+    serial_port->printf("  K 0              =    arrêt du capteur CO2.\r\n");
+    serial_port->printf("  K 1              =    capteur CO2 mode streaming.\r\n");
+    serial_port->printf("  K 2              =    capteur CO2 mode spooling.\r\n");
+    serial_port->printf("  A X              =    digi filter X. X égal à 32, 64, 128...\r\n");
+    //serial_port->printf("\r\n");
     fflush(stdout);
 }
 
@@ -517,4 +525,4 @@
         clean_line_EEPROM(pointer, address);
     }
     DEBUG("Eeprom néttoyée.\r\n");
-}
+}
\ No newline at end of file
--- a/Utils.h	Fri Mar 30 10:28:43 2018 +0000
+++ b/Utils.h	Mon Apr 09 06:51:14 2018 +0000
@@ -128,8 +128,9 @@
     static float constrain(float x, float a, float b);
 
     /**Fonction d'affichage des infos de la Flash.
+    * @param Serial Port série ou sortir le résultat
     */
-    static void Flash_Infos();
+    static void Flash_Infos(Serial *serial_port = NULL);
 
     /**Fonction de stockage valeur sur la Flash.
     * @param float Val_To_Store, la valeur à stocker
@@ -151,14 +152,16 @@
     static void Write_Flash_File(char* To_Store, char* File_Name);
 
     /**Fonction de lecture d'un fichier sur la Flash.
+    * @param Serial Port série ou sortir le résultat
     * @param char* Nom du fichier
     */
-    static void Read_Flash_File(char* File_Name);
-
+    static void Read_Flash_File(Serial *serial_port, char* File_Name);
+    
     /**Fonction de renvoie de la taille d'un fichier.
+    * @param Serial Port série ou sortir le résultat
     * @param char* Nom du fichier
     */
-    static void Get_File_Size(char* File_Name);
+    static void Get_File_Size(Serial *serial_port, char* File_Name);
 
     /**Fonction d'éffaçage d'un fichier sur la Flash.
     * @param char* Nom du fichier à effacer
@@ -169,6 +172,10 @@
     */
     static void Clean_Flash();
 
+    /**Fonction nettoyage de la Flash.
+    */
+    static void Clean_Flash_All();
+    
     /**Fonction d'éffaçage d'un fichier sur la Flash.
     * @param char* Nom du fichier à effacer
     * @param char* Nouveau Nom du fichier
@@ -188,10 +195,11 @@
     static void Format_Flash();
 
     /**Fonction DIR.
+    * @param Serial Port série ou sortir le résultat
     * @param char* Nom du répertoire
     */
-    static void Dir_Flash(char* Dir_Name = "");
-
+    static void Dir_Flash(Serial *serial_port = NULL, char* Dir_Name = "");
+    
     /**Fonction de numérotage des fichiers log.
     * @returns
     *   Index du nouveau fichier log
@@ -203,11 +211,12 @@
     * @returns
     *   true si le fichier existe, false s'il n'existe pas
     */
-    static bool File_Exist(string File_Name);
+    static bool File_Exist(char* File_Name);
 
     /**Fonction d'affichage du menu d'aide.
+    * @param Serial Port série ou sortir le résultat
     */
-    static void Help();
+    static void Help(Serial *serial_port = NULL);
 
     /**Fonction d'écriture sur l'eeprom.
     * @param char data à stocker
@@ -233,7 +242,7 @@
     static float read_F_EEPROM(unsigned int eeaddress, int address = EEPROM_ADDRESS);
     
     /**Fonction de lecture d'un char dans l'eeprom.
-    * @param char data ou vaêtre stocké le résultat
+    * @param char data ou va être stocké le résultat
     * @param int eeadress de stockage de la data dans l'eeprom
     * @param int adress adresse I2C de l'eeprom
     * @returns
@@ -259,7 +268,7 @@
     * @param int adress adresse I2C de l'eeprom
     */
     static void clean_EEPROM(int address = EEPROM_ADDRESS);
-
+    
 private:
 //Rien...
 };