h
Dependencies: QEI RTC-DS1307 TextLCD mbed
main.cpp@0:448768f23e05, 2017-11-29 (annotated)
- Committer:
- Gambetica
- Date:
- Wed Nov 29 01:30:37 2017 +0000
- Revision:
- 0:448768f23e05
h
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Gambetica | 0:448768f23e05 | 1 | // A continuación definimos las librerias necesarias para la ejecución de este programa |
Gambetica | 0:448768f23e05 | 2 | #include "mbed.h" |
Gambetica | 0:448768f23e05 | 3 | #include "Rtc_Ds1307.h" //Libreria para rtc |
Gambetica | 0:448768f23e05 | 4 | #include "TextLCD.h" |
Gambetica | 0:448768f23e05 | 5 | #include "DebouncedIn.h" |
Gambetica | 0:448768f23e05 | 6 | #include "QEI.h" |
Gambetica | 0:448768f23e05 | 7 | #include "debug.h" |
Gambetica | 0:448768f23e05 | 8 | |
Gambetica | 0:448768f23e05 | 9 | //Pines para el rtc |
Gambetica | 0:448768f23e05 | 10 | Rtc_Ds1307 rtc (PTE0,PTE1); //Definimos el DS1307 |
Gambetica | 0:448768f23e05 | 11 | |
Gambetica | 0:448768f23e05 | 12 | //PINES DEL ENCODER Y LCD |
Gambetica | 0:448768f23e05 | 13 | TextLCD lcd(PTB8, PTB9,PTB10,PTB11,PTE2, PTE3); //Puertos LCD rs, e, d4, d5, d6, d7 |
Gambetica | 0:448768f23e05 | 14 | QEI Encoder (PTA1, PTA2, NC, 624); //Puertos de la tarjeta asignados para el Encoder |
Gambetica | 0:448768f23e05 | 15 | |
Gambetica | 0:448768f23e05 | 16 | //Definicion del puerto serial |
Gambetica | 0:448768f23e05 | 17 | //Serial pc(USBTX, USBRX, "pc"); //Definimos la cominucacion serial |
Gambetica | 0:448768f23e05 | 18 | |
Gambetica | 0:448768f23e05 | 19 | DigitalOut led1(LED1); //led de cambio de posición |
Gambetica | 0:448768f23e05 | 20 | DigitalOut led2(LED2); //led incremento de parámetros |
Gambetica | 0:448768f23e05 | 21 | DigitalOut led3(LED3); //led decremento de parámetros |
Gambetica | 0:448768f23e05 | 22 | |
Gambetica | 0:448768f23e05 | 23 | //BOTON DEL ENCODER |
Gambetica | 0:448768f23e05 | 24 | DebouncedIn bot1(PTC17); //cambiar la posición |
Gambetica | 0:448768f23e05 | 25 | |
Gambetica | 0:448768f23e05 | 26 | DebouncedIn P2(PTC13); //SET |
Gambetica | 0:448768f23e05 | 27 | |
Gambetica | 0:448768f23e05 | 28 | char buffer[128]; |
Gambetica | 0:448768f23e05 | 29 | char buffer2[128]; |
Gambetica | 0:448768f23e05 | 30 | int readptr = 0; |
Gambetica | 0:448768f23e05 | 31 | int readptr2 = 0; |
Gambetica | 0:448768f23e05 | 32 | char c,c2; |
Gambetica | 0:448768f23e05 | 33 | int Config; |
Gambetica | 0:448768f23e05 | 34 | int dia1=0,hora1=0,minuto1=0,on1=0; |
Gambetica | 0:448768f23e05 | 35 | int dia2=0,hora2=0,minuto2=0,on2=0; |
Gambetica | 0:448768f23e05 | 36 | int dia3=0,hora3=0,minuto3=0,on3=0; |
Gambetica | 0:448768f23e05 | 37 | int dia4=0,hora4=0,minuto4=0,on4=0; |
Gambetica | 0:448768f23e05 | 38 | int dia5=0,hora5=0,minuto5=0,on5=0; |
Gambetica | 0:448768f23e05 | 39 | int dia6=0,hora6=0,minuto6=0,on6=0; |
Gambetica | 0:448768f23e05 | 40 | int dia7=0,hora7=0,minuto7=0,on7=0; |
Gambetica | 0:448768f23e05 | 41 | int dialarm; |
Gambetica | 0:448768f23e05 | 42 | int bandera=0; |
Gambetica | 0:448768f23e05 | 43 | int C1=0x0E; // Muestra el cursor |
Gambetica | 0:448768f23e05 | 44 | // 0x18; // desplazamiento izquierda |
Gambetica | 0:448768f23e05 | 45 | // 0x1A; // desplazamiento derecha |
Gambetica | 0:448768f23e05 | 46 | int C4=0x0C; |
Gambetica | 0:448768f23e05 | 47 | |
Gambetica | 0:448768f23e05 | 48 | int AT=0; |
Gambetica | 0:448768f23e05 | 49 | int i=0; |
Gambetica | 0:448768f23e05 | 50 | int j=1; |
Gambetica | 0:448768f23e05 | 51 | int M2; |
Gambetica | 0:448768f23e05 | 52 | char Mm[30]; |
Gambetica | 0:448768f23e05 | 53 | char Dd[30]; |
Gambetica | 0:448768f23e05 | 54 | char Hh[30]; |
Gambetica | 0:448768f23e05 | 55 | char MIN[30]; |
Gambetica | 0:448768f23e05 | 56 | char SEG[30]; |
Gambetica | 0:448768f23e05 | 57 | int valor; |
Gambetica | 0:448768f23e05 | 58 | int val; |
Gambetica | 0:448768f23e05 | 59 | //------------------------------------------------------------------------------ |
Gambetica | 0:448768f23e05 | 60 | int a,d,d2,M,min,h,seg,b,k; // indice de la variable |
Gambetica | 0:448768f23e05 | 61 | int YE=2015; |
Gambetica | 0:448768f23e05 | 62 | |
Gambetica | 0:448768f23e05 | 63 | int p=0; |
Gambetica | 0:448768f23e05 | 64 | int main() { |
Gambetica | 0:448768f23e05 | 65 | Rtc_Ds1307::Time_rtc tm = {}; |
Gambetica | 0:448768f23e05 | 66 | led1=led2=led3=1; |
Gambetica | 0:448768f23e05 | 67 | lcd.printf("ALARMAS"); |
Gambetica | 0:448768f23e05 | 68 | wait(1.5); |
Gambetica | 0:448768f23e05 | 69 | lcd.cls(); |
Gambetica | 0:448768f23e05 | 70 | |
Gambetica | 0:448768f23e05 | 71 | |
Gambetica | 0:448768f23e05 | 72 | |
Gambetica | 0:448768f23e05 | 73 | //Inicio del ciclo |
Gambetica | 0:448768f23e05 | 74 | |
Gambetica | 0:448768f23e05 | 75 | while(1) { if (bot1==0 && d==0 && M==0 && YE==2015 && h==0 && min==0 && seg==0) |
Gambetica | 0:448768f23e05 | 76 | {AT=1; |
Gambetica | 0:448768f23e05 | 77 | } |
Gambetica | 0:448768f23e05 | 78 | |
Gambetica | 0:448768f23e05 | 79 | if (AT==1){ |
Gambetica | 0:448768f23e05 | 80 | if(p==1){ |
Gambetica | 0:448768f23e05 | 81 | lcd.cls(); //limpio la pantalla |
Gambetica | 0:448768f23e05 | 82 | lcd.locate(5,1); |
Gambetica | 0:448768f23e05 | 83 | lcd.printf("SET UP"); |
Gambetica | 0:448768f23e05 | 84 | wait(0.5); |
Gambetica | 0:448768f23e05 | 85 | lcd.cls(); |
Gambetica | 0:448768f23e05 | 86 | p=2; |
Gambetica | 0:448768f23e05 | 87 | |
Gambetica | 0:448768f23e05 | 88 | } |
Gambetica | 0:448768f23e05 | 89 | |
Gambetica | 0:448768f23e05 | 90 | |
Gambetica | 0:448768f23e05 | 91 | if (p==2){ |
Gambetica | 0:448768f23e05 | 92 | |
Gambetica | 0:448768f23e05 | 93 | if (bot1.falling()) { //----------------- Aumenta de posición el cursor a la primera línea de menu |
Gambetica | 0:448768f23e05 | 94 | led1=0; |
Gambetica | 0:448768f23e05 | 95 | wait(.15); |
Gambetica | 0:448768f23e05 | 96 | led1=1; |
Gambetica | 0:448768f23e05 | 97 | ++a; |
Gambetica | 0:448768f23e05 | 98 | } |
Gambetica | 0:448768f23e05 | 99 | if (p==2){ |
Gambetica | 0:448768f23e05 | 100 | valor = Encoder.getPulses(); } //------------- Asigna el valor de los pulsos del encoder a una variable llamada "valor" |
Gambetica | 0:448768f23e05 | 101 | |
Gambetica | 0:448768f23e05 | 102 | |
Gambetica | 0:448768f23e05 | 103 | switch(a) { |
Gambetica | 0:448768f23e05 | 104 | case 0: |
Gambetica | 0:448768f23e05 | 105 | lcd.printf("FECHA"); |
Gambetica | 0:448768f23e05 | 106 | wait(0.5); |
Gambetica | 0:448768f23e05 | 107 | lcd.cls(); |
Gambetica | 0:448768f23e05 | 108 | break; |
Gambetica | 0:448768f23e05 | 109 | //CONFIGURACION DE LA FECHA |
Gambetica | 0:448768f23e05 | 110 | case 1: |
Gambetica | 0:448768f23e05 | 111 | |
Gambetica | 0:448768f23e05 | 112 | //Dia |
Gambetica | 0:448768f23e05 | 113 | tm.date = tm.date + valor; //------------- Asigna el valor del encoder al parámetro dia y tiene en cuenta el valor anterior |
Gambetica | 0:448768f23e05 | 114 | Encoder.reset(); //------------- Resetea el valor del encoder |
Gambetica | 0:448768f23e05 | 115 | if (tm.date<=0){ |
Gambetica | 0:448768f23e05 | 116 | tm.date=1; //------------- No se admite valores negativos |
Gambetica | 0:448768f23e05 | 117 | } |
Gambetica | 0:448768f23e05 | 118 | if (tm.date>31){ //Limito el valor del dia; |
Gambetica | 0:448768f23e05 | 119 | tm.date=31; |
Gambetica | 0:448768f23e05 | 120 | } |
Gambetica | 0:448768f23e05 | 121 | |
Gambetica | 0:448768f23e05 | 122 | lcd.locate(2,0); //------------- Ubica e imprime el parámetro dia en la pantalla LCD |
Gambetica | 0:448768f23e05 | 123 | lcd.printf("D",tm.date); |
Gambetica | 0:448768f23e05 | 124 | lcd.locate(3,0); |
Gambetica | 0:448768f23e05 | 125 | lcd.printf(":%d",tm.date); |
Gambetica | 0:448768f23e05 | 126 | wait(0.15); |
Gambetica | 0:448768f23e05 | 127 | |
Gambetica | 0:448768f23e05 | 128 | if (bot1.falling() && tm.date>0) { //--------------Aumenta de posición el cursor a la segunda línea de menu |
Gambetica | 0:448768f23e05 | 129 | a=2; |
Gambetica | 0:448768f23e05 | 130 | led1=0; |
Gambetica | 0:448768f23e05 | 131 | wait(.15); |
Gambetica | 0:448768f23e05 | 132 | led1=1; |
Gambetica | 0:448768f23e05 | 133 | Encoder.reset(); //------------- Resetea el valor del encoder |
Gambetica | 0:448768f23e05 | 134 | } |
Gambetica | 0:448768f23e05 | 135 | break; |
Gambetica | 0:448768f23e05 | 136 | //Mes |
Gambetica | 0:448768f23e05 | 137 | case 2: |
Gambetica | 0:448768f23e05 | 138 | |
Gambetica | 0:448768f23e05 | 139 | M = M + valor; //------------- Asigna el valor del encoder al parámetro mes y tiene en cuenta el valor anterior |
Gambetica | 0:448768f23e05 | 140 | Encoder.reset(); //------------- Resetea el valor del encoder |
Gambetica | 0:448768f23e05 | 141 | if (M<=0){ |
Gambetica | 0:448768f23e05 | 142 | M=1; //------------- No se admite valores negativos |
Gambetica | 0:448768f23e05 | 143 | } |
Gambetica | 0:448768f23e05 | 144 | if (M>12){M =12;} //Limito el valor de mes |
Gambetica | 0:448768f23e05 | 145 | tm.mon=M; |
Gambetica | 0:448768f23e05 | 146 | lcd.locate(10,0); //------------- Ubica e imprime el parámetro "mes" en la pantalla LCD |
Gambetica | 0:448768f23e05 | 147 | lcd.printf("M",tm.mon); |
Gambetica | 0:448768f23e05 | 148 | lcd.locate(11,0); |
Gambetica | 0:448768f23e05 | 149 | lcd.printf(":%d",tm.mon); |
Gambetica | 0:448768f23e05 | 150 | wait(0.15); |
Gambetica | 0:448768f23e05 | 151 | |
Gambetica | 0:448768f23e05 | 152 | if (bot1.falling()&& M>=1 && tm.date>=1 ) { //--------------Aumenta de posición el cursor a la tercera línea de menu |
Gambetica | 0:448768f23e05 | 153 | |
Gambetica | 0:448768f23e05 | 154 | |
Gambetica | 0:448768f23e05 | 155 | a=3; |
Gambetica | 0:448768f23e05 | 156 | led1=0; |
Gambetica | 0:448768f23e05 | 157 | wait(.15); |
Gambetica | 0:448768f23e05 | 158 | led1=1; |
Gambetica | 0:448768f23e05 | 159 | Encoder.reset(); //------------- Resetea el valor del encoder |
Gambetica | 0:448768f23e05 | 160 | } |
Gambetica | 0:448768f23e05 | 161 | break; |
Gambetica | 0:448768f23e05 | 162 | //AÑO |
Gambetica | 0:448768f23e05 | 163 | case 3: |
Gambetica | 0:448768f23e05 | 164 | |
Gambetica | 0:448768f23e05 | 165 | YE = YE + valor; //------------- Asigna el valor del encoder al parámetro año y tiene en cuenta el valor anterior |
Gambetica | 0:448768f23e05 | 166 | Encoder.reset(); //------------- Resetea el valor del encoder |
Gambetica | 0:448768f23e05 | 167 | if (YE<2015){ |
Gambetica | 0:448768f23e05 | 168 | YE=2015; //------------- No se admite valores negativos |
Gambetica | 0:448768f23e05 | 169 | } |
Gambetica | 0:448768f23e05 | 170 | if (YE>2030){ YE=2030;} //Limito el valor de año |
Gambetica | 0:448768f23e05 | 171 | tm.year=YE; |
Gambetica | 0:448768f23e05 | 172 | lcd.locate(2,1); //------------- Ubica e imprime el parámetro "año" en la pantalla LCD |
Gambetica | 0:448768f23e05 | 173 | lcd.printf("A",tm.year); |
Gambetica | 0:448768f23e05 | 174 | lcd.locate(3,1); |
Gambetica | 0:448768f23e05 | 175 | lcd.printf(":%d",tm.year); |
Gambetica | 0:448768f23e05 | 176 | wait(0.15); |
Gambetica | 0:448768f23e05 | 177 | |
Gambetica | 0:448768f23e05 | 178 | if (bot1.falling()&& tm.date>0 && M>0 && YE>2015) { //--------------Aumenta de posición el cursor a la cuarta línea de menu |
Gambetica | 0:448768f23e05 | 179 | |
Gambetica | 0:448768f23e05 | 180 | a=4; |
Gambetica | 0:448768f23e05 | 181 | led1=0; |
Gambetica | 0:448768f23e05 | 182 | wait(.15); |
Gambetica | 0:448768f23e05 | 183 | led1=1; |
Gambetica | 0:448768f23e05 | 184 | Encoder.reset(); //------------- Resetea el valor del encoder |
Gambetica | 0:448768f23e05 | 185 | |
Gambetica | 0:448768f23e05 | 186 | } |
Gambetica | 0:448768f23e05 | 187 | break; |
Gambetica | 0:448768f23e05 | 188 | case 4: |
Gambetica | 0:448768f23e05 | 189 | lcd.cls(); |
Gambetica | 0:448768f23e05 | 190 | lcd.printf("HORA"); |
Gambetica | 0:448768f23e05 | 191 | wait(0.5); |
Gambetica | 0:448768f23e05 | 192 | lcd.cls(); |
Gambetica | 0:448768f23e05 | 193 | if (bot1.falling()){ |
Gambetica | 0:448768f23e05 | 194 | a=5; |
Gambetica | 0:448768f23e05 | 195 | } |
Gambetica | 0:448768f23e05 | 196 | break; |
Gambetica | 0:448768f23e05 | 197 | //Configuracion de la hora |
Gambetica | 0:448768f23e05 | 198 | //HORA |
Gambetica | 0:448768f23e05 | 199 | case 5: |
Gambetica | 0:448768f23e05 | 200 | |
Gambetica | 0:448768f23e05 | 201 | h = h + valor; //------------- Asigna el valor del encoder al parámetro hora y tiene en cuenta el valor anterior |
Gambetica | 0:448768f23e05 | 202 | Encoder.reset(); //------------- Resetea el valor del encoder |
Gambetica | 0:448768f23e05 | 203 | if (h<0){ |
Gambetica | 0:448768f23e05 | 204 | h=0; //------------- No se admite valores negativos |
Gambetica | 0:448768f23e05 | 205 | } |
Gambetica | 0:448768f23e05 | 206 | if (h>23){ h=23;} //Limito el valor de hora |
Gambetica | 0:448768f23e05 | 207 | tm.hour=h; |
Gambetica | 0:448768f23e05 | 208 | lcd.locate(2,0); //------------- Ubica e imprime el parámetro "hora" en la pantalla LCD |
Gambetica | 0:448768f23e05 | 209 | lcd.printf("h=",tm.hour); |
Gambetica | 0:448768f23e05 | 210 | lcd.locate(3,0); |
Gambetica | 0:448768f23e05 | 211 | |
Gambetica | 0:448768f23e05 | 212 | lcd.printf(":%d",tm.hour); |
Gambetica | 0:448768f23e05 | 213 | wait(0.15); |
Gambetica | 0:448768f23e05 | 214 | |
Gambetica | 0:448768f23e05 | 215 | if (bot1.falling()&& h>0 ) { //--------------Aumenta de posición el cursor a la cuarta línea de menu |
Gambetica | 0:448768f23e05 | 216 | a=6; |
Gambetica | 0:448768f23e05 | 217 | led1=0; |
Gambetica | 0:448768f23e05 | 218 | wait(.15); |
Gambetica | 0:448768f23e05 | 219 | led1=1; |
Gambetica | 0:448768f23e05 | 220 | Encoder.reset(); //------------- Resetea el valor del encoder |
Gambetica | 0:448768f23e05 | 221 | } |
Gambetica | 0:448768f23e05 | 222 | break; |
Gambetica | 0:448768f23e05 | 223 | |
Gambetica | 0:448768f23e05 | 224 | //Minutos |
Gambetica | 0:448768f23e05 | 225 | case 6: |
Gambetica | 0:448768f23e05 | 226 | min = min + valor; //------------- Asigna el valor del encoder al parámetro min y tiene en cuenta el valor anterior |
Gambetica | 0:448768f23e05 | 227 | Encoder.reset(); //------------- Resetea el valor del encoder |
Gambetica | 0:448768f23e05 | 228 | if (min<=0){ |
Gambetica | 0:448768f23e05 | 229 | min=0; //------------- No se admite valores negativos |
Gambetica | 0:448768f23e05 | 230 | } |
Gambetica | 0:448768f23e05 | 231 | if (min>61){ |
Gambetica | 0:448768f23e05 | 232 | min=60;} |
Gambetica | 0:448768f23e05 | 233 | tm.min=min; |
Gambetica | 0:448768f23e05 | 234 | lcd.locate(10,0); //------------- Ubica e imprime el parámetro "min" en la pantalla LCD |
Gambetica | 0:448768f23e05 | 235 | lcd.printf("m",&tm.min); |
Gambetica | 0:448768f23e05 | 236 | lcd.locate(11,0); |
Gambetica | 0:448768f23e05 | 237 | lcd.printf(":%d",&tm.min); |
Gambetica | 0:448768f23e05 | 238 | wait(0.15); |
Gambetica | 0:448768f23e05 | 239 | if (bot1.falling()&& h>=0 && min>=0) { //--------------Aumenta de posición el cursor a la cuarta línea de menu |
Gambetica | 0:448768f23e05 | 240 | a=7; |
Gambetica | 0:448768f23e05 | 241 | led1=0; |
Gambetica | 0:448768f23e05 | 242 | wait(.15); |
Gambetica | 0:448768f23e05 | 243 | led1=1; |
Gambetica | 0:448768f23e05 | 244 | Encoder.reset(); //------------- Resetea el valor del encoder |
Gambetica | 0:448768f23e05 | 245 | } |
Gambetica | 0:448768f23e05 | 246 | break; |
Gambetica | 0:448768f23e05 | 247 | //Segundos |
Gambetica | 0:448768f23e05 | 248 | case 7: |
Gambetica | 0:448768f23e05 | 249 | seg = seg + valor; //------------- Asigna el valor del encoder al parámetro seg y tiene en cuenta el valor anterior |
Gambetica | 0:448768f23e05 | 250 | Encoder.reset(); //------------- Resetea el valor del encoder |
Gambetica | 0:448768f23e05 | 251 | if (seg<=0){ |
Gambetica | 0:448768f23e05 | 252 | seg=0; //------------- No se admite valores negativos |
Gambetica | 0:448768f23e05 | 253 | } |
Gambetica | 0:448768f23e05 | 254 | if (seg>61){ |
Gambetica | 0:448768f23e05 | 255 | seg=60;} |
Gambetica | 0:448768f23e05 | 256 | tm.sec=seg; |
Gambetica | 0:448768f23e05 | 257 | lcd.locate(2,1); //------------- Ubica e imprime el parámetro "seg" en la pantalla LCD |
Gambetica | 0:448768f23e05 | 258 | lcd.printf("s",seg); |
Gambetica | 0:448768f23e05 | 259 | lcd.locate(3,1); |
Gambetica | 0:448768f23e05 | 260 | lcd.printf(":%d",&tm.sec); |
Gambetica | 0:448768f23e05 | 261 | wait(0.15); |
Gambetica | 0:448768f23e05 | 262 | |
Gambetica | 0:448768f23e05 | 263 | if (bot1.falling()&& h>=0 && min>=0 && seg>0) { //--------------Aumenta de posición el cursor a la cuarta línea de menu |
Gambetica | 0:448768f23e05 | 264 | |
Gambetica | 0:448768f23e05 | 265 | a=8; |
Gambetica | 0:448768f23e05 | 266 | led1=0; |
Gambetica | 0:448768f23e05 | 267 | wait(.15); |
Gambetica | 0:448768f23e05 | 268 | led1=1; |
Gambetica | 0:448768f23e05 | 269 | p=3; |
Gambetica | 0:448768f23e05 | 270 | |
Gambetica | 0:448768f23e05 | 271 | Encoder.reset(); //------------- Resetea el valor del encoder |
Gambetica | 0:448768f23e05 | 272 | } |
Gambetica | 0:448768f23e05 | 273 | |
Gambetica | 0:448768f23e05 | 274 | |
Gambetica | 0:448768f23e05 | 275 | if (p==3){ |
Gambetica | 0:448768f23e05 | 276 | |
Gambetica | 0:448768f23e05 | 277 | lcd.cls(); |
Gambetica | 0:448768f23e05 | 278 | //Fecha: |
Gambetica | 0:448768f23e05 | 279 | lcd.locate(0,0); |
Gambetica | 0:448768f23e05 | 280 | lcd.printf("F=%d/%d/%d",&tm.date,&tm.mon,&tm.year); |
Gambetica | 0:448768f23e05 | 281 | //Hora |
Gambetica | 0:448768f23e05 | 282 | lcd.locate(0,1); |
Gambetica | 0:448768f23e05 | 283 | lcd.printf("H=%d:%d:%d",&tm.hour,&tm.min,&tm.sec); |
Gambetica | 0:448768f23e05 | 284 | |
Gambetica | 0:448768f23e05 | 285 | } |
Gambetica | 0:448768f23e05 | 286 | |
Gambetica | 0:448768f23e05 | 287 | } |
Gambetica | 0:448768f23e05 | 288 | |
Gambetica | 0:448768f23e05 | 289 | |
Gambetica | 0:448768f23e05 | 290 | |
Gambetica | 0:448768f23e05 | 291 | |
Gambetica | 0:448768f23e05 | 292 | |
Gambetica | 0:448768f23e05 | 293 | } |
Gambetica | 0:448768f23e05 | 294 | } |
Gambetica | 0:448768f23e05 | 295 | } |
Gambetica | 0:448768f23e05 | 296 | |
Gambetica | 0:448768f23e05 | 297 | |
Gambetica | 0:448768f23e05 | 298 | |
Gambetica | 0:448768f23e05 | 299 | } |