Versión sin post-procesado del software del VmRideR
Dependencies: mbed
FileManager/SistemaArchivos.h
- Committer:
- jjmedina
- Date:
- 2015-06-15
- Revision:
- 1:a3c9b672b8e2
- Parent:
- 0:3d456b8ce449
File content as of revision 1:a3c9b672b8e2:
/** * @author Juan Manuel Amador Olivares (virtualmech) */ #ifndef SISTEMAARCHIVOS_H #define SISTEMAARCHIVOS_H #define NMAXVIAJES 100 #define NCARACTERES 28 #define NCARACTERESLECTURA 64 #include "mbed.h" #include "ScreenManager.h" #include "MSCFileSystem.h" #include "SelecManager.h" #include <string.h> #include <stdlib.h> // Esta clase va a gestionar los archivos que guardan los datos recogidos del acelerómetro // La filosofía de funcionamiento es la siguiente: // En la memoria flash externa se guardarán los archivos con los datos // Como se va a necesitar cargar estos archivos en otro momento o incluso cambiarles el nombre, se guardará en la memoria flash de la mbed una lista con los nombres de los archivosde datos y así independientemente de su nombre // puedan encontrarse y cargarse. // En definitiva esta clase controlará esta lista de nombres de archivos class SistemaArchivos{ public: SistemaArchivos(); // EL construtor carga los valores de configuracion o crea una configuracion inicial en caso de no existir void addElement(char newElement[]); // Esta función añade un nuevo nombre de archivo a la lista int reloadRideNames(); // Esta función carga en memoria los nombres de los viajes guardados en el archivo RideList.txt y guarda el número de viajes // Devuelve 0 si se recargo correctamente o 1 si no se pudo acceder al archivo de la lista de viajes. char *getNameRide(int nameNumber); // Esta función devuelve un puntero a la lista de nombres de los viajes int getNrides(); bool alredyExist(char *name); // Comprueba si nombre pasado como argumento está o no en la lista de nombres de los viajes int file_rename(const char *oldfile, const char *newfile); // Cambia el nombre de un archivo de la memoria flash // Funciones para modificar la lista de viajes: "RideList.txt", antes de usar estas funciones // llamar a la función "reloadRideNames() para actualizar la lista de viajes en memoria // También modifican los archivos en la memoria flash // Estas funciones devuelven 0 en caso de haber podido ejecutarse correctamente o 1 en caso de error int deleteRide(char *fileName); // Borra los archivos asociados a un viaje, y lo borra de la lista de viajes int renameRide(char *fileName, char *newName); // Cambia el nombre de los archivos asociados a un viaje, y de la lista de viajes private: char names[NMAXVIAJES][NCARACTERES]; void saveRideList(); // Guarda en el archivo "RideList.txt" la lista de nombres guardados en el array names sobreescribiendo los anteriores // Devuelve 1 si no se ha podido acceder al archivo int nViajes; void deleteLastChar(char *str); // Borra el último caracter de una cadena }; #endif