Versión de Firmware con funciones de RAM incorporadas.

Dependencies:   mbed

Fork of VmRecorderV1dot1 by virtualmech

Committer:
JuanManuelAmador
Date:
Mon Jun 15 15:34:27 2015 +0000
Revision:
0:3d456b8ce449
prueba

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 MENSAJE_H
JuanManuelAmador 0:3d456b8ce449 5 #define MENSAJE_H
JuanManuelAmador 0:3d456b8ce449 6
JuanManuelAmador 0:3d456b8ce449 7 #include "Seleccion.h"
JuanManuelAmador 0:3d456b8ce449 8 #include "doggy.h"
JuanManuelAmador 0:3d456b8ce449 9
JuanManuelAmador 0:3d456b8ce449 10 #define SEMIHEIGHTFONT 5 // La mitad de la altura de un caracter
JuanManuelAmador 0:3d456b8ce449 11 #define MAXCARACTER 28 // Número máximo de caracteres de cada elemento
JuanManuelAmador 0:3d456b8ce449 12 #define HEIGHTCARACTER 11 // Anchura de un caracter de media
JuanManuelAmador 0:3d456b8ce449 13 #define MAXLINES 5 // Número máximo de filas (cada fila es un elemento)
JuanManuelAmador 0:3d456b8ce449 14 #define OFFSETX 4 // Espacio en pixeles que se deja antes de escribir una linea de caracteres
JuanManuelAmador 0:3d456b8ce449 15
JuanManuelAmador 0:3d456b8ce449 16 // EL menu es una lista de selección con los elementos equiespeciados, no centrados en la esquina superior izquierda
JuanManuelAmador 0:3d456b8ce449 17 // como en una lista de selección normal. Además el texto es de tamaño 11.
JuanManuelAmador 0:3d456b8ce449 18 class Mensaje : public Seleccion {
JuanManuelAmador 0:3d456b8ce449 19 public:
JuanManuelAmador 0:3d456b8ce449 20 Mensaje(char nextScreen[], char newAdvice[]);
JuanManuelAmador 0:3d456b8ce449 21
JuanManuelAmador 0:3d456b8ce449 22 void setNextScreen(char nameScreen[NCARSCREEN]);
JuanManuelAmador 0:3d456b8ce449 23
JuanManuelAmador 0:3d456b8ce449 24 virtual void initialize(DogMLCD* lcd);
JuanManuelAmador 0:3d456b8ce449 25 int addElement(char text[]);
JuanManuelAmador 0:3d456b8ce449 26
JuanManuelAmador 0:3d456b8ce449 27 virtual void button5pressed(DogMLCD* lcd); // Esta función se llama cuando el botón central es pulsado, definirla para añadir funcionalidades
JuanManuelAmador 0:3d456b8ce449 28
JuanManuelAmador 0:3d456b8ce449 29 private:
JuanManuelAmador 0:3d456b8ce449 30 char list[MAXLINES][MAXCARACTER]; // Lista con las opciones del menu. Pueden ser com máximo 5 con una longitud máxima de 24 caracteres
JuanManuelAmador 0:3d456b8ce449 31 int posElement[MAXLINES][3]; // Guarda las posición y tamaños de cada elemento (0 = posx, 1 = posy, 2 = ancho)
JuanManuelAmador 0:3d456b8ce449 32 char nextScreenID[NCARSCREEN];
JuanManuelAmador 0:3d456b8ce449 33 char advice[MAXCARACTER];
JuanManuelAmador 0:3d456b8ce449 34
JuanManuelAmador 0:3d456b8ce449 35 // Devuelve el ancho del elemento
JuanManuelAmador 0:3d456b8ce449 36 // Para ello lo recorre sumando los pixeles que ocupa cada caracter
JuanManuelAmador 0:3d456b8ce449 37 int widthElement(int element, DogMLCD* lcd);
JuanManuelAmador 0:3d456b8ce449 38 };
JuanManuelAmador 0:3d456b8ce449 39
JuanManuelAmador 0:3d456b8ce449 40 #endif