avec dfu
Fork of Utils by
Utils.h
- Committer:
- POTLESS_2
- Date:
- 2018-02-23
- Revision:
- 9:fa2818db80cf
- Parent:
- 8:23fd400c4edd
- Child:
- 10:21f3ff5d6a3d
File content as of revision 9:fa2818db80cf:
#ifndef CHANGEME_H_ #define CHANGEME_H_ #include "mbed.h" #include <string> #include "FATFileSystem.h" //#include "SDBlockDevice.h" #include "SPIFBlockDevice.h" #include <stdio.h> #include <errno.h> //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. * * A besoin des libs suivantes : * * - FATFileSystem * * - SPIFBlockDevice * * * Constantes de l'application : * * 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 : * * * (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 * * (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 * * (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 * * (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 { public: /**Remapper une valeur dans une autre échelle. * @param float Valeur à remapper * @param float Minimum de l'échelle de la valeur * @param float Maximum de l'échelle de la valeur * @param float Minimum de la nouvelle échelle * @param float Maximum de de la nouvelle échelle */ static float Remap(float x, float in_min, float in_max, float out_min, float out_max); /**Contraint une valeur entre deux limites. * @param float Valeur à contraindre * @param float Minimum de la valeur * @param float Maximum de la valeur */ static float constrain(float x, float a, float b); /**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 */ static void Store_A_Val(float Val_To_Store, char* File_Name); /**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 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_Flash_File(char* To_Store, char* File_Name); /**Fonction de lecture d'un fichier sur la Flash. * @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 */ static void Delete_Flash_File(char* File_Name); /**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_Flash_File(char* Old_File_Name, char* New_File_Name); /**Fonction montage de la Flash. */ static void Mount_Flash(); /**Fonction demontage de la Flash. */ static void UnMount_Flash(); /**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(); private: //Rien... }; #endif