Versión sin post-procesado del software del VmRideR

Dependencies:   mbed

Committer:
jjmedina
Date:
Mon Jun 15 15:44:11 2015 +0000
Revision:
1:a3c9b672b8e2
Parent:
0:3d456b8ce449
Prueba_deutsch

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 * Pantalla de nuevo viaje. En esta se leeran los datos del acelerómetro y se guardarán en memoria, si es necesario utilizando buffering
JuanManuelAmador 0:3d456b8ce449 4 * Mientras se elle también se mostrará una pequeña animación para que de la sensación de que el dispositivo está leyendo datos
JuanManuelAmador 0:3d456b8ce449 5 */
JuanManuelAmador 0:3d456b8ce449 6 #ifndef NUEVOVIAJE_H
JuanManuelAmador 0:3d456b8ce449 7 #define NUEVOVIAJE_H
JuanManuelAmador 0:3d456b8ce449 8
JuanManuelAmador 0:3d456b8ce449 9 #include "mbed.h"
JuanManuelAmador 0:3d456b8ce449 10 #include "SistemaArchivos.h"
JuanManuelAmador 0:3d456b8ce449 11 #include "ScreenManager.h"
JuanManuelAmador 0:3d456b8ce449 12 #include "MSCFileSystem.h"
JuanManuelAmador 0:3d456b8ce449 13 #include "Configuracion.h"
JuanManuelAmador 0:3d456b8ce449 14 #include "FechaHora.h"
JuanManuelAmador 0:3d456b8ce449 15 #include "KXR94.h"
JuanManuelAmador 0:3d456b8ce449 16 #include "Buffering.h"
JuanManuelAmador 0:3d456b8ce449 17 #include <stdlib.h>
JuanManuelAmador 0:3d456b8ce449 18 #include "ParametrosCalibracion.h"
JuanManuelAmador 0:3d456b8ce449 19
JuanManuelAmador 0:3d456b8ce449 20 #define TUSBCOLGADO 2 // tiempo en segundos que se espera a que responda el USB, en caso contrario se considera que se ha quedado colgado
JuanManuelAmador 0:3d456b8ce449 21
JuanManuelAmador 0:3d456b8ce449 22 #define MAXCAR 32
JuanManuelAmador 0:3d456b8ce449 23 #define OFFSETX 4 // Espacio en pixeles que se deja antes de escribir una linea de caracteres
JuanManuelAmador 0:3d456b8ce449 24 #define OFFSETY 2 // Espacio en pixeles que se deja antes de escribir una linea de caracteres en la parte superior
JuanManuelAmador 0:3d456b8ce449 25 //#define SIZEBUFF 250 // Tamaño del buffer de datos
JuanManuelAmador 0:3d456b8ce449 26
JuanManuelAmador 0:3d456b8ce449 27 #define COUNTPRECISION 0.00958 // Precisión del dispositivo (mínimo valor de cambio teórico, se calcula como: 4*g/2^12)
JuanManuelAmador 0:3d456b8ce449 28
JuanManuelAmador 0:3d456b8ce449 29 // Definiciones gráfico animado
JuanManuelAmador 0:3d456b8ce449 30 #define POSX0 13
JuanManuelAmador 0:3d456b8ce449 31 #define WIDTHFRAME 100
JuanManuelAmador 0:3d456b8ce449 32 #define POSY0 23
JuanManuelAmador 0:3d456b8ce449 33 #define HEIGHTFRAME 17
JuanManuelAmador 0:3d456b8ce449 34
JuanManuelAmador 0:3d456b8ce449 35 #define WIDTHRECT 10 // Ancho del recuadro interior que se mueve a medida que se gravan los datos, el alto del recuadro es el máximo que cabe dentro del frame (8 pixeles, el alto de una página)
JuanManuelAmador 0:3d456b8ce449 36 #define UPDATETIME 15 // Tiempo en ms que tarda en avanzar una columna el recuadro del gráfico animado
JuanManuelAmador 0:3d456b8ce449 37
JuanManuelAmador 0:3d456b8ce449 38 class NuevoViaje : public Screen {
JuanManuelAmador 0:3d456b8ce449 39 public:
JuanManuelAmador 0:3d456b8ce449 40 NuevoViaje(char newtitle[], char newsubtitle[], char newmsg11[], char newmsg12[], char newmsg2[]);
JuanManuelAmador 0:3d456b8ce449 41 virtual void initialize(DogMLCD* lcd);
JuanManuelAmador 0:3d456b8ce449 42 virtual void update(DogMLCD* lcd);
JuanManuelAmador 0:3d456b8ce449 43
JuanManuelAmador 0:3d456b8ce449 44 private:
JuanManuelAmador 0:3d456b8ce449 45 char title[MAXCAR];
JuanManuelAmador 0:3d456b8ce449 46 char subtitle[MAXCAR];
JuanManuelAmador 0:3d456b8ce449 47 char msg11[MAXCAR];
JuanManuelAmador 0:3d456b8ce449 48 char msg12[MAXCAR];
JuanManuelAmador 0:3d456b8ce449 49 char msg2[MAXCAR];
JuanManuelAmador 0:3d456b8ce449 50 bool pulsado5;
JuanManuelAmador 0:3d456b8ce449 51 bool pulsado6;
JuanManuelAmador 0:3d456b8ce449 52 bool leyendoDatos; // Indica si el viaje está o no en proceso
JuanManuelAmador 0:3d456b8ce449 53 unsigned int PasoTiempo; // Guarda el tiempo en microsegundos que debe de pasar entre cada lectura
JuanManuelAmador 0:3d456b8ce449 54
JuanManuelAmador 0:3d456b8ce449 55 Buffering *buff_aX;
JuanManuelAmador 0:3d456b8ce449 56 Buffering *buff_aZ;
JuanManuelAmador 0:3d456b8ce449 57 Buffering *buff_aY;
JuanManuelAmador 0:3d456b8ce449 58
JuanManuelAmador 0:3d456b8ce449 59 FILE * fp; // Puntero al fichero donde se escribirán los datos
JuanManuelAmador 0:3d456b8ce449 60
JuanManuelAmador 0:3d456b8ce449 61 float valoresCal[6]; // Valores de calibración del acelerómetro
JuanManuelAmador 0:3d456b8ce449 62 int readings[3]; //Lectura aceleraciones sensor digital
JuanManuelAmador 0:3d456b8ce449 63 float aX, aY, aZ; //Medidas de aceleracion
JuanManuelAmador 0:3d456b8ce449 64 float aXanterior, aYanterior, aZanterior; //Medidas de aceleracion del punto anterior
JuanManuelAmador 0:3d456b8ce449 65 int16_t aaX, aaY, aaZ; //Medidas de aceleracion y tiempo
JuanManuelAmador 0:3d456b8ce449 66
JuanManuelAmador 0:3d456b8ce449 67 float aXr, aYr, aZr; // Tiempo y medidas de aceleracion leidos del buffer
JuanManuelAmador 0:3d456b8ce449 68 unsigned int ContadorDatos;
JuanManuelAmador 0:3d456b8ce449 69
JuanManuelAmador 0:3d456b8ce449 70 Ticker tickerLectura;
JuanManuelAmador 0:3d456b8ce449 71 void LeeAcelerometroBuffer();
JuanManuelAmador 0:3d456b8ce449 72 void GuardaDatosBuffer();
JuanManuelAmador 0:3d456b8ce449 73
JuanManuelAmador 0:3d456b8ce449 74 bool sentidoAnimacion; // Sentido del movimiento del recuadro de la animación (true: derecha, false: izquierda)
JuanManuelAmador 0:3d456b8ce449 75 char posXF; // Guarda la posición de la última columna del recuadro de la animación que ha sido pintado
JuanManuelAmador 0:3d456b8ce449 76
JuanManuelAmador 0:3d456b8ce449 77 // Debug
JuanManuelAmador 0:3d456b8ce449 78 /*unsigned int llamadasTicker;
JuanManuelAmador 0:3d456b8ce449 79 Timer time;*/
JuanManuelAmador 0:3d456b8ce449 80 };
JuanManuelAmador 0:3d456b8ce449 81
JuanManuelAmador 0:3d456b8ce449 82 #endif