Versión de Firmware con funciones de RAM incorporadas.

Dependencies:   mbed

Fork of VmRecorderV1dot1 by virtualmech

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?

UserRevisionLine numberNew 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