Versión de Firmware con funciones de RAM incorporadas.
Dependencies: mbed
Fork of VmRecorderV1dot1 by
FileManager/SistemaArchivos.h@2:e818c80e6d5c, 2015-07-14 (annotated)
- Committer:
- JuanManuelAmador
- Date:
- Tue Jul 14 08:34:11 2015 +0000
- Revision:
- 2:e818c80e6d5c
- Parent:
- 0:3d456b8ce449
Funciones de memoria RAM introducidas.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JuanManuelAmador | 0:3d456b8ce449 | 1 | /** |
JuanManuelAmador | 0:3d456b8ce449 | 2 | * @author Juan Manuel Amador Olivares (virtualmech) |
JuanManuelAmador | 0:3d456b8ce449 | 3 | */ |
JuanManuelAmador | 0:3d456b8ce449 | 4 | #ifndef SISTEMAARCHIVOS_H |
JuanManuelAmador | 0:3d456b8ce449 | 5 | #define SISTEMAARCHIVOS_H |
JuanManuelAmador | 0:3d456b8ce449 | 6 | |
JuanManuelAmador | 0:3d456b8ce449 | 7 | #define NMAXVIAJES 100 |
JuanManuelAmador | 0:3d456b8ce449 | 8 | #define NCARACTERES 28 |
JuanManuelAmador | 0:3d456b8ce449 | 9 | #define NCARACTERESLECTURA 64 |
JuanManuelAmador | 0:3d456b8ce449 | 10 | |
JuanManuelAmador | 0:3d456b8ce449 | 11 | #include "mbed.h" |
JuanManuelAmador | 0:3d456b8ce449 | 12 | #include "ScreenManager.h" |
JuanManuelAmador | 0:3d456b8ce449 | 13 | #include "MSCFileSystem.h" |
JuanManuelAmador | 0:3d456b8ce449 | 14 | #include "SelecManager.h" |
JuanManuelAmador | 0:3d456b8ce449 | 15 | #include <string.h> |
JuanManuelAmador | 0:3d456b8ce449 | 16 | #include <stdlib.h> |
JuanManuelAmador | 0:3d456b8ce449 | 17 | |
JuanManuelAmador | 0:3d456b8ce449 | 18 | // Esta clase va a gestionar los archivos que guardan los datos recogidos del acelerómetro |
JuanManuelAmador | 0:3d456b8ce449 | 19 | // La filosofía de funcionamiento es la siguiente: |
JuanManuelAmador | 0:3d456b8ce449 | 20 | // En la memoria flash externa se guardarán los archivos con los datos |
JuanManuelAmador | 0:3d456b8ce449 | 21 | // 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 |
JuanManuelAmador | 0:3d456b8ce449 | 22 | // puedan encontrarse y cargarse. |
JuanManuelAmador | 0:3d456b8ce449 | 23 | // En definitiva esta clase controlará esta lista de nombres de archivos |
JuanManuelAmador | 0:3d456b8ce449 | 24 | class SistemaArchivos{ |
JuanManuelAmador | 0:3d456b8ce449 | 25 | public: |
JuanManuelAmador | 0:3d456b8ce449 | 26 | SistemaArchivos(); // EL construtor carga los valores de configuracion o crea una configuracion inicial en caso de no existir |
JuanManuelAmador | 0:3d456b8ce449 | 27 | |
JuanManuelAmador | 0:3d456b8ce449 | 28 | void addElement(char newElement[]); // Esta función añade un nuevo nombre de archivo a la lista |
JuanManuelAmador | 0:3d456b8ce449 | 29 | |
JuanManuelAmador | 0:3d456b8ce449 | 30 | 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 |
JuanManuelAmador | 0:3d456b8ce449 | 31 | // Devuelve 0 si se recargo correctamente o 1 si no se pudo acceder al archivo de la lista de viajes. |
JuanManuelAmador | 0:3d456b8ce449 | 32 | char *getNameRide(int nameNumber); // Esta función devuelve un puntero a la lista de nombres de los viajes |
JuanManuelAmador | 0:3d456b8ce449 | 33 | int getNrides(); |
JuanManuelAmador | 0:3d456b8ce449 | 34 | |
JuanManuelAmador | 0:3d456b8ce449 | 35 | bool alredyExist(char *name); // Comprueba si nombre pasado como argumento está o no en la lista de nombres de los viajes |
JuanManuelAmador | 0:3d456b8ce449 | 36 | |
JuanManuelAmador | 0:3d456b8ce449 | 37 | int file_rename(const char *oldfile, const char *newfile); // Cambia el nombre de un archivo de la memoria flash |
JuanManuelAmador | 0:3d456b8ce449 | 38 | |
JuanManuelAmador | 0:3d456b8ce449 | 39 | // Funciones para modificar la lista de viajes: "RideList.txt", antes de usar estas funciones |
JuanManuelAmador | 0:3d456b8ce449 | 40 | // llamar a la función "reloadRideNames() para actualizar la lista de viajes en memoria |
JuanManuelAmador | 0:3d456b8ce449 | 41 | // También modifican los archivos en la memoria flash |
JuanManuelAmador | 0:3d456b8ce449 | 42 | // Estas funciones devuelven 0 en caso de haber podido ejecutarse correctamente o 1 en caso de error |
JuanManuelAmador | 0:3d456b8ce449 | 43 | int deleteRide(char *fileName); // Borra los archivos asociados a un viaje, y lo borra de la lista de viajes |
JuanManuelAmador | 0:3d456b8ce449 | 44 | int renameRide(char *fileName, char *newName); // Cambia el nombre de los archivos asociados a un viaje, y de la lista de viajes |
JuanManuelAmador | 0:3d456b8ce449 | 45 | |
JuanManuelAmador | 0:3d456b8ce449 | 46 | |
JuanManuelAmador | 0:3d456b8ce449 | 47 | private: |
JuanManuelAmador | 0:3d456b8ce449 | 48 | |
JuanManuelAmador | 0:3d456b8ce449 | 49 | char names[NMAXVIAJES][NCARACTERES]; |
JuanManuelAmador | 0:3d456b8ce449 | 50 | |
JuanManuelAmador | 0:3d456b8ce449 | 51 | void saveRideList(); // Guarda en el archivo "RideList.txt" la lista de nombres guardados en el array names sobreescribiendo los anteriores |
JuanManuelAmador | 0:3d456b8ce449 | 52 | // Devuelve 1 si no se ha podido acceder al archivo |
JuanManuelAmador | 0:3d456b8ce449 | 53 | |
JuanManuelAmador | 0:3d456b8ce449 | 54 | int nViajes; |
JuanManuelAmador | 0:3d456b8ce449 | 55 | |
JuanManuelAmador | 0:3d456b8ce449 | 56 | void deleteLastChar(char *str); // Borra el último caracter de una cadena |
JuanManuelAmador | 0:3d456b8ce449 | 57 | }; |
JuanManuelAmador | 0:3d456b8ce449 | 58 | |
JuanManuelAmador | 0:3d456b8ce449 | 59 | |
JuanManuelAmador | 0:3d456b8ce449 | 60 | #endif |