H261 decoder
Dependencies: SDL_lib2 SX1276Lib mbed
main.cpp@1:1ed97958d0f3, 2017-01-11 (annotated)
- Committer:
- miruga27
- Date:
- Wed Jan 11 20:18:38 2017 +0000
- Revision:
- 1:1ed97958d0f3
- Parent:
- 0:5bd441b8ab2d
JPEG Compressor and SX1276 transmitter
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
miruga27 | 1:1ed97958d0f3 | 1 | |
miruga27 | 0:5bd441b8ab2d | 2 | |
miruga27 | 0:5bd441b8ab2d | 3 | |
miruga27 | 0:5bd441b8ab2d | 4 | /* |
miruga27 | 0:5bd441b8ab2d | 5 | * decoder.c |
miruga27 | 0:5bd441b8ab2d | 6 | * |
miruga27 | 0:5bd441b8ab2d | 7 | * Created on: 5/7/2016 |
miruga27 | 0:5bd441b8ab2d | 8 | * Author: Miguel Ruiz García |
miruga27 | 0:5bd441b8ab2d | 9 | Company: University of Cantabria |
miruga27 | 0:5bd441b8ab2d | 10 | e-mail:mrg47@alumnos.unican.es |
miruga27 | 0:5bd441b8ab2d | 11 | */ |
miruga27 | 0:5bd441b8ab2d | 12 | |
miruga27 | 0:5bd441b8ab2d | 13 | |
miruga27 | 0:5bd441b8ab2d | 14 | #include <SDL.h> |
miruga27 | 0:5bd441b8ab2d | 15 | #include <stdio.h> |
miruga27 | 0:5bd441b8ab2d | 16 | #include "mbed.h" |
miruga27 | 0:5bd441b8ab2d | 17 | #include "functions_dec.h" |
miruga27 | 0:5bd441b8ab2d | 18 | #include "lora.h" |
miruga27 | 1:1ed97958d0f3 | 19 | //#include "debug.h" |
miruga27 | 0:5bd441b8ab2d | 20 | #define BPS 128000 |
miruga27 | 0:5bd441b8ab2d | 21 | #define BITS 8 |
miruga27 | 0:5bd441b8ab2d | 22 | #define STOP_BITS 1 |
miruga27 | 0:5bd441b8ab2d | 23 | |
miruga27 | 1:1ed97958d0f3 | 24 | //DigitalOut myled(LED1); |
miruga27 | 0:5bd441b8ab2d | 25 | |
miruga27 | 0:5bd441b8ab2d | 26 | int main(int argc, char *argv[]){ |
miruga27 | 0:5bd441b8ab2d | 27 | Serial pc(USBTX, USBRX); |
miruga27 | 0:5bd441b8ab2d | 28 | pc.baud(BPS); |
miruga27 | 0:5bd441b8ab2d | 29 | pc.format (BITS,SerialBase::None, STOP_BITS) ; |
miruga27 | 0:5bd441b8ab2d | 30 | |
miruga27 | 0:5bd441b8ab2d | 31 | int i=0,j=0,p_x=0,p_y=0,k=0; |
miruga27 | 1:1ed97958d0f3 | 32 | //myled=1; |
miruga27 | 0:5bd441b8ab2d | 33 | short int m[HEIGHT][WIDTH][3]; |
miruga27 | 0:5bd441b8ab2d | 34 | short int *matriz=(short int *)malloc(sizeof(short int)*WIDTH*HEIGHT*3); |
miruga27 | 1:1ed97958d0f3 | 35 | short int index1,index2,index3; |
miruga27 | 0:5bd441b8ab2d | 36 | short int acumulador[3]={0,0,0}; |
miruga27 | 1:1ed97958d0f3 | 37 | int veces=0; |
miruga27 | 1:1ed97958d0f3 | 38 | |
miruga27 | 1:1ed97958d0f3 | 39 | for(veces=0; veces < 30;veces++){ |
miruga27 | 0:5bd441b8ab2d | 40 | short int *temp1,*temp2,*temp3;//these are vectors. Memory allocations are done at lora function. |
miruga27 | 1:1ed97958d0f3 | 41 | temp3=(short int *)malloc(sizeof(short int)*380); |
miruga27 | 1:1ed97958d0f3 | 42 | temp2=(short int *)malloc(sizeof(short int)*300); |
miruga27 | 1:1ed97958d0f3 | 43 | temp1=(short int *)malloc(sizeof(short int)*300); |
miruga27 | 1:1ed97958d0f3 | 44 | //debug("lora\r\n"); |
miruga27 | 1:1ed97958d0f3 | 45 | lora(temp1,index1,temp2,index2,temp3,index3,acumulador);//acumulador tells the length of the respective vector(acumulador[0] -> temp1,...) |
miruga27 | 0:5bd441b8ab2d | 46 | int indice=0; |
miruga27 | 1:1ed97958d0f3 | 47 | // debug("paquete numero %i\r\n",veces+1); |
miruga27 | 0:5bd441b8ab2d | 48 | //We must "unroll" the vectors after being processed with the RLC (in the encoder) |
miruga27 | 1:1ed97958d0f3 | 49 | |
miruga27 | 1:1ed97958d0f3 | 50 | /* debug("return from lora function...\r\n"); |
miruga27 | 1:1ed97958d0f3 | 51 | debug("acumulador[0]= %i\r\n",acumulador[0]); |
miruga27 | 1:1ed97958d0f3 | 52 | debug("acumulador[0]= %i\r\n",acumulador[1]); |
miruga27 | 1:1ed97958d0f3 | 53 | debug("acumulador[0]= %i\r\n",acumulador[2]); |
miruga27 | 1:1ed97958d0f3 | 54 | debug("Paquete numero %i\r\n",veces+1);*/ |
miruga27 | 1:1ed97958d0f3 | 55 | k=0; |
miruga27 | 1:1ed97958d0f3 | 56 | short int acc1=0,acc2=0,acc3=0; |
miruga27 | 1:1ed97958d0f3 | 57 | for(i=0;i<acumulador[0]/2;i++){//Se divide entre 2 poque se cuentan por pares (longitud,valor). |
miruga27 | 1:1ed97958d0f3 | 58 | for(j=k;j<(*(temp1+indice)*3+k);j+=3){ |
miruga27 | 1:1ed97958d0f3 | 59 | |
miruga27 | 1:1ed97958d0f3 | 60 | *(matriz+j)=*(temp1+indice+1); |
miruga27 | 1:1ed97958d0f3 | 61 | acc1++; |
miruga27 | 1:1ed97958d0f3 | 62 | if(j>HEIGHT*WIDTH*3) break; |
miruga27 | 1:1ed97958d0f3 | 63 | //debug("iteracion\r\n"); |
miruga27 | 1:1ed97958d0f3 | 64 | } |
miruga27 | 1:1ed97958d0f3 | 65 | k=j; |
miruga27 | 1:1ed97958d0f3 | 66 | indice+=2; |
miruga27 | 1:1ed97958d0f3 | 67 | |
miruga27 | 1:1ed97958d0f3 | 68 | } |
miruga27 | 1:1ed97958d0f3 | 69 | for(i=(acc1-1)*3;i<HEIGHT*WIDTH*3;i++){ |
miruga27 | 1:1ed97958d0f3 | 70 | *(matriz+i)=0; |
miruga27 | 1:1ed97958d0f3 | 71 | |
miruga27 | 1:1ed97958d0f3 | 72 | } |
miruga27 | 1:1ed97958d0f3 | 73 | |
miruga27 | 1:1ed97958d0f3 | 74 | //debug("*(temp1+indice)= %i\r\n",*(temp1+0)); |
miruga27 | 1:1ed97958d0f3 | 75 | indice=0; |
miruga27 | 1:1ed97958d0f3 | 76 | k=0; |
miruga27 | 1:1ed97958d0f3 | 77 | for(i=0;i<acumulador[1]/2;i++){ |
miruga27 | 1:1ed97958d0f3 | 78 | |
miruga27 | 1:1ed97958d0f3 | 79 | for(j=k;j<(*(temp2+indice)*3+k);j+=3){ |
miruga27 | 1:1ed97958d0f3 | 80 | |
miruga27 | 1:1ed97958d0f3 | 81 | *(matriz+j+1)=*(temp2+indice+1); |
miruga27 | 1:1ed97958d0f3 | 82 | acc2++; |
miruga27 | 1:1ed97958d0f3 | 83 | if(j>HEIGHT*WIDTH*3) break; |
miruga27 | 0:5bd441b8ab2d | 84 | } |
miruga27 | 0:5bd441b8ab2d | 85 | k=j; |
miruga27 | 0:5bd441b8ab2d | 86 | indice+=2; |
miruga27 | 0:5bd441b8ab2d | 87 | } |
miruga27 | 1:1ed97958d0f3 | 88 | for(i=(acc2-1)*3;i<HEIGHT*WIDTH*3;i++){ |
miruga27 | 1:1ed97958d0f3 | 89 | *(matriz+i+1)=0; |
miruga27 | 1:1ed97958d0f3 | 90 | } |
miruga27 | 1:1ed97958d0f3 | 91 | |
miruga27 | 1:1ed97958d0f3 | 92 | //debug("*(temp2+indice)= %i\r\n",*(temp2+indice)); |
miruga27 | 0:5bd441b8ab2d | 93 | indice=0; |
miruga27 | 0:5bd441b8ab2d | 94 | k=0; |
miruga27 | 1:1ed97958d0f3 | 95 | for(i=0;i<acumulador[2]/2;i++){ |
miruga27 | 1:1ed97958d0f3 | 96 | for(j=k;j<(*(temp3+indice)*3+k);j+=3){ |
miruga27 | 1:1ed97958d0f3 | 97 | |
miruga27 | 1:1ed97958d0f3 | 98 | *(matriz+j+2)=*(temp3+indice+1); |
miruga27 | 1:1ed97958d0f3 | 99 | acc3++; |
miruga27 | 1:1ed97958d0f3 | 100 | if(j>HEIGHT*WIDTH*3) break; |
miruga27 | 0:5bd441b8ab2d | 101 | } |
miruga27 | 0:5bd441b8ab2d | 102 | k=j; |
miruga27 | 0:5bd441b8ab2d | 103 | indice+=2; |
miruga27 | 0:5bd441b8ab2d | 104 | } |
miruga27 | 0:5bd441b8ab2d | 105 | |
miruga27 | 1:1ed97958d0f3 | 106 | for(i=(acc3-1)*3;i<HEIGHT*WIDTH*3;i++){ |
miruga27 | 1:1ed97958d0f3 | 107 | *(matriz+i+2)=0; |
miruga27 | 0:5bd441b8ab2d | 108 | } |
miruga27 | 0:5bd441b8ab2d | 109 | |
miruga27 | 1:1ed97958d0f3 | 110 | |
miruga27 | 1:1ed97958d0f3 | 111 | |
miruga27 | 1:1ed97958d0f3 | 112 | free(temp1); |
miruga27 | 1:1ed97958d0f3 | 113 | free(temp2); |
miruga27 | 1:1ed97958d0f3 | 114 | free(temp3); |
miruga27 | 1:1ed97958d0f3 | 115 | //debug("zig-zag\r\n"); |
miruga27 | 1:1ed97958d0f3 | 116 | |
miruga27 | 0:5bd441b8ab2d | 117 | zig_zag_dec(m,matriz); |
miruga27 | 1:1ed97958d0f3 | 118 | //debug("acumulador\r\n"); |
miruga27 | 0:5bd441b8ab2d | 119 | |
miruga27 | 0:5bd441b8ab2d | 120 | cuantizador_dec(m); |
miruga27 | 1:1ed97958d0f3 | 121 | |
miruga27 | 0:5bd441b8ab2d | 122 | |
miruga27 | 1:1ed97958d0f3 | 123 | //debug("idct\r\n"); |
miruga27 | 0:5bd441b8ab2d | 124 | int matrix[8][8][3]; |
miruga27 | 0:5bd441b8ab2d | 125 | for(i=0;i<HEIGHT;i+=8){ |
miruga27 | 0:5bd441b8ab2d | 126 | for(j=0;j<WIDTH;j+=8){ |
miruga27 | 0:5bd441b8ab2d | 127 | |
miruga27 | 0:5bd441b8ab2d | 128 | int k=0,l=0; |
miruga27 | 0:5bd441b8ab2d | 129 | |
miruga27 | 0:5bd441b8ab2d | 130 | for(k=i;k<i+8;k++){ |
miruga27 | 0:5bd441b8ab2d | 131 | for(l=j;l<j+8;l++){ |
miruga27 | 0:5bd441b8ab2d | 132 | |
miruga27 | 0:5bd441b8ab2d | 133 | |
miruga27 | 0:5bd441b8ab2d | 134 | matrix[k-i][l-j][0]=m[k][l][0]; |
miruga27 | 0:5bd441b8ab2d | 135 | matrix[k-i][l-j][1]=m[k][l][1]; |
miruga27 | 0:5bd441b8ab2d | 136 | matrix[k-i][l-j][2]=m[k][l][2]; |
miruga27 | 0:5bd441b8ab2d | 137 | } |
miruga27 | 0:5bd441b8ab2d | 138 | |
miruga27 | 0:5bd441b8ab2d | 139 | } |
miruga27 | 0:5bd441b8ab2d | 140 | |
miruga27 | 0:5bd441b8ab2d | 141 | IDCT(matrix,m,i,j);// i j índices de los pixeles en x e y del macrobloque |
miruga27 | 0:5bd441b8ab2d | 142 | |
miruga27 | 0:5bd441b8ab2d | 143 | } |
miruga27 | 0:5bd441b8ab2d | 144 | |
miruga27 | 0:5bd441b8ab2d | 145 | } |
miruga27 | 0:5bd441b8ab2d | 146 | |
miruga27 | 0:5bd441b8ab2d | 147 | |
miruga27 | 0:5bd441b8ab2d | 148 | int bpp=3; |
miruga27 | 0:5bd441b8ab2d | 149 | |
miruga27 | 1:1ed97958d0f3 | 150 | /* for(i=0;i<HEIGHT;i++){ |
miruga27 | 0:5bd441b8ab2d | 151 | for(j=0;j<WIDTH;j++){ |
miruga27 | 0:5bd441b8ab2d | 152 | |
miruga27 | 0:5bd441b8ab2d | 153 | if(m[i][j][0]>235) m[i][j][0]=235; |
miruga27 | 0:5bd441b8ab2d | 154 | if(m[i][j][1]>235) m[i][j][1]=235; |
miruga27 | 0:5bd441b8ab2d | 155 | if(m[i][j][2]>240) m[i][j][2]=240; |
miruga27 | 0:5bd441b8ab2d | 156 | |
miruga27 | 0:5bd441b8ab2d | 157 | if(m[i][j][0]<16) m[i][j][0]=16; |
miruga27 | 0:5bd441b8ab2d | 158 | if(m[i][j][1]<16) m[i][j][1]=16; |
miruga27 | 0:5bd441b8ab2d | 159 | if(m[i][j][2]<16) m[i][j][2]=16; |
miruga27 | 0:5bd441b8ab2d | 160 | } |
miruga27 | 1:1ed97958d0f3 | 161 | }*/ |
miruga27 | 1:1ed97958d0f3 | 162 | //debug("yuv\r\n"); |
miruga27 | 1:1ed97958d0f3 | 163 | yuv_to_rgb(m); |
miruga27 | 1:1ed97958d0f3 | 164 | unsigned char var; |
miruga27 | 1:1ed97958d0f3 | 165 | /* for(i=0;i<HEIGHT;i++){ |
miruga27 | 1:1ed97958d0f3 | 166 | for(j=0;j<WIDTH;j++){ |
miruga27 | 1:1ed97958d0f3 | 167 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 168 | pc.printf("%c",(char)m[i][j][0]); |
miruga27 | 0:5bd441b8ab2d | 169 | } |
miruga27 | 1:1ed97958d0f3 | 170 | }*/ |
miruga27 | 0:5bd441b8ab2d | 171 | |
miruga27 | 0:5bd441b8ab2d | 172 | for(i=0;i<8;i++){ |
miruga27 | 0:5bd441b8ab2d | 173 | for(j=0;j<320;j++){ |
miruga27 | 1:1ed97958d0f3 | 174 | |
miruga27 | 1:1ed97958d0f3 | 175 | var=0xff & m[i][j][0]; |
miruga27 | 1:1ed97958d0f3 | 176 | if(j>311){ |
miruga27 | 1:1ed97958d0f3 | 177 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 178 | pc.printf("%c",(char)m[i][j-8][0]); |
miruga27 | 0:5bd441b8ab2d | 179 | |
miruga27 | 1:1ed97958d0f3 | 180 | |
miruga27 | 1:1ed97958d0f3 | 181 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 182 | pc.printf("%c",(char)m[i][j-8][1]); |
miruga27 | 1:1ed97958d0f3 | 183 | |
miruga27 | 1:1ed97958d0f3 | 184 | |
miruga27 | 1:1ed97958d0f3 | 185 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 186 | pc.printf("%c",(char)m[i][j-8][2]); |
miruga27 | 1:1ed97958d0f3 | 187 | } |
miruga27 | 1:1ed97958d0f3 | 188 | else{ |
miruga27 | 1:1ed97958d0f3 | 189 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 190 | pc.printf("%c",(char)m[i][j][0]); |
miruga27 | 1:1ed97958d0f3 | 191 | |
miruga27 | 1:1ed97958d0f3 | 192 | |
miruga27 | 1:1ed97958d0f3 | 193 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 194 | pc.printf("%c",(char)m[i][j][1]); |
miruga27 | 1:1ed97958d0f3 | 195 | |
miruga27 | 1:1ed97958d0f3 | 196 | |
miruga27 | 1:1ed97958d0f3 | 197 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 198 | pc.printf("%c",(char)m[i][j][2]); |
miruga27 | 1:1ed97958d0f3 | 199 | } |
miruga27 | 1:1ed97958d0f3 | 200 | |
miruga27 | 1:1ed97958d0f3 | 201 | //var=255; |
miruga27 | 1:1ed97958d0f3 | 202 | |
miruga27 | 0:5bd441b8ab2d | 203 | |
miruga27 | 0:5bd441b8ab2d | 204 | } |
miruga27 | 0:5bd441b8ab2d | 205 | } |
miruga27 | 1:1ed97958d0f3 | 206 | |
miruga27 | 1:1ed97958d0f3 | 207 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 208 | pc.printf("2");//OJO con ponerlo aqui arriba |
miruga27 | 1:1ed97958d0f3 | 209 | |
miruga27 | 1:1ed97958d0f3 | 210 | |
miruga27 | 1:1ed97958d0f3 | 211 | char h; |
miruga27 | 1:1ed97958d0f3 | 212 | h=acc1&0xff; |
miruga27 | 1:1ed97958d0f3 | 213 | |
miruga27 | 1:1ed97958d0f3 | 214 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 215 | pc.printf("%c",h); |
miruga27 | 1:1ed97958d0f3 | 216 | |
miruga27 | 1:1ed97958d0f3 | 217 | h=(acc1>>8) & 0xff; |
miruga27 | 1:1ed97958d0f3 | 218 | |
miruga27 | 1:1ed97958d0f3 | 219 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 220 | pc.printf("%c",h); |
miruga27 | 1:1ed97958d0f3 | 221 | |
miruga27 | 1:1ed97958d0f3 | 222 | |
miruga27 | 1:1ed97958d0f3 | 223 | |
miruga27 | 1:1ed97958d0f3 | 224 | h=acc2&0xff; |
miruga27 | 1:1ed97958d0f3 | 225 | |
miruga27 | 1:1ed97958d0f3 | 226 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 227 | pc.printf("%c",h); |
miruga27 | 1:1ed97958d0f3 | 228 | |
miruga27 | 1:1ed97958d0f3 | 229 | h=(acc2>>8)&0xff; |
miruga27 | 1:1ed97958d0f3 | 230 | |
miruga27 | 1:1ed97958d0f3 | 231 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 232 | pc.printf("%c",h); |
miruga27 | 1:1ed97958d0f3 | 233 | |
miruga27 | 1:1ed97958d0f3 | 234 | |
miruga27 | 1:1ed97958d0f3 | 235 | h=acc3&0xff; |
miruga27 | 1:1ed97958d0f3 | 236 | |
miruga27 | 1:1ed97958d0f3 | 237 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 238 | pc.printf("%c",h); |
miruga27 | 1:1ed97958d0f3 | 239 | |
miruga27 | 1:1ed97958d0f3 | 240 | h=(acc3>>8)&0xff; |
miruga27 | 1:1ed97958d0f3 | 241 | |
miruga27 | 1:1ed97958d0f3 | 242 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 243 | pc.printf("%c",h); |
miruga27 | 1:1ed97958d0f3 | 244 | /* char h; |
miruga27 | 1:1ed97958d0f3 | 245 | h=acumulador[0]&0xff; |
miruga27 | 1:1ed97958d0f3 | 246 | |
miruga27 | 1:1ed97958d0f3 | 247 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 248 | pc.printf("%c",h); |
miruga27 | 1:1ed97958d0f3 | 249 | |
miruga27 | 1:1ed97958d0f3 | 250 | h=(acumulador[0]>>8) & 0xff; |
miruga27 | 1:1ed97958d0f3 | 251 | |
miruga27 | 1:1ed97958d0f3 | 252 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 253 | pc.printf("%c",h); |
miruga27 | 1:1ed97958d0f3 | 254 | |
miruga27 | 1:1ed97958d0f3 | 255 | |
miruga27 | 1:1ed97958d0f3 | 256 | |
miruga27 | 1:1ed97958d0f3 | 257 | h=acumulador[1]&0xff; |
miruga27 | 1:1ed97958d0f3 | 258 | |
miruga27 | 1:1ed97958d0f3 | 259 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 260 | pc.printf("%c",h); |
miruga27 | 1:1ed97958d0f3 | 261 | |
miruga27 | 1:1ed97958d0f3 | 262 | h=(acumulador[1]>>8)&0xff; |
miruga27 | 1:1ed97958d0f3 | 263 | |
miruga27 | 1:1ed97958d0f3 | 264 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 265 | pc.printf("%c",h); |
miruga27 | 1:1ed97958d0f3 | 266 | |
miruga27 | 1:1ed97958d0f3 | 267 | |
miruga27 | 1:1ed97958d0f3 | 268 | h=acumulador[2]&0xff; |
miruga27 | 1:1ed97958d0f3 | 269 | |
miruga27 | 1:1ed97958d0f3 | 270 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 271 | pc.printf("%c",h); |
miruga27 | 1:1ed97958d0f3 | 272 | |
miruga27 | 1:1ed97958d0f3 | 273 | h=(acumulador[2]>>8)&0xff; |
miruga27 | 1:1ed97958d0f3 | 274 | |
miruga27 | 1:1ed97958d0f3 | 275 | while(!pc.writeable()); |
miruga27 | 1:1ed97958d0f3 | 276 | pc.printf("%c",h);*/ |
miruga27 | 1:1ed97958d0f3 | 277 | } |
miruga27 | 1:1ed97958d0f3 | 278 | |
miruga27 | 1:1ed97958d0f3 | 279 | DigitalOut led(LED1); |
miruga27 | 1:1ed97958d0f3 | 280 | while(1){ |
miruga27 | 1:1ed97958d0f3 | 281 | |
miruga27 | 1:1ed97958d0f3 | 282 | led=1; |
miruga27 | 1:1ed97958d0f3 | 283 | wait(0.5); |
miruga27 | 1:1ed97958d0f3 | 284 | led=0; |
miruga27 | 1:1ed97958d0f3 | 285 | wait(0.5); |
miruga27 | 1:1ed97958d0f3 | 286 | } |
miruga27 | 0:5bd441b8ab2d | 287 | return 0; |
miruga27 | 0:5bd441b8ab2d | 288 | } |