Versión de Firmware con funciones de RAM incorporadas.
Dependencies: mbed
Fork of VmRecorderV1dot1 by
ScreenManager/Teclado.h
- Committer:
- JuanManuelAmador
- Date:
- 2015-07-14
- Revision:
- 2:e818c80e6d5c
- Parent:
- 0:3d456b8ce449
File content as of revision 2:e818c80e6d5c:
/** * @author Juan Manuel Amador Olivares (virtualmech) */ #ifndef TECLADO_H #define TECLADO_H #include "Seleccion.h" #include "doggy.h" #define POSCADENAX 3 #define OFFSETX 4 // Espacio en pixeles que se deja antes de escribir una linea de caracteres #define OFFSETY 4 // Espacio en pixeles que se deja antes de escribir una linea de caracteres en la parte superior #define CARACTER11 11 // Anchura de un caracter de media #define CARACTER8 8 // Anchura de un caracter de media #define WRITTENSPACE 9 // Pixeles de alto que requiere el espacio donde se irá mostrando lo que se está escribiendo con el teclado #define MAXCARACTERESESCRITURA 19 // Máximos caracteres que se pueden escribir para el nombre del archivo #define FILASMATRIZ 5 #define COLUMNASMATRIZ 11 /*************************** Para controlar la posición del teclado se va a hacer una matriz de 11x5. A cada elemento de la matriz se le asignará un valor (la letra correspondiente) y valores especiales las teclas especiales: 0-> espacio vacio 1-> borrar 2-> mayus 3-> barra espaciadora 4-> Aplicar **************************/ #define BACK 1 #define MAYUS 2 #define SPACEBAR 3 #define APLICAR 4 #define ULTIMOCARACTERESPECIAL 4 // Se va a usar para comprobar si un elemento de la matrzi es un caracter especial o tecla especial // Lista de elementos seleccionables. Tamaño de caracteres 8. class Teclado: public Seleccion{ public: virtual void initialize(DogMLCD* lcd); int addElement(char text[], char nameNextScreen[NCARSCREEN]); char *getNombre(); // Devuelve un puntero al último nombre escrito con el teclado void setNextScreen(char nameScreen[NCARSCREEN]); virtual void button1pressed(DogMLCD* lcd); // Esta función se llama cuando el botón superior es pulsado, definirla para añadir funcionalidades virtual void button2pressed(DogMLCD* lcd); // Esta función se llama cuando el botón superior es pulsado, definirla para añadir funcionalidades virtual void button3pressed(DogMLCD* lcd); // Esta función se llama cuando el botón superior es pulsado, definirla para añadir funcionalidades virtual void button4pressed(DogMLCD* lcd); // Esta función se llama cuando el botón inferior es pulsado, definirla para añadir funcionalidades virtual void button5pressed(DogMLCD* lcd); // Esta función se llama cuando el botón central es pulsado, definirla para añadir funcionalidades private: char nameNextScreen[NCARSCREEN]; char m[FILASMATRIZ][COLUMNASMATRIZ]; char Xsel, Ysel, lastXsel, lastYsel; // posición x e y en la matriz del elemento seleccionado y el anterior char nombre[MAXCARACTERESESCRITURA+1]; // Guarda la cadena con el nombre escrito char indiceEscritura; // Indica por donde se va escribiendo en el recuadro void mostrarCaracteres(DogMLCD* lcd); // Muestra los caracteres de la matriz void mostrarEspeciales(DogMLCD* lcd); // Muestra los caracteres especiales void asignarMinusculas(); // Asigna a la matriz valores de caracteres de las letras minusculas void asignarMayusculas(); // Asigna a la matriz valores de caracteres de las letras minusculas void mostrarRecuadro(DogMLCD* lcd); // Muestra el recuadro que señala lo que se está escribiendo // Cuadros seleccionables especiales void seleccionarBarraEspaciadora(DogMLCD* lcd); void deseleccionarBarraEspaciadora(DogMLCD* lcd); void seleccionarAplicar(DogMLCD* lcd); void deseleccionarAplicar(DogMLCD* lcd); bool ifMayus; }; #endif