avec dfu

Fork of Utils by POTLESS

Revision:
11:a41267cffa61
Parent:
10:21f3ff5d6a3d
Child:
12:9dd7c462a2c0
--- a/Utils.h	Sat Feb 24 16:55:04 2018 +0000
+++ b/Utils.h	Mon Mar 05 11:14:45 2018 +0000
@@ -17,7 +17,14 @@
 #define Flash_SCK PA_5
 #define Flash_CS PB_6
 
-#define DEBUG_MODE 0
+//Pin de l'eeprom I2C
+#define SCL_PIN  PB_8
+#define SDA_PIN  PB_9
+
+//Adresse i2C de l'eeprom
+#define EEPROM_ADDRESS 0xA0
+
+#define DEBUG_MODE 1
 
 #if DEBUG_MODE
 #define DEBUG(...) { printf(__VA_ARGS__); fflush(stdout);}
@@ -51,12 +58,12 @@
  *
  *
  * (0) no error
- * 
+ *
  * (1) A hard error occurred in the low level disk I/O layer
  *
- * (2) Assertion failed 
+ * (2) Assertion failed
  *
- * (3) The physical drive cannot work 
+ * (3) The physical drive cannot work
  *
  * (4) Could not find the file
  *
@@ -68,7 +75,7 @@
  *
  * (8) Access denied due to prohibited access, File exists
  *
- * (9) The file/directory object is invalid, Bad address 
+ * (9) The file/directory object is invalid, Bad address
  *
  * (10) The physical drive is write protected
  *
@@ -88,7 +95,7 @@
  *
  * (18) Number of open files > _FS_LOCK, Too many open files in system
  *
- * (19) Given parameter is invalid, Exec format error 
+ * (19) Given parameter is invalid, Exec format error
 */
 
 class UTILS
@@ -115,7 +122,7 @@
     /**Fonction d'affichage des infos de la Flash.
     */
     static void Flash_Infos();
-    
+
     /**Fonction de stockage valeur sur la Flash.
     * @param float Val_To_Store, la valeur à stocker
     * @param char* Nom du fichier ou stocker cette valeur
@@ -139,22 +146,22 @@
     * @param char* Nom du fichier
     */
     static void Read_Flash_File(char* File_Name);
-    
+
     /**Fonction de renvoie de la taille d'un fichier.
     * @param char* Nom du fichier
     */
     static void Get_File_Size(char* File_Name);
-    
+
     /**Fonction de renvoie des infos d'un fichier.
     * @param char* Nom du fichier
     */
     static void Get_File_Infos(char* File_Name);
-    
+
     /**Fonction de renvoie des infos d'un fichier.
     * @param char* Nom du fichier
     */
     static void Get_File_Infos_bis(char* File_Name);
-    
+
     /**Fonction d'éffaçage d'un fichier sur la Flash.
     * @param char* Nom du fichier à effacer
     */
@@ -163,7 +170,7 @@
     /**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
@@ -181,29 +188,63 @@
     /**Fonction formatage de la Flash.
     */
     static void Format_Flash();
-    
+
     /**Fonction DIR.
     * @param char* Nom du répertoire
     */
     static void Dir_Flash(char* Dir_Name = "");
-    
+
     /**Fonction de numérotage des fichiers log.
     * @returns
     *   Index du nouveau fichier log
     */
     static int File_Index();
-    
+
     /**Fonction de test si un fichier existe.
     * @param char* Nom du fichier
     * @returns
     *   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();
 
+    /**Fonction d'écriture sur l'eeprom.
+    * @param char data à stocker
+    * @param int eeadress de stockage de la data dans l'eeprom
+    * @param int adress adresse I2C de l'eeprom
+    */
+    static void write_EEPROM(char *data, unsigned int eeaddress, int address = EEPROM_ADDRESS);
+
+    /**Fonction de lecture d'un int dans l'eeprom.
+    * @param int eeadress de stockage de la data dans l'eeprom
+    * @param int adress adresse I2C de l'eeprom
+    * @returns
+    *   valeur int stockée à cette adresse
+    */
+    static int read_I_EEPROM(unsigned int eeaddress, int address = EEPROM_ADDRESS);
+    
+    /**Fonction de lecture d'un float dans l'eeprom.
+    * @param int eeadress de stockage de la data dans l'eeprom
+    * @param int adress adresse I2C de l'eeprom
+    * @returns
+    *   valeur float stockée à cette adresse
+    */
+    static float read_F_EEPROM(unsigned int eeaddress, int address = EEPROM_ADDRESS);
+    
+    /**Fonction de nettoyage d'une ligne de l'eeprom.
+    * @param int eeadress de la ligne a effacer
+    * @param int adress adresse I2C de l'eeprom
+    */
+    static void clean_line_EEPROM(unsigned int eeaddress, int address = EEPROM_ADDRESS);
+
+    /**Fonction de nettoyage l'eeprom.
+    * @param int adress adresse I2C de l'eeprom
+    */
+    static void clean_EEPROM(int address = EEPROM_ADDRESS);
+
 private:
 //Rien...
 };