avec dfu

Fork of Utils by POTLESS

Revision:
6:8bae97034114
Parent:
5:0f3b6e6677ef
Child:
7:1bd8b236feb1
--- a/Utils.h	Tue Feb 13 16:54:00 2018 +0000
+++ b/Utils.h	Tue Feb 20 16:48:46 2018 +0000
@@ -6,14 +6,23 @@
 
 #include "FATFileSystem.h"
 #include "SDBlockDevice.h"
+//#include "SPIFBlockDevice.h"
 #include <stdio.h>
 #include <errno.h>
 
-//PIN OUT carte SD
-#define SD_MOSI PA_7
-#define SD_MISO PA_6
-#define SD_SCK PA_5
-#define SD_CS PB_6
+//PIN OUT Flash
+#define Flash_MOSI PA_7
+#define Flash_MISO PA_6
+#define Flash_SCK PA_5
+#define Flash_CS PB_6
+
+#define DEBUG_UTILS 0
+
+#if DEBUG_UTILS
+#define DEBUG_U(...) { printf(__VA_ARGS__); fflush(stdout);}
+#else
+#define DEBUG_U(...)
+#endif
 
 /** Utils class.
  *  Rassemblant des fonctions annexes pour le fonctionnement de l'ARNSRS.
@@ -22,21 +31,63 @@
  *
  *  -  FATFileSystem
  *
- *  -  SDBlockDevice
+ *  -  SPIFBlockDevice
  *
  *
  *  Constantes de l'application :
  *
- * Pin out carte SD :
+ * Pin out Flash :
+ *
+ * -  Flash_MOSI PA_7
+ *
+ * -  Flash_MISO PA_6
+ *
+ * -  Flash_SCK PA_5
+ *
+ * -  Flash_CS PB_6
+ *
+ * Liste des erreurs possibles sur les fonctions Flash :
  *
- * -  SD_MOSI PA_7
+ *
+ * (0) no error
+ * 
+ * (1) A hard error occurred in the low level disk I/O layer
+ *
+ * (2) Assertion failed 
+ *
+ * (3) The physical drive cannot work 
+ *
+ * (4) Could not find the file
+ *
+ * (5) Could not find the path
  *
- * -  SD_MISO PA_6
+ * (6) The path name format is invalid
+ *
+ * (7) Access denied due to prohibited access or directory full, Permission denied
+ *
+ * (8) Access denied due to prohibited access, File exists
+ *
+ * (9) The file/directory object is invalid, Bad address 
+ *
+ * (10) The physical drive is write protected
+ *
+ * (11) The logical drive number is invalid
+ *
+ * (12) The volume has no work area, No such device or address
  *
- * -  SD_SCK PA_5
+ * (13) There is no valid FAT volume, No such file or directory
+ *
+ * (14) The f_mkfs() aborted due to any parameter error
+ *
+ * (15) Could not get a grant to access the volume within defined period, Bad file number
  *
- * -  SD_CS PB_6
+ * (16) The operation is rejected according to the file sharing policy, Permission denied
+ *
+ * (17) LFN working buffer could not be allocated, Not enough space
  *
+ * (18) Number of open files > _FS_LOCK, Too many open files in system
+ *
+ * (19) Given parameter is invalid, Exec format error 
 */
 
 class UTILS
@@ -60,57 +111,61 @@
     */
     static float constrain(float x, float a, float b);
 
-    /**Fonction de stockage valeur sur la carte SD.
+    /**Fonction de stockage valeur sur la Flash.
     * @param float Val_To_Store, la valeur à stocker
     * @param char* Nom du fichier ou stocker cette valeur
     */
     static void Store_A_Val(float Val_To_Store, char* File_Name);
 
-    /**Fonction de récupération d'une valeur stockée sur la carte SD.
+    /**Fonction de récupération d'une valeur stockée sur la Flash.
     * @param char* Nom du fichier ou stocker cette valeur
     * @returns
     *   valeur de calibration des capteurs O2
     */
     static float Read_A_Val(char* File_Name);
 
-    /**Fonction d'enregistrement d'une chaine de charatères sur la carte SD.
+    /**Fonction d'enregistrement d'une chaine de charatères sur la Flash.
     * @param char* To_Store, chaine de charactères
     * @param char* Nom du fichier, s'il existe il est ouvert, sinon il est créé
     */
-    static void Write_SD_File(char* To_Store, char* File_Name);
+    static void Write_Flash_File(char* To_Store, char* File_Name);
 
-    /**Fonction de lecture d'un fichier sur la carte SD.
+    /**Fonction de lecture d'un fichier sur la Flash.
     * @param char* Nom du fichier
     */
-    static void Read_SD_File(char* File_Name);
+    static void Read_Flash_File(char* File_Name);
 
-    /**Fonction d'éffaçage d'un fichier sur la carte SD.
+    /**Fonction d'éffaçage d'un fichier sur la Flash.
     * @param char* Nom du fichier
     */
-    static void Delete_SD_File(char* File_Name);
+    static void Delete_Flash_File(char* File_Name);
 
-    /**Fonction d'éffaçage d'un fichier sur la carte SD.
+    /**Fonction nettoyage de la Flash.
+    */
+    static void Clean_Flash();
+    
+    /**Fonction d'éffaçage d'un fichier sur la Flash.
     * @param char* Nom du fichier à effacer
     * @param char* Nouveau Nom du fichier
     */
-    static void Rename_SD_File(char* Old_File_Name, char* New_File_Name);
+    static void Rename_Flash_File(char* Old_File_Name, char* New_File_Name);
 
-    /**Fonction montage de la carte SD.
+    /**Fonction montage de la Flash.
     */
-    static void Mount_SD();
+    static void Mount_Flash();
 
-    /**Fonction demontage de la carte SD.
+    /**Fonction demontage de la Flash.
     */
-    static void UnMount_SD();
+    static void UnMount_Flash();
 
-    /**Fonction formatage de la carte SD.
+    /**Fonction formatage de la Flash.
     */
-    static void Format_SD();
+    static void Format_Flash();
     
     /**Fonction DIR.
     * @param char* Nom du répertoire
     */
-    static void Dir_SD(char* Dir_Name = "");
+    static void Dir_Flash(char* Dir_Name = "");
     
     /**Fonction de numérotage des fichiers log.
     * @returns
@@ -124,6 +179,10 @@
     *   true si le fichier existe, false s'il n'existe pas
     */
     static bool File_Exist(string File_Name);
+    
+    /**Fonction d'affichage du menu d'aide.
+    */
+    static void Help();
 
 
 private: