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 MENU_H
JuanManuelAmador 0:3d456b8ce449 5 #define MENU_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
JuanManuelAmador 0:3d456b8ce449 11 #define SEMIHEIGHTFONT 5 // La mitad de la altura de un caracter
JuanManuelAmador 0:3d456b8ce449 12 #define MAXCARACTER 22 // Número máximo de caracteres de cada elemento
JuanManuelAmador 0:3d456b8ce449 13 #define HEIGHTCARACTER 11 // Anchura de un caracter de media
JuanManuelAmador 0:3d456b8ce449 14 #define MAXLINES 5 // Número máximo de filas (cada fila es un elemento)
JuanManuelAmador 0:3d456b8ce449 15 #define OFFSETX 4 // Espacio en pixeles que se deja antes de escribir una linea de caracteres
JuanManuelAmador 0:3d456b8ce449 16 #define OFFSETY 4 // Espacio en pixeles que se deja antes de escribir una linea de caracteres en la parte superior
JuanManuelAmador 0:3d456b8ce449 17
JuanManuelAmador 0:3d456b8ce449 18 // EL menu es una lista de selección con los elementos equiespeciados, no centrados en la esquina superior izquierda
JuanManuelAmador 0:3d456b8ce449 19 // como en una lista de selección normal. Además el texto es de tamaño 11.
JuanManuelAmador 0:3d456b8ce449 20 class Menu : public Seleccion {
JuanManuelAmador 0:3d456b8ce449 21 public:
JuanManuelAmador 0:3d456b8ce449 22 virtual void initialize(DogMLCD* lcd);
JuanManuelAmador 0:3d456b8ce449 23 int addElement(char text[], char nameNextScreen[NCARSCREEN]);
JuanManuelAmador 0:3d456b8ce449 24
JuanManuelAmador 0:3d456b8ce449 25 virtual void button1pressed(DogMLCD* lcd); // Esta función se llama cuando el botón superior es pulsado, definirla para añadir funcionalidades
JuanManuelAmador 0:3d456b8ce449 26 virtual void button4pressed(DogMLCD* lcd); // Esta función se llama cuando el botón inferior es pulsado, definirla para añadir funcionalidades
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[5][3]; // Guarda las posición y tamaños de cada elemento (0 = posx, 1 = posy, 2 = ancho)
JuanManuelAmador 0:3d456b8ce449 32 char nextScreenID[5][NCARSCREEN];
JuanManuelAmador 0:3d456b8ce449 33
JuanManuelAmador 0:3d456b8ce449 34 // Devuelve el ancho del elemento
JuanManuelAmador 0:3d456b8ce449 35 // Para ello lo recorre sumando los pixeles que ocupa cada caracter
JuanManuelAmador 0:3d456b8ce449 36 int widthElement(int element, DogMLCD* lcd);
JuanManuelAmador 0:3d456b8ce449 37 };
JuanManuelAmador 0:3d456b8ce449 38
JuanManuelAmador 0:3d456b8ce449 39 #endif