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 AUTOCALIBRACION_H
JuanManuelAmador 0:3d456b8ce449 5 #define AUTOCALIBRACION_H
JuanManuelAmador 0:3d456b8ce449 6
JuanManuelAmador 0:3d456b8ce449 7 #include "mbed.h"
JuanManuelAmador 0:3d456b8ce449 8 #include "SistemaArchivos.h"
JuanManuelAmador 0:3d456b8ce449 9 #include "ScreenManager.h"
JuanManuelAmador 0:3d456b8ce449 10 #include "MSCFileSystem.h"
JuanManuelAmador 0:3d456b8ce449 11 #include "Configuracion.h"
JuanManuelAmador 0:3d456b8ce449 12 #include "KXR94.h"
JuanManuelAmador 0:3d456b8ce449 13 #include "Buffering.h"
JuanManuelAmador 0:3d456b8ce449 14 #include <stdlib.h>
JuanManuelAmador 0:3d456b8ce449 15 #include "ParametrosCalibracion.h"
JuanManuelAmador 0:3d456b8ce449 16
JuanManuelAmador 0:3d456b8ce449 17 #define MAXCAR 32
JuanManuelAmador 0:3d456b8ce449 18 #define OFFSETX 4 // Espacio en pixeles que se deja antes de escribir una linea de caracteres
JuanManuelAmador 0:3d456b8ce449 19 #define OFFSETY 2 // Espacio en pixeles que se deja antes de escribir una linea de caracteres en la parte superior
JuanManuelAmador 0:3d456b8ce449 20 #define OFFSETMSG 12
JuanManuelAmador 0:3d456b8ce449 21
JuanManuelAmador 0:3d456b8ce449 22 #define OFFSETTIEMPO 2 // Tiempo que se espera desde que se pulsa el botón OK hasta que se comienza a tomar medidas (en segundos)
JuanManuelAmador 0:3d456b8ce449 23 #define NDATOSPASO 1000 // Número de datos que se leerán en cada paso para hacer las medias
JuanManuelAmador 0:3d456b8ce449 24 #define USENTREDATOS 1000 // Tiempo entre la lectura de cada dato en microsegundos
JuanManuelAmador 0:3d456b8ce449 25
JuanManuelAmador 0:3d456b8ce449 26 #define ACELGRAVEDAD 9.81
JuanManuelAmador 0:3d456b8ce449 27
JuanManuelAmador 0:3d456b8ce449 28 class AutoCalibracion : public Screen {
JuanManuelAmador 0:3d456b8ce449 29 public:
JuanManuelAmador 0:3d456b8ce449 30 virtual void initialize(DogMLCD* lcd);
JuanManuelAmador 0:3d456b8ce449 31 virtual void update(DogMLCD* lcd);
JuanManuelAmador 0:3d456b8ce449 32
JuanManuelAmador 0:3d456b8ce449 33 private:
JuanManuelAmador 0:3d456b8ce449 34 bool pulsado5;
JuanManuelAmador 0:3d456b8ce449 35 bool pulsado6;
JuanManuelAmador 0:3d456b8ce449 36 bool leyendoDatos; // Indica si el viaje está o no en proceso
JuanManuelAmador 0:3d456b8ce449 37
JuanManuelAmador 0:3d456b8ce449 38 char pasoCalibracion; // Paso actual de los 7 pasos para calibrar el dispositivo
JuanManuelAmador 0:3d456b8ce449 39
JuanManuelAmador 0:3d456b8ce449 40 int readings[3]; //Lectura aceleraciones sensor digital
JuanManuelAmador 0:3d456b8ce449 41 float mediaXpos, mediaYpos, mediaZpos, mediaXneg, mediaYneg, mediaZneg; // Variables que guardan las medias medidas en cada paso
JuanManuelAmador 0:3d456b8ce449 42 int datosCapturados; // Numero de datos que se han leído en cada paso
JuanManuelAmador 0:3d456b8ce449 43 float mediaAux; // En esta variable se va calculando la media a medida que llegan los datos
JuanManuelAmador 0:3d456b8ce449 44
JuanManuelAmador 0:3d456b8ce449 45 float aXr, aYr, aZr; //Tiempo y medidas de aceleracion leidos del buffer
JuanManuelAmador 0:3d456b8ce449 46 //unsigned int contDatos; //Contador de datos
JuanManuelAmador 0:3d456b8ce449 47 unsigned int ContadorDatos;
JuanManuelAmador 0:3d456b8ce449 48
JuanManuelAmador 0:3d456b8ce449 49 Ticker tickerLectura;
JuanManuelAmador 0:3d456b8ce449 50 void LeeAcelerometro();
JuanManuelAmador 0:3d456b8ce449 51 };
JuanManuelAmador 0:3d456b8ce449 52
JuanManuelAmador 0:3d456b8ce449 53 #endif