Versión de Firmware con funciones de RAM incorporadas.
Dependencies: mbed
Fork of VmRecorderV1dot1 by
ScreenManager/Seleccion.cpp@2:e818c80e6d5c, 2015-07-14 (annotated)
- Committer:
- JuanManuelAmador
- Date:
- Tue Jul 14 08:34:11 2015 +0000
- Revision:
- 2:e818c80e6d5c
- Parent:
- 0:3d456b8ce449
Funciones de memoria RAM introducidas.
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 | #include "Seleccion.h" |
JuanManuelAmador | 0:3d456b8ce449 | 5 | |
JuanManuelAmador | 0:3d456b8ce449 | 6 | extern ScreenManager SC; |
JuanManuelAmador | 0:3d456b8ce449 | 7 | |
JuanManuelAmador | 0:3d456b8ce449 | 8 | extern DigitalIn boton1; |
JuanManuelAmador | 0:3d456b8ce449 | 9 | extern DigitalIn boton2; |
JuanManuelAmador | 0:3d456b8ce449 | 10 | extern DigitalIn boton3; |
JuanManuelAmador | 0:3d456b8ce449 | 11 | extern DigitalIn boton4; |
JuanManuelAmador | 0:3d456b8ce449 | 12 | extern DigitalIn boton5; |
JuanManuelAmador | 0:3d456b8ce449 | 13 | extern DigitalIn boton6; |
JuanManuelAmador | 0:3d456b8ce449 | 14 | |
JuanManuelAmador | 0:3d456b8ce449 | 15 | Seleccion::Seleccion(){ |
JuanManuelAmador | 0:3d456b8ce449 | 16 | // Se inicializan las variables |
JuanManuelAmador | 0:3d456b8ce449 | 17 | invType = true; |
JuanManuelAmador | 0:3d456b8ce449 | 18 | nElementos = 0; |
JuanManuelAmador | 0:3d456b8ce449 | 19 | select = 0; |
JuanManuelAmador | 0:3d456b8ce449 | 20 | lastSelect = 0; |
JuanManuelAmador | 0:3d456b8ce449 | 21 | pulsado1 = false; |
JuanManuelAmador | 0:3d456b8ce449 | 22 | pulsado2 = false; |
JuanManuelAmador | 0:3d456b8ce449 | 23 | pulsado3 = false; |
JuanManuelAmador | 0:3d456b8ce449 | 24 | pulsado4 = false; |
JuanManuelAmador | 0:3d456b8ce449 | 25 | pulsado5 = false; |
JuanManuelAmador | 0:3d456b8ce449 | 26 | pulsado6 = false; |
JuanManuelAmador | 0:3d456b8ce449 | 27 | backScreen = false; |
JuanManuelAmador | 0:3d456b8ce449 | 28 | } |
JuanManuelAmador | 0:3d456b8ce449 | 29 | |
JuanManuelAmador | 0:3d456b8ce449 | 30 | void Seleccion::borrarElementos(){ |
JuanManuelAmador | 0:3d456b8ce449 | 31 | // para borrar los elementos existentes sólo hay que reiniciar el número de elementos |
JuanManuelAmador | 0:3d456b8ce449 | 32 | nElementos = 0; |
JuanManuelAmador | 0:3d456b8ce449 | 33 | } |
JuanManuelAmador | 0:3d456b8ce449 | 34 | |
JuanManuelAmador | 0:3d456b8ce449 | 35 | void Seleccion::setInverterSelection(){ |
JuanManuelAmador | 0:3d456b8ce449 | 36 | invType = true; |
JuanManuelAmador | 0:3d456b8ce449 | 37 | } |
JuanManuelAmador | 0:3d456b8ce449 | 38 | |
JuanManuelAmador | 0:3d456b8ce449 | 39 | void Seleccion::setRectSelection(){ |
JuanManuelAmador | 0:3d456b8ce449 | 40 | invType = false; |
JuanManuelAmador | 0:3d456b8ce449 | 41 | } |
JuanManuelAmador | 0:3d456b8ce449 | 42 | |
JuanManuelAmador | 0:3d456b8ce449 | 43 | int Seleccion::getSelect(){ |
JuanManuelAmador | 0:3d456b8ce449 | 44 | return select; |
JuanManuelAmador | 0:3d456b8ce449 | 45 | } |
JuanManuelAmador | 0:3d456b8ce449 | 46 | |
JuanManuelAmador | 0:3d456b8ce449 | 47 | void Seleccion::setSelect(int newSelect){ |
JuanManuelAmador | 0:3d456b8ce449 | 48 | lastSelect = select; |
JuanManuelAmador | 0:3d456b8ce449 | 49 | select = newSelect; |
JuanManuelAmador | 0:3d456b8ce449 | 50 | } |
JuanManuelAmador | 0:3d456b8ce449 | 51 | |
JuanManuelAmador | 0:3d456b8ce449 | 52 | int Seleccion::getLastSelect(){ |
JuanManuelAmador | 0:3d456b8ce449 | 53 | return lastSelect; |
JuanManuelAmador | 0:3d456b8ce449 | 54 | } |
JuanManuelAmador | 0:3d456b8ce449 | 55 | |
JuanManuelAmador | 0:3d456b8ce449 | 56 | bool Seleccion::getSelectType(){ |
JuanManuelAmador | 0:3d456b8ce449 | 57 | return invType; |
JuanManuelAmador | 0:3d456b8ce449 | 58 | } |
JuanManuelAmador | 0:3d456b8ce449 | 59 | |
JuanManuelAmador | 0:3d456b8ce449 | 60 | void Seleccion::drawSelection(int x, int y, int width, int height, DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 61 | // Se pinta de distinta manera dependiendo de la forma de selección |
JuanManuelAmador | 0:3d456b8ce449 | 62 | if(invType){ |
JuanManuelAmador | 0:3d456b8ce449 | 63 | lcd->InvRect(x, y, x+width, y+height); |
JuanManuelAmador | 0:3d456b8ce449 | 64 | }else{ |
JuanManuelAmador | 0:3d456b8ce449 | 65 | lcd->Frame(x, y, x+width, y+height); |
JuanManuelAmador | 0:3d456b8ce449 | 66 | } |
JuanManuelAmador | 0:3d456b8ce449 | 67 | } |
JuanManuelAmador | 0:3d456b8ce449 | 68 | |
JuanManuelAmador | 0:3d456b8ce449 | 69 | void Seleccion::drawDeselection(int x, int y, int width, int height, DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 70 | // Se pinta de distinta manera dependiendo de la forma de selección |
JuanManuelAmador | 0:3d456b8ce449 | 71 | if(invType){ |
JuanManuelAmador | 0:3d456b8ce449 | 72 | lcd->InvRect(x, y, x+width, y+height); |
JuanManuelAmador | 0:3d456b8ce449 | 73 | }else{ |
JuanManuelAmador | 0:3d456b8ce449 | 74 | lcd->Frame(x, y, x+width, y+height, wipe); |
JuanManuelAmador | 0:3d456b8ce449 | 75 | } |
JuanManuelAmador | 0:3d456b8ce449 | 76 | } |
JuanManuelAmador | 0:3d456b8ce449 | 77 | |
JuanManuelAmador | 0:3d456b8ce449 | 78 | // En esta función se comprueba si se han pulsado los botones |
JuanManuelAmador | 0:3d456b8ce449 | 79 | void Seleccion::update(DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 80 | if(boton1 == 1){ |
JuanManuelAmador | 0:3d456b8ce449 | 81 | // Se espera a que se suelte el botón |
JuanManuelAmador | 0:3d456b8ce449 | 82 | pulsado1 = true; |
JuanManuelAmador | 0:3d456b8ce449 | 83 | }else{ |
JuanManuelAmador | 0:3d456b8ce449 | 84 | if(pulsado1 == true){ |
JuanManuelAmador | 0:3d456b8ce449 | 85 | // Antes de cambiar de pantalla se llama la siguiente funcion con la que se puede añadir funcionalidad |
JuanManuelAmador | 0:3d456b8ce449 | 86 | button1pressed(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 87 | // Se inicializa la variable que controla la pulsación |
JuanManuelAmador | 0:3d456b8ce449 | 88 | pulsado1 = false; |
JuanManuelAmador | 0:3d456b8ce449 | 89 | } |
JuanManuelAmador | 0:3d456b8ce449 | 90 | } |
JuanManuelAmador | 0:3d456b8ce449 | 91 | if(boton2 == 1){ |
JuanManuelAmador | 0:3d456b8ce449 | 92 | // Se espera a que se suelte el botón |
JuanManuelAmador | 0:3d456b8ce449 | 93 | pulsado2 = true; |
JuanManuelAmador | 0:3d456b8ce449 | 94 | }else{ |
JuanManuelAmador | 0:3d456b8ce449 | 95 | if(pulsado2 == true){ |
JuanManuelAmador | 0:3d456b8ce449 | 96 | // Antes de cambiar de pantalla se llama la siguiente funcion con la que se puede añadir funcionalidad |
JuanManuelAmador | 0:3d456b8ce449 | 97 | button2pressed(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 98 | // Se inicializa la variable que controla la pulsación |
JuanManuelAmador | 0:3d456b8ce449 | 99 | pulsado2 = false; |
JuanManuelAmador | 0:3d456b8ce449 | 100 | } |
JuanManuelAmador | 0:3d456b8ce449 | 101 | } |
JuanManuelAmador | 0:3d456b8ce449 | 102 | if(boton3 == 1){ |
JuanManuelAmador | 0:3d456b8ce449 | 103 | // Se espera a que se suelte el botón |
JuanManuelAmador | 0:3d456b8ce449 | 104 | pulsado3 = true; |
JuanManuelAmador | 0:3d456b8ce449 | 105 | }else{ |
JuanManuelAmador | 0:3d456b8ce449 | 106 | if(pulsado3 == true){ |
JuanManuelAmador | 0:3d456b8ce449 | 107 | // Antes de cambiar de pantalla se llama la siguiente funcion con la que se puede añadir funcionalidad |
JuanManuelAmador | 0:3d456b8ce449 | 108 | button3pressed(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 109 | // Se inicializa la variable que controla la pulsación |
JuanManuelAmador | 0:3d456b8ce449 | 110 | pulsado3 = false; |
JuanManuelAmador | 0:3d456b8ce449 | 111 | } |
JuanManuelAmador | 0:3d456b8ce449 | 112 | } |
JuanManuelAmador | 0:3d456b8ce449 | 113 | if(boton4 == 1){ |
JuanManuelAmador | 0:3d456b8ce449 | 114 | // Se espera a que se suelte el botón |
JuanManuelAmador | 0:3d456b8ce449 | 115 | pulsado4 = true; |
JuanManuelAmador | 0:3d456b8ce449 | 116 | }else{ |
JuanManuelAmador | 0:3d456b8ce449 | 117 | if(pulsado4 == true){ |
JuanManuelAmador | 0:3d456b8ce449 | 118 | // Antes de cambiar de pantalla se llama la siguiente funcion con la que se puede añadir funcionalidad |
JuanManuelAmador | 0:3d456b8ce449 | 119 | button4pressed(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 120 | // Se inicializa la variable que controla la pulsación |
JuanManuelAmador | 0:3d456b8ce449 | 121 | pulsado4 = false; |
JuanManuelAmador | 0:3d456b8ce449 | 122 | } |
JuanManuelAmador | 0:3d456b8ce449 | 123 | } |
JuanManuelAmador | 0:3d456b8ce449 | 124 | if(boton5 == 1){ |
JuanManuelAmador | 0:3d456b8ce449 | 125 | // Se espera a que se suelte el botón |
JuanManuelAmador | 0:3d456b8ce449 | 126 | pulsado5 = true; |
JuanManuelAmador | 0:3d456b8ce449 | 127 | }else{ |
JuanManuelAmador | 0:3d456b8ce449 | 128 | if(pulsado5 == true){ |
JuanManuelAmador | 0:3d456b8ce449 | 129 | // Antes de cambiar de pantalla se llama la siguiente funcion con la que se puede añadir funcionalidad |
JuanManuelAmador | 0:3d456b8ce449 | 130 | button5pressed(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 131 | // Se inicializa la variable que controla la pulsación |
JuanManuelAmador | 0:3d456b8ce449 | 132 | pulsado5 = false; |
JuanManuelAmador | 0:3d456b8ce449 | 133 | } |
JuanManuelAmador | 0:3d456b8ce449 | 134 | } |
JuanManuelAmador | 0:3d456b8ce449 | 135 | if(boton6 == 1){ |
JuanManuelAmador | 0:3d456b8ce449 | 136 | // Se espera a que se suelte el botón |
JuanManuelAmador | 0:3d456b8ce449 | 137 | pulsado6 = true; |
JuanManuelAmador | 0:3d456b8ce449 | 138 | }else{ |
JuanManuelAmador | 0:3d456b8ce449 | 139 | if(pulsado6 == true){ |
JuanManuelAmador | 0:3d456b8ce449 | 140 | // Antes de cambiar de pantalla se llama la siguiente funcion con la que se puede añadir funcionalidad |
JuanManuelAmador | 0:3d456b8ce449 | 141 | button6pressed(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 142 | // Se inicializa la variable que controla la pulsación |
JuanManuelAmador | 0:3d456b8ce449 | 143 | pulsado6 = false; |
JuanManuelAmador | 0:3d456b8ce449 | 144 | } |
JuanManuelAmador | 0:3d456b8ce449 | 145 | } |
JuanManuelAmador | 0:3d456b8ce449 | 146 | } |
JuanManuelAmador | 0:3d456b8ce449 | 147 | |
JuanManuelAmador | 0:3d456b8ce449 | 148 | // Esta función guarda la pantalla a la que se debe volver en caso de ser pulsado el boton atras |
JuanManuelAmador | 0:3d456b8ce449 | 149 | void Seleccion::setBackScreen(char nameScreen[NCARSCREEN]){ |
JuanManuelAmador | 0:3d456b8ce449 | 150 | strcpy(nameBackScreen, nameScreen); |
JuanManuelAmador | 0:3d456b8ce449 | 151 | backScreen = true; |
JuanManuelAmador | 0:3d456b8ce449 | 152 | } |
JuanManuelAmador | 0:3d456b8ce449 | 153 | |
JuanManuelAmador | 0:3d456b8ce449 | 154 | // Esta función desactiva volver a la pantalla anterior (si la pantalla no vuelve a ninguna pantalla debe usarse) |
JuanManuelAmador | 0:3d456b8ce449 | 155 | void Seleccion::disableBackScreen(){ |
JuanManuelAmador | 0:3d456b8ce449 | 156 | backScreen = false; |
JuanManuelAmador | 0:3d456b8ce449 | 157 | } |
JuanManuelAmador | 0:3d456b8ce449 | 158 | |
JuanManuelAmador | 0:3d456b8ce449 | 159 | void Seleccion::button1pressed(DogMLCD* lcd){} |
JuanManuelAmador | 0:3d456b8ce449 | 160 | void Seleccion::button2pressed(DogMLCD* lcd){} |
JuanManuelAmador | 0:3d456b8ce449 | 161 | void Seleccion::button3pressed(DogMLCD* lcd){} |
JuanManuelAmador | 0:3d456b8ce449 | 162 | void Seleccion::button4pressed(DogMLCD* lcd){} |
JuanManuelAmador | 0:3d456b8ce449 | 163 | void Seleccion::button5pressed(DogMLCD* lcd){} |
JuanManuelAmador | 0:3d456b8ce449 | 164 | void Seleccion::button6pressed(DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 165 | if(backScreen){ |
JuanManuelAmador | 0:3d456b8ce449 | 166 | SC.changeScreen(nameBackScreen); |
JuanManuelAmador | 0:3d456b8ce449 | 167 | } |
JuanManuelAmador | 0:3d456b8ce449 | 168 | } |