Versión de Firmware con funciones de RAM incorporadas.
Dependencies: mbed
Fork of VmRecorderV1dot1 by
ScreenManager/Teclado.h@0:3d456b8ce449, 2015-06-15 (annotated)
- Committer:
- JuanManuelAmador
- Date:
- Mon Jun 15 15:34:27 2015 +0000
- Revision:
- 0:3d456b8ce449
prueba
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 | */ |
JuanManuelAmador | 0:3d456b8ce449 | 4 | #ifndef TECLADO_H |
JuanManuelAmador | 0:3d456b8ce449 | 5 | #define TECLADO_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 POSCADENAX 3 |
JuanManuelAmador | 0:3d456b8ce449 | 11 | #define OFFSETX 4 // Espacio en pixeles que se deja antes de escribir una linea de caracteres |
JuanManuelAmador | 0:3d456b8ce449 | 12 | #define OFFSETY 4 // Espacio en pixeles que se deja antes de escribir una linea de caracteres en la parte superior |
JuanManuelAmador | 0:3d456b8ce449 | 13 | #define CARACTER11 11 // Anchura de un caracter de media |
JuanManuelAmador | 0:3d456b8ce449 | 14 | #define CARACTER8 8 // Anchura de un caracter de media |
JuanManuelAmador | 0:3d456b8ce449 | 15 | #define WRITTENSPACE 9 // Pixeles de alto que requiere el espacio donde se irá mostrando lo que se está escribiendo con el teclado |
JuanManuelAmador | 0:3d456b8ce449 | 16 | #define MAXCARACTERESESCRITURA 19 // Máximos caracteres que se pueden escribir para el nombre del archivo |
JuanManuelAmador | 0:3d456b8ce449 | 17 | |
JuanManuelAmador | 0:3d456b8ce449 | 18 | #define FILASMATRIZ 5 |
JuanManuelAmador | 0:3d456b8ce449 | 19 | #define COLUMNASMATRIZ 11 |
JuanManuelAmador | 0:3d456b8ce449 | 20 | |
JuanManuelAmador | 0:3d456b8ce449 | 21 | |
JuanManuelAmador | 0:3d456b8ce449 | 22 | /*************************** |
JuanManuelAmador | 0:3d456b8ce449 | 23 | 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) |
JuanManuelAmador | 0:3d456b8ce449 | 24 | y valores especiales las teclas especiales: |
JuanManuelAmador | 0:3d456b8ce449 | 25 | |
JuanManuelAmador | 0:3d456b8ce449 | 26 | 0-> espacio vacio |
JuanManuelAmador | 0:3d456b8ce449 | 27 | 1-> borrar |
JuanManuelAmador | 0:3d456b8ce449 | 28 | 2-> mayus |
JuanManuelAmador | 0:3d456b8ce449 | 29 | 3-> barra espaciadora |
JuanManuelAmador | 0:3d456b8ce449 | 30 | 4-> Aplicar |
JuanManuelAmador | 0:3d456b8ce449 | 31 | **************************/ |
JuanManuelAmador | 0:3d456b8ce449 | 32 | #define BACK 1 |
JuanManuelAmador | 0:3d456b8ce449 | 33 | #define MAYUS 2 |
JuanManuelAmador | 0:3d456b8ce449 | 34 | #define SPACEBAR 3 |
JuanManuelAmador | 0:3d456b8ce449 | 35 | #define APLICAR 4 |
JuanManuelAmador | 0:3d456b8ce449 | 36 | |
JuanManuelAmador | 0:3d456b8ce449 | 37 | #define ULTIMOCARACTERESPECIAL 4 // Se va a usar para comprobar si un elemento de la matrzi es un caracter especial o tecla especial |
JuanManuelAmador | 0:3d456b8ce449 | 38 | |
JuanManuelAmador | 0:3d456b8ce449 | 39 | |
JuanManuelAmador | 0:3d456b8ce449 | 40 | // Lista de elementos seleccionables. Tamaño de caracteres 8. |
JuanManuelAmador | 0:3d456b8ce449 | 41 | class Teclado: public Seleccion{ |
JuanManuelAmador | 0:3d456b8ce449 | 42 | public: |
JuanManuelAmador | 0:3d456b8ce449 | 43 | |
JuanManuelAmador | 0:3d456b8ce449 | 44 | virtual void initialize(DogMLCD* lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 45 | int addElement(char text[], char nameNextScreen[NCARSCREEN]); |
JuanManuelAmador | 0:3d456b8ce449 | 46 | |
JuanManuelAmador | 0:3d456b8ce449 | 47 | char *getNombre(); // Devuelve un puntero al último nombre escrito con el teclado |
JuanManuelAmador | 0:3d456b8ce449 | 48 | |
JuanManuelAmador | 0:3d456b8ce449 | 49 | void setNextScreen(char nameScreen[NCARSCREEN]); |
JuanManuelAmador | 0:3d456b8ce449 | 50 | |
JuanManuelAmador | 0:3d456b8ce449 | 51 | 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 | 52 | virtual void button2pressed(DogMLCD* lcd); // Esta función se llama cuando el botón superior es pulsado, definirla para añadir funcionalidades |
JuanManuelAmador | 0:3d456b8ce449 | 53 | virtual void button3pressed(DogMLCD* lcd); // Esta función se llama cuando el botón superior es pulsado, definirla para añadir funcionalidades |
JuanManuelAmador | 0:3d456b8ce449 | 54 | 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 | 55 | 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 | 56 | |
JuanManuelAmador | 0:3d456b8ce449 | 57 | private: |
JuanManuelAmador | 0:3d456b8ce449 | 58 | |
JuanManuelAmador | 0:3d456b8ce449 | 59 | char nameNextScreen[NCARSCREEN]; |
JuanManuelAmador | 0:3d456b8ce449 | 60 | |
JuanManuelAmador | 0:3d456b8ce449 | 61 | char m[FILASMATRIZ][COLUMNASMATRIZ]; |
JuanManuelAmador | 0:3d456b8ce449 | 62 | char Xsel, Ysel, lastXsel, lastYsel; // posición x e y en la matriz del elemento seleccionado y el anterior |
JuanManuelAmador | 0:3d456b8ce449 | 63 | |
JuanManuelAmador | 0:3d456b8ce449 | 64 | char nombre[MAXCARACTERESESCRITURA+1]; // Guarda la cadena con el nombre escrito |
JuanManuelAmador | 0:3d456b8ce449 | 65 | char indiceEscritura; // Indica por donde se va escribiendo en el recuadro |
JuanManuelAmador | 0:3d456b8ce449 | 66 | |
JuanManuelAmador | 0:3d456b8ce449 | 67 | void mostrarCaracteres(DogMLCD* lcd); // Muestra los caracteres de la matriz |
JuanManuelAmador | 0:3d456b8ce449 | 68 | void mostrarEspeciales(DogMLCD* lcd); // Muestra los caracteres especiales |
JuanManuelAmador | 0:3d456b8ce449 | 69 | void asignarMinusculas(); // Asigna a la matriz valores de caracteres de las letras minusculas |
JuanManuelAmador | 0:3d456b8ce449 | 70 | void asignarMayusculas(); // Asigna a la matriz valores de caracteres de las letras minusculas |
JuanManuelAmador | 0:3d456b8ce449 | 71 | |
JuanManuelAmador | 0:3d456b8ce449 | 72 | void mostrarRecuadro(DogMLCD* lcd); // Muestra el recuadro que señala lo que se está escribiendo |
JuanManuelAmador | 0:3d456b8ce449 | 73 | |
JuanManuelAmador | 0:3d456b8ce449 | 74 | // Cuadros seleccionables especiales |
JuanManuelAmador | 0:3d456b8ce449 | 75 | void seleccionarBarraEspaciadora(DogMLCD* lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 76 | void deseleccionarBarraEspaciadora(DogMLCD* lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 77 | |
JuanManuelAmador | 0:3d456b8ce449 | 78 | void seleccionarAplicar(DogMLCD* lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 79 | void deseleccionarAplicar(DogMLCD* lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 80 | |
JuanManuelAmador | 0:3d456b8ce449 | 81 | bool ifMayus; |
JuanManuelAmador | 0:3d456b8ce449 | 82 | |
JuanManuelAmador | 0:3d456b8ce449 | 83 | }; |
JuanManuelAmador | 0:3d456b8ce449 | 84 | |
JuanManuelAmador | 0:3d456b8ce449 | 85 | #endif |