Versión sin post-procesado del software del VmRideR
Dependencies: mbed
Pantallas/NuevoViaje.h@1:a3c9b672b8e2, 2015-06-15 (annotated)
- 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?
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 | * 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 |