avec dfu

Fork of Utils by POTLESS

Utils.h

Committer:
POTLESS_2
Date:
2018-02-13
Revision:
3:01677db45b2a
Parent:
2:5af7a1fb1903
Child:
4:872676dd87a4

File content as of revision 3:01677db45b2a:

#ifndef CHANGEME_H_
#define CHANGEME_H_

#include "mbed.h"
#include <string>

#include "FATFileSystem.h"
#include "SDBlockDevice.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

/** Utils class.
 *  Rassemblant des fonctions annexes pour le fonctionnement de l'ARNSRS.
 *
 *  A besoin des libs suivantes :
 *
 *  -  FATFileSystem
 *
 *  -  SDBlockDevice
 *
 *
 *  Constantes de l'application :
 *
 * Pin out carte SD :
 *
 * -  SD_MOSI PA_7
 *
 * -  SD_MISO PA_6
 *
 * -  SD_SCK PA_5
 *
 * -  SD_CS PB_6
 *
*/

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 de stockage valeur sur la carte SD.
    * @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.
    * @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.
    * @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);

    /**Fonction de lecture d'un fichier sur la carte SD.
    * @param char* Nom du fichier
    */
    static void Read_SD_File(char* File_Name);

    /**Fonction d'éffaçage d'un fichier sur la carte SD.
    * @param char* Nom du fichier
    */
    static void Delete_SD_File(char* File_Name);

    /**Fonction d'éffaçage d'un fichier sur la carte SD.
    * @param char* Nom du fichier à effacer
    * @param char* Nouveau Nom du fichier
    */
    static void Rename_SD_File(string Old_File_Name, string New_File_Name);

    /**Fonction montage de la carte SD.
    */
    static void Mount_SD();

    /**Fonction demontage de la carte SD.
    */
    static void UnMount_SD();

    /**Fonction formatage de la carte SD.
    */
    static void Format_SD();
    
    /**Fonction DIR.
    * @param char* Nom du répertoire
    */
    static void Dir_SD(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(char* File_Name);


private:
//Rien...
};
#endif