Version Final
Dependencies: Led7Seg mbed tsi_sensor
main.cpp@1:ec5d430be5a2, 2019-06-16 (annotated)
- Committer:
- NIcolasFernandezSanz
- Date:
- Sun Jun 16 01:18:28 2019 +0000
- Revision:
- 1:ec5d430be5a2
- Parent:
- 0:6cc6c33ebb7e
- Child:
- 2:7a98b5f73665
FERNANDEZ-CLERICI;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
NIcolasFernandezSanz | 1:ec5d430be5a2 | 1 | /* |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 2 | FERNANDEZ-CLERICI |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 3 | EJER02 - TP01 |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 4 | |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 5 | PTB0 -- Cable 1 (CONECTADO A GND) |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 6 | PTB1 -- Cable 2 (CONECTADO A GND) |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 7 | PTB3 -- Cable 3 (CONECTADO A GND) |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 8 | PTB4 -- Cable 4 (CONECTADO A GND) |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 9 | |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 10 | D8 -- Habilitacion Display 1 |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 11 | D9 -- Habilitacion Display 2 |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 12 | |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 13 | Display 7 Segmentos |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 14 | |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 15 | D10 -- Segmento a |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 16 | D11 -- Segmento b |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 17 | D2 -- Segmento c |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 18 | D3 -- Segmento d |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 19 | D4 -- Segmento e |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 20 | D5 -- Segmento f |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 21 | D6 -- Segmento g |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 22 | |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 23 | |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 24 | */ |
NIcolasFernandezSanz | 1:ec5d430be5a2 | 25 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 26 | /*Incluyo las Librerias*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 27 | #include "mbed.h" |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 28 | #include "tsi_sensor.h" |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 29 | #include "Led7Seg.h" |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 30 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 31 | /* Declaraciones pertinentes al TSI */ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 32 | #if defined (TARGET_KL25Z) || defined (TARGET_KL46Z) |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 33 | #define ELEC0 9 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 34 | #define ELEC1 10 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 35 | #elif defined (TARGET_KL05Z) |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 36 | #define ELEC0 9 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 37 | #define ELEC1 8 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 38 | #else |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 39 | #error TARGET NOT DEFINED |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 40 | #endif |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 41 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 42 | TSIAnalogSlider tsi(ELEC0, ELEC1, 40); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 43 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 44 | /*Maquina de estados Principal*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 45 | #define ESTADO_INICIO 0 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 46 | #define ESTADO_RESET 1 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 47 | #define ESTADO_FASE1 2 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 48 | #define ESTADO_FASE2 3 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 49 | #define ESTADO_FASE3 4 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 50 | #define ESTADO_FASE4 5 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 51 | #define ESTADO_PERDER 6 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 52 | #define ESTADO_GANAR 7 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 53 | #define ESTADO_ESPERAR 8 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 54 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 55 | /*Maquina de estados de los displays*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 56 | #define Unidades 0 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 57 | #define Decenas 1 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 58 | #define Espera 3 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 59 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 60 | int ac = 0; //Acumulador de la maquina de displays |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 61 | int ED = 0; //Variable de estado de la maquina de displays |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 62 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 63 | Led7Seg disp(D9,D10,D2,D3,D4,D5,D6,1); //Instancio el display |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 64 | unsigned char u = 0, d = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 65 | /*Seteo las habilitaciones*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 66 | DigitalOut H1(D8); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 67 | DigitalOut H2(D7); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 68 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 69 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 70 | #define CANTCABLES 4 //Cantidad de cables con los que funcionara el sistema |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 71 | #define TIEMPO 60 //Cantidad de segundos que tengo para desactivar la secuencia |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 72 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 73 | /*Declaracion LEDs*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 74 | DigitalOut Rojo(LED1); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 75 | DigitalOut Verde(LED2); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 76 | DigitalOut Azul(LED3); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 77 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 78 | /*Declaraciones Entradas...*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 79 | DigitalIn C1(PTB0); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 80 | DigitalIn C2(PTB1); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 81 | DigitalIn C3(PTB2); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 82 | DigitalIn C4(PTB3); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 83 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 84 | /*Instancio los Timmer*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 85 | Ticker ti; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 86 | Ticker D; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 87 | Ticker BC; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 88 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 89 | int estado = ESTADO_INICIO, tespera = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 90 | int semilla = 0, tiempo = 0, cp = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 91 | int sec[CANTCABLES+1] = {0}; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 92 | bool loop1 = 1, loop2 = 1, parpadeo = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 93 | int pos = 1, ant = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 94 | bool estadop = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 95 | float tsii = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 96 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 97 | int tmo = TIEMPO; //Variable de la cuenta regresiva |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 98 | bool entmo = 0; //Habilitacion de la cuenta regresiva.. |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 99 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 100 | /*Prototipos funciones*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 101 | void leds(int num); //Controlador del LEd |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 102 | void bombita (); //Maquina de estados principal |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 103 | void temporizar(); //Funcion relacionada al Timmer |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 104 | bool isPart(int numero, int vector[]); //Me notifica si un numero forma parte de un vector |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 105 | int cables(); //Me devuelve un num binario en resultado a todos los cables |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 106 | char desc(); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 107 | void Displays(unsigned char num, bool blink); //Maquina de estados de manejo de los displays |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 108 | void tim_D(void); //Timmer de los displays |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 109 | void seg(void); //Timmer cuenta regresiva |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 110 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 111 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 112 | int main() |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 113 | { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 114 | /*Inicializo los Ticker*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 115 | ti.attach(&temporizar, 0.1); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 116 | D.attach(&tim_D,0.001); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 117 | BC.attach(&seg,1); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 118 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 119 | /*Seteo los Pull Ups INTERNOS para los cables*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 120 | C1.mode(PullUp); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 121 | C2.mode(PullUp); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 122 | C3.mode(PullUp); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 123 | C4.mode(PullUp); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 124 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 125 | /*Mensaje de inicio...*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 126 | leds(0b111); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 127 | printf("Toque el TOUCH para comenzar: \r\n"); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 128 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 129 | while (true) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 130 | //Ejecuto la maquina de estados principal.. |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 131 | bombita(); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 132 | //Ejecuto la maquina de estados de los displays |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 133 | Displays(tmo,parpadeo); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 134 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 135 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 136 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 137 | void bombita () |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 138 | { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 139 | int i = 1, g = 1, u = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 140 | switch(estado) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 141 | default: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 142 | case ESTADO_INICIO: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 143 | tiempo = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 144 | parpadeo = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 145 | entmo = 0; //No descuento ahora... |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 146 | /*Me fijo si apretaron el tsi*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 147 | tsii = tsi.readPercentage(); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 148 | if((tsii < 0.99)&&(tsii > 0.01)) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 149 | if (cables() == 0b0000) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 150 | leds(0b000); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 151 | estado = ESTADO_RESET; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 152 | printf("Comencemos: \r\n\n"); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 153 | } else { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 154 | if(loop1) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 155 | printf("CONECTE TODOS LOS CABLES >:(\r\n\n"); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 156 | loop1 = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 157 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 158 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 159 | } else { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 160 | loop1 = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 161 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 162 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 163 | case ESTADO_RESET: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 164 | //Reinicio la secuencia |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 165 | srand (semilla); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 166 | memset(sec, 0, sizeof(sec)); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 167 | while(i <= 4) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 168 | u = rand() % 4 + 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 169 | if(!(isPart(u,sec))) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 170 | sec[i] = u; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 171 | i++; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 172 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 173 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 174 | printf("La secuencia es: CABLE %d - CABLE %d - CABLE %d - CABLE %d \r\n\n", sec[1], sec[2], sec[3], sec[4]); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 175 | entmo = 1; //Empieza la cuenta regresiva... |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 176 | estado = ESTADO_FASE1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 177 | /*Reinicio el tmo*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 178 | tmo = TIEMPO; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 179 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 180 | case ESTADO_FASE1: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 181 | //Paso 1 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 182 | pos = estado - 1 ; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 183 | g = desc(); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 184 | if(g == sec[pos]) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 185 | //Pase de nivel |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 186 | estado = ESTADO_FASE2; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 187 | printf("MUY BIEN ZAFASTE POR AHORA :(\r\n\n"); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 188 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 189 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 190 | if((g != sec[pos] && g != 0) || tmo == 0) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 191 | //Perdiste |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 192 | estado = ESTADO_PERDER; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 193 | entmo = 0; //No descuento ahora... |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 194 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 195 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 196 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 197 | case ESTADO_FASE2: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 198 | //Paso 2 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 199 | pos = estado - 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 200 | g = desc(); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 201 | if(g == sec[pos]) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 202 | //Pase de nivel |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 203 | estado = ESTADO_FASE3; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 204 | printf("ULTIMA OPORTUNIDAD PARA EXPLOTARLA >:) >:)\r\n\n"); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 205 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 206 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 207 | if((g != sec[pos] && g != 0) || tmo == 0) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 208 | //Perdiste |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 209 | estado = ESTADO_PERDER; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 210 | entmo = 0; //No descuento ahora... |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 211 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 212 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 213 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 214 | case ESTADO_FASE3: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 215 | pos = estado - 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 216 | g = desc(); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 217 | if(g == sec[pos]) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 218 | //Pase de nivel |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 219 | estado = ESTADO_FASE4; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 220 | printf("SE TE ACABA EL TIEMPO\r\n\n"); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 221 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 222 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 223 | if((g != sec[pos] && g != 0) || tmo == 0) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 224 | //Perdiste |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 225 | estado = ESTADO_PERDER; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 226 | entmo = 0; //No descuento ahora... |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 227 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 228 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 229 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 230 | case ESTADO_FASE4: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 231 | pos = estado - 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 232 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 233 | if(tmo == 0){ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 234 | //Perdiste |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 235 | entmo = 0; //No descuento ahora... |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 236 | estado = ESTADO_PERDER; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 237 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 238 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 239 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 240 | if(cables() == 0b1111) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 241 | //Gane! |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 242 | entmo = 0; //No descuento ahora... |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 243 | estado = ESTADO_GANAR; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 244 | printf("GANASTEE!! :)\r\n\n"); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 245 | printf("Reconecte los cables para volver a jugar\r\n"); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 246 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 247 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 248 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 249 | case ESTADO_PERDER: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 250 | //Perdiste |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 251 | if(loop2) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 252 | leds(4); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 253 | printf("BOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOM!\r\n"); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 254 | printf("Perdiste bro :)\r\n\n"); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 255 | printf("Reconecte los cables para volver a jugar\r\n"); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 256 | parpadeo = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 257 | loop2 = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 258 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 259 | if(tiempo == 5) |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 260 | leds(0b100); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 261 | if(tiempo == 10) |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 262 | { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 263 | leds(0b000); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 264 | tiempo = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 265 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 266 | //Si me reconectan todos los cables vuelvo al inicio... |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 267 | if(cables() == 0b0000) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 268 | estado = ESTADO_ESPERAR; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 269 | tespera = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 270 | loop2 = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 271 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 272 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 273 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 274 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 275 | case ESTADO_GANAR: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 276 | //Ganastee |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 277 | leds(0b010); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 278 | //Hacer parpadear disply |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 279 | parpadeo = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 280 | //Si me conectan todos los cables reinicio... |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 281 | if(cables() == 0b0000) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 282 | estado = 8; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 283 | tespera = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 284 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 285 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 286 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 287 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 288 | case ESTADO_ESPERAR: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 289 | //Espero un toque para reiniciar y avisoo.. |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 290 | leds(0b111); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 291 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 292 | if(tespera > 20) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 293 | tmo = TIEMPO; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 294 | printf("Reset! Toque el TOUCH para iniciar\r\n\n"); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 295 | semilla = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 296 | estado = ESTADO_INICIO; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 297 | tespera = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 298 | semilla = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 299 | tiempo = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 300 | cp = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 301 | loop1 = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 302 | loop2 = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 303 | parpadeo = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 304 | pos = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 305 | ant = 0b0000; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 306 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 307 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 308 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 309 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 310 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 311 | void leds(int num) |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 312 | { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 313 | switch(num) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 314 | case 0: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 315 | Rojo = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 316 | Verde = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 317 | Azul = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 318 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 319 | case 4: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 320 | Rojo = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 321 | Verde = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 322 | Azul = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 323 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 324 | case 2: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 325 | Rojo = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 326 | Verde = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 327 | Azul = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 328 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 329 | case 1: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 330 | Rojo = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 331 | Verde = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 332 | Azul = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 333 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 334 | case 7: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 335 | Rojo = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 336 | Verde = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 337 | Azul = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 338 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 339 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 340 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 341 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 342 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 343 | int cables() |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 344 | { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 345 | return (C1 | C2 << 1 | C3 << 2 | C4 << 3); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 346 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 347 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 348 | bool isPart(int numero, int vector[]) |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 349 | { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 350 | int c = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 351 | for(c = 1; c <= 4; c ++) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 352 | if(numero == vector[c]) |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 353 | return 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 354 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 355 | return 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 356 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 357 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 358 | char desc() |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 359 | { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 360 | static int validacion = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 361 | int ant1 = cables(); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 362 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 363 | //Cable 1 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 364 | if(((ant & 0001) != C1) && validacion != 1) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 365 | validacion = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 366 | return 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 367 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 368 | //Cable 2 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 369 | if((((ant >> 1) & 0001) != C2) && validacion != 2) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 370 | validacion = 2; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 371 | return 2; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 372 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 373 | //Cable 3 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 374 | if((((ant >> 2) & 0001) != C3) && validacion != 3) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 375 | validacion = 3; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 376 | return 3; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 377 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 378 | //Cable 4 |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 379 | if((((ant >> 3) & 0001) != C4) && validacion != 4) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 380 | validacion = 4; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 381 | return 4; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 382 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 383 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 384 | ant = ant1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 385 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 386 | return 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 387 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 388 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 389 | void temporizar() |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 390 | { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 391 | //Funcion de parpadeo |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 392 | if(parpadeo) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 393 | cp ++; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 394 | if(cp > 10) { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 395 | estadop = !estadop; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 396 | cp = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 397 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 398 | } else { |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 399 | //Apago todo lo que parpadea de forma definitiva |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 400 | estadop = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 401 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 402 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 403 | tiempo ++; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 404 | semilla++; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 405 | tespera++; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 406 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 407 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 408 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 409 | void Displays(unsigned char num, bool blink){ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 410 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 411 | /*Si supero lo maximo que puedo mostrar parpadeo y pongo el max*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 412 | if(num > 99){ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 413 | num = 99; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 414 | blink = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 415 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 416 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 417 | /*Maquina de estados*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 418 | switch(ED){ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 419 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 420 | /*Calculo y coloco las unidades*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 421 | case Unidades: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 422 | u = num % 10; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 423 | disp.write(u); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 424 | H1 = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 425 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 426 | if(ac >= 15){ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 427 | H1 = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 428 | ED = Decenas; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 429 | ac = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 430 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 431 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 432 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 433 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 434 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 435 | /*Calculo y coloco las decenas*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 436 | case Decenas: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 437 | d = int(num/10) ; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 438 | disp.write(d); |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 439 | H2 = 1; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 440 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 441 | /*Transicion comun*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 442 | if(ac >= 15 && blink == 0){ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 443 | H2 = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 444 | ED = Unidades; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 445 | ac = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 446 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 447 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 448 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 449 | /*Transicion al estado de espera para blink*/ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 450 | if(ac >= 15 && blink){ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 451 | H2 = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 452 | ED = Espera; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 453 | ac = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 454 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 455 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 456 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 457 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 458 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 459 | case Espera: |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 460 | if(ac >= 200){ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 461 | ac = 0; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 462 | ED = Unidades; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 463 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 464 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 465 | break; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 466 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 467 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 468 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 469 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 470 | void tim_D(void){ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 471 | ac++; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 472 | } |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 473 | |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 474 | void seg(void){ |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 475 | if(tmo > 0 && entmo ) |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 476 | tmo--; |
NIcolasFernandezSanz | 0:6cc6c33ebb7e | 477 | } |