Tomas Flores / Mbed 2 deprecated bluetoothComandos13_10

Dependencies:   mbed

Committer:
manzi
Date:
Sat Oct 15 18:20:42 2022 +0000
Revision:
0:592f7235dc63
15:20

Who changed what in which revision?

UserRevisionLine numberNew contents of line
manzi 0:592f7235dc63 1 #include "mbed.h"
manzi 0:592f7235dc63 2
manzi 0:592f7235dc63 3 #define startData '$'
manzi 0:592f7235dc63 4 #define endData '%'
manzi 0:592f7235dc63 5
manzi 0:592f7235dc63 6 #define command_appGetDrink 'S'
manzi 0:592f7235dc63 7 #define command_appCustomDrink 'E'
manzi 0:592f7235dc63 8
manzi 0:592f7235dc63 9
manzi 0:592f7235dc63 10 // ANDA JOYA 22/9
manzi 0:592f7235dc63 11
manzi 0:592f7235dc63 12 Serial pc(USBTX, USBRX);
manzi 0:592f7235dc63 13 Serial bt(PTE22, PTE23);
manzi 0:592f7235dc63 14 DigitalOut ledblue(PTD1);
manzi 0:592f7235dc63 15 DigitalOut ledgreen(PTB19);
manzi 0:592f7235dc63 16 DigitalOut ledred(PTB18);
manzi 0:592f7235dc63 17
manzi 0:592f7235dc63 18 enum{
manzi 0:592f7235dc63 19 standby = 0,
manzi 0:592f7235dc63 20 command,
manzi 0:592f7235dc63 21 data,
manzi 0:592f7235dc63 22 };
manzi 0:592f7235dc63 23
manzi 0:592f7235dc63 24 int auxBL = 0;
manzi 0:592f7235dc63 25 char datos[100],comando;
manzi 0:592f7235dc63 26 char beb1[25] = " ", beb2[25] = " ", beb3[25] = " ", beb4[25] = " ", beb5[25] = " ", beb6[25] = " ";
manzi 0:592f7235dc63 27 char customDrink1[25] = " " ,customDrink2[25]= " ",customDrink3[25]= " ",customDrink4[25]= " ",customDrink5[25]= " ",customDrink6[25]= " ";
manzi 0:592f7235dc63 28 int onzasDrink1[6],onzasDrink2[6],onzasDrink3[6],onzasDrink4[6],onzasDrink5[6],onzasDrink6[6];
manzi 0:592f7235dc63 29
manzi 0:592f7235dc63 30 char charRecieve = 0;
manzi 0:592f7235dc63 31 int i=0,state = standby,bebidas = 0,aux1=0,aux2=0,aux3=0,aux4=0,aux5=0,aux6=0,aux1Oz=0,aux2Oz=0,aux3Oz=0,aux4Oz=0,aux5Oz=0,aux6Oz=0;
manzi 0:592f7235dc63 32
manzi 0:592f7235dc63 33
manzi 0:592f7235dc63 34
manzi 0:592f7235dc63 35 int main(void)
manzi 0:592f7235dc63 36 {
manzi 0:592f7235dc63 37 // Inicializaciones
manzi 0:592f7235dc63 38 pc.baud(9600);
manzi 0:592f7235dc63 39 bt.baud(9600);
manzi 0:592f7235dc63 40
manzi 0:592f7235dc63 41 ledred=1;
manzi 0:592f7235dc63 42 ledblue=0;
manzi 0:592f7235dc63 43 ledgreen=1;
manzi 0:592f7235dc63 44
manzi 0:592f7235dc63 45 pc.printf("Conectado a la PC \n");
manzi 0:592f7235dc63 46 memset(datos,0,100);
manzi 0:592f7235dc63 47 while(1)
manzi 0:592f7235dc63 48 {
manzi 0:592f7235dc63 49 if(bt.readable())
manzi 0:592f7235dc63 50 {
manzi 0:592f7235dc63 51 ledred = 0;
manzi 0:592f7235dc63 52 ledgreen= 1;
manzi 0:592f7235dc63 53 ledblue=1;
manzi 0:592f7235dc63 54 charRecieve = bt.getc();
manzi 0:592f7235dc63 55
manzi 0:592f7235dc63 56 switch(state){
manzi 0:592f7235dc63 57 case standby:
manzi 0:592f7235dc63 58 if(charRecieve == startData)
manzi 0:592f7235dc63 59 {
manzi 0:592f7235dc63 60 //pc.printf("Recibe $$\n");
manzi 0:592f7235dc63 61 state = command;
manzi 0:592f7235dc63 62 ledgreen=0;
manzi 0:592f7235dc63 63 ledblue=1;
manzi 0:592f7235dc63 64 ledred=1;
manzi 0:592f7235dc63 65 }
manzi 0:592f7235dc63 66 break;
manzi 0:592f7235dc63 67
manzi 0:592f7235dc63 68 case command:
manzi 0:592f7235dc63 69 comando = charRecieve;
manzi 0:592f7235dc63 70 pc.printf("\n%c\n",comando);
manzi 0:592f7235dc63 71 state = data;
manzi 0:592f7235dc63 72 break;
manzi 0:592f7235dc63 73 case data:
manzi 0:592f7235dc63 74 if(charRecieve == endData && (comando == command_appGetDrink)){
manzi 0:592f7235dc63 75 //pc.printf("Recibe %%\n");
manzi 0:592f7235dc63 76 pc.printf("%s\n",datos);
manzi 0:592f7235dc63 77 state = standby;
manzi 0:592f7235dc63 78 for(i=0; i < strlen(datos); i++){
manzi 0:592f7235dc63 79 switch (bebidas){
manzi 0:592f7235dc63 80 case 0:
manzi 0:592f7235dc63 81 if(datos[i] == '#'){
manzi 0:592f7235dc63 82 bebidas++;
manzi 0:592f7235dc63 83 break;
manzi 0:592f7235dc63 84 }
manzi 0:592f7235dc63 85 else{
manzi 0:592f7235dc63 86 if(datos[i] != '%') ///////////
manzi 0:592f7235dc63 87 beb1[aux1++] = datos[i];
manzi 0:592f7235dc63 88 }
manzi 0:592f7235dc63 89 break;
manzi 0:592f7235dc63 90 case 1:
manzi 0:592f7235dc63 91 if(datos[i] == '#'){
manzi 0:592f7235dc63 92 bebidas++;
manzi 0:592f7235dc63 93 break;
manzi 0:592f7235dc63 94 }
manzi 0:592f7235dc63 95 else{
manzi 0:592f7235dc63 96 beb2[aux2++] = datos[i];
manzi 0:592f7235dc63 97 }
manzi 0:592f7235dc63 98 break;
manzi 0:592f7235dc63 99 case 2:
manzi 0:592f7235dc63 100 if(datos[i] == '#'){
manzi 0:592f7235dc63 101 bebidas++;
manzi 0:592f7235dc63 102 break;
manzi 0:592f7235dc63 103 }
manzi 0:592f7235dc63 104 else{
manzi 0:592f7235dc63 105 beb3[aux3++] = datos[i];
manzi 0:592f7235dc63 106 }
manzi 0:592f7235dc63 107 break;
manzi 0:592f7235dc63 108 case 3:
manzi 0:592f7235dc63 109 if(datos[i] == '#'){
manzi 0:592f7235dc63 110 bebidas++;
manzi 0:592f7235dc63 111 break;
manzi 0:592f7235dc63 112 }
manzi 0:592f7235dc63 113 else{
manzi 0:592f7235dc63 114 beb4[aux4++] = datos[i];
manzi 0:592f7235dc63 115 }
manzi 0:592f7235dc63 116 break;
manzi 0:592f7235dc63 117 case 4:
manzi 0:592f7235dc63 118 if(datos[i] == '#'){
manzi 0:592f7235dc63 119 bebidas++;
manzi 0:592f7235dc63 120 break;
manzi 0:592f7235dc63 121 }
manzi 0:592f7235dc63 122 else{
manzi 0:592f7235dc63 123 beb5[aux5++] = datos[i];
manzi 0:592f7235dc63 124 }
manzi 0:592f7235dc63 125 break;
manzi 0:592f7235dc63 126 case 5:
manzi 0:592f7235dc63 127 if(datos[i] == '%'){
manzi 0:592f7235dc63 128 bebidas=0;
manzi 0:592f7235dc63 129 state = standby;
manzi 0:592f7235dc63 130 break;
manzi 0:592f7235dc63 131 }
manzi 0:592f7235dc63 132 else{
manzi 0:592f7235dc63 133 beb6[aux6++] = datos[i];
manzi 0:592f7235dc63 134 }
manzi 0:592f7235dc63 135 break;
manzi 0:592f7235dc63 136 }
manzi 0:592f7235dc63 137
manzi 0:592f7235dc63 138 }
manzi 0:592f7235dc63 139
manzi 0:592f7235dc63 140 bebidas=0;
manzi 0:592f7235dc63 141 auxBL=0;
manzi 0:592f7235dc63 142 aux1=0;
manzi 0:592f7235dc63 143 aux2=0;
manzi 0:592f7235dc63 144 aux3=0;
manzi 0:592f7235dc63 145 aux4=0;
manzi 0:592f7235dc63 146 aux5=0;
manzi 0:592f7235dc63 147 aux6=0;
manzi 0:592f7235dc63 148
manzi 0:592f7235dc63 149
manzi 0:592f7235dc63 150 pc.printf("%s\n",beb1);
manzi 0:592f7235dc63 151 pc.printf("%s\n",beb2);
manzi 0:592f7235dc63 152 pc.printf("%s\n",beb3);
manzi 0:592f7235dc63 153 pc.printf("%s\n",beb4);
manzi 0:592f7235dc63 154 pc.printf("%s\n",beb5);
manzi 0:592f7235dc63 155 pc.printf("%s\n",beb6);
manzi 0:592f7235dc63 156
manzi 0:592f7235dc63 157 memset(datos,0,100);
manzi 0:592f7235dc63 158 memset(beb1,0,25);
manzi 0:592f7235dc63 159 memset(beb2,0,25);
manzi 0:592f7235dc63 160 memset(beb3,0,25);
manzi 0:592f7235dc63 161 memset(beb4,0,25);
manzi 0:592f7235dc63 162 memset(beb5,0,25);
manzi 0:592f7235dc63 163 memset(beb6,0,25);
manzi 0:592f7235dc63 164
manzi 0:592f7235dc63 165 ledred = 0;
manzi 0:592f7235dc63 166 ledgreen= 1;
manzi 0:592f7235dc63 167 ledblue=1;
manzi 0:592f7235dc63 168 }
manzi 0:592f7235dc63 169
manzi 0:592f7235dc63 170 if(charRecieve == endData && (comando == command_appCustomDrink)){
manzi 0:592f7235dc63 171 //pc.printf("Recibe %%\n");
manzi 0:592f7235dc63 172 pc.printf("%s\n",datos);
manzi 0:592f7235dc63 173 state = standby;
manzi 0:592f7235dc63 174
manzi 0:592f7235dc63 175 for(i=0; i < strlen(datos); i++){
manzi 0:592f7235dc63 176 switch (bebidas){
manzi 0:592f7235dc63 177 case 0:
manzi 0:592f7235dc63 178 if(datos[i] == '|'){
manzi 0:592f7235dc63 179 bebidas++;
manzi 0:592f7235dc63 180 break;
manzi 0:592f7235dc63 181 }
manzi 0:592f7235dc63 182 else{
manzi 0:592f7235dc63 183 if(datos[i] != '%') ///////////
manzi 0:592f7235dc63 184 customDrink1[aux1++] = datos[i];
manzi 0:592f7235dc63 185 }
manzi 0:592f7235dc63 186 break;
manzi 0:592f7235dc63 187 case 1:
manzi 0:592f7235dc63 188 if(datos[i] == '#'){
manzi 0:592f7235dc63 189 bebidas++;
manzi 0:592f7235dc63 190 break;
manzi 0:592f7235dc63 191 }
manzi 0:592f7235dc63 192 else{
manzi 0:592f7235dc63 193 onzasDrink1[aux1Oz++] = datos[i]-48;
manzi 0:592f7235dc63 194 }
manzi 0:592f7235dc63 195 break;
manzi 0:592f7235dc63 196 case 2:
manzi 0:592f7235dc63 197 if(datos[i] == '|'){
manzi 0:592f7235dc63 198 bebidas++;
manzi 0:592f7235dc63 199 break;
manzi 0:592f7235dc63 200 }
manzi 0:592f7235dc63 201 else{
manzi 0:592f7235dc63 202 customDrink2[aux2++] = datos[i];
manzi 0:592f7235dc63 203 }
manzi 0:592f7235dc63 204 break;
manzi 0:592f7235dc63 205 case 3:
manzi 0:592f7235dc63 206 if(datos[i] == '#'){
manzi 0:592f7235dc63 207 bebidas++;
manzi 0:592f7235dc63 208 break;
manzi 0:592f7235dc63 209 }
manzi 0:592f7235dc63 210 else{
manzi 0:592f7235dc63 211 onzasDrink2[aux2Oz++] = datos[i]-48;
manzi 0:592f7235dc63 212 }
manzi 0:592f7235dc63 213 break;
manzi 0:592f7235dc63 214 case 4:
manzi 0:592f7235dc63 215 if(datos[i] == '|'){
manzi 0:592f7235dc63 216 bebidas++;
manzi 0:592f7235dc63 217 break;
manzi 0:592f7235dc63 218 }
manzi 0:592f7235dc63 219 else{
manzi 0:592f7235dc63 220 customDrink3[aux3++] = datos[i];
manzi 0:592f7235dc63 221 }
manzi 0:592f7235dc63 222 break;
manzi 0:592f7235dc63 223 case 5:
manzi 0:592f7235dc63 224 if(datos[i] == '#'){
manzi 0:592f7235dc63 225 bebidas++;
manzi 0:592f7235dc63 226 break;
manzi 0:592f7235dc63 227 }
manzi 0:592f7235dc63 228 else{
manzi 0:592f7235dc63 229 onzasDrink3[aux3Oz++] = datos[i]-48;
manzi 0:592f7235dc63 230 }
manzi 0:592f7235dc63 231 break;
manzi 0:592f7235dc63 232 case 6:
manzi 0:592f7235dc63 233 if(datos[i] == '|'){
manzi 0:592f7235dc63 234 bebidas++;
manzi 0:592f7235dc63 235 break;
manzi 0:592f7235dc63 236 }
manzi 0:592f7235dc63 237 else{
manzi 0:592f7235dc63 238 customDrink4[aux4++] = datos[i];
manzi 0:592f7235dc63 239 }
manzi 0:592f7235dc63 240 break;
manzi 0:592f7235dc63 241 case 7:
manzi 0:592f7235dc63 242 if(datos[i] == '#'){
manzi 0:592f7235dc63 243 bebidas++;
manzi 0:592f7235dc63 244 break;
manzi 0:592f7235dc63 245 }
manzi 0:592f7235dc63 246 else{
manzi 0:592f7235dc63 247 onzasDrink4[aux4Oz++] = datos[i]-48;
manzi 0:592f7235dc63 248 }
manzi 0:592f7235dc63 249 break;
manzi 0:592f7235dc63 250 case 8:
manzi 0:592f7235dc63 251 if(datos[i] == '|'){
manzi 0:592f7235dc63 252 bebidas++;
manzi 0:592f7235dc63 253 break;
manzi 0:592f7235dc63 254 }
manzi 0:592f7235dc63 255 else{
manzi 0:592f7235dc63 256 customDrink5[aux5++] = datos[i];
manzi 0:592f7235dc63 257 }
manzi 0:592f7235dc63 258 break;
manzi 0:592f7235dc63 259 case 9:
manzi 0:592f7235dc63 260 if(datos[i] == '#'){
manzi 0:592f7235dc63 261 bebidas++;
manzi 0:592f7235dc63 262 break;
manzi 0:592f7235dc63 263 }
manzi 0:592f7235dc63 264 else{
manzi 0:592f7235dc63 265 onzasDrink5[aux5Oz++] = datos[i]-48;
manzi 0:592f7235dc63 266 }
manzi 0:592f7235dc63 267 break;
manzi 0:592f7235dc63 268 case 10:
manzi 0:592f7235dc63 269 if(datos[i] == '|'){
manzi 0:592f7235dc63 270 bebidas++;
manzi 0:592f7235dc63 271 break;
manzi 0:592f7235dc63 272 }
manzi 0:592f7235dc63 273 else{
manzi 0:592f7235dc63 274 customDrink6[aux6++] = datos[i];
manzi 0:592f7235dc63 275 }
manzi 0:592f7235dc63 276 break;
manzi 0:592f7235dc63 277 case 11:
manzi 0:592f7235dc63 278 if(datos[i] == '%'){
manzi 0:592f7235dc63 279 bebidas=0;
manzi 0:592f7235dc63 280 state = standby;
manzi 0:592f7235dc63 281 break;
manzi 0:592f7235dc63 282 }
manzi 0:592f7235dc63 283 else{
manzi 0:592f7235dc63 284 onzasDrink6[aux6Oz++] = datos[i]-48;
manzi 0:592f7235dc63 285 }
manzi 0:592f7235dc63 286 break;
manzi 0:592f7235dc63 287 }
manzi 0:592f7235dc63 288 }
manzi 0:592f7235dc63 289
manzi 0:592f7235dc63 290 bebidas=0;
manzi 0:592f7235dc63 291 auxBL=0;
manzi 0:592f7235dc63 292 aux1=0;
manzi 0:592f7235dc63 293 aux2=0;
manzi 0:592f7235dc63 294 aux3=0;
manzi 0:592f7235dc63 295 aux4=0;
manzi 0:592f7235dc63 296 aux5=0;
manzi 0:592f7235dc63 297 aux6=0;
manzi 0:592f7235dc63 298 aux1Oz=0;
manzi 0:592f7235dc63 299 aux2Oz=0;
manzi 0:592f7235dc63 300 aux3Oz=0;
manzi 0:592f7235dc63 301 aux4Oz=0;
manzi 0:592f7235dc63 302 aux5Oz=0;
manzi 0:592f7235dc63 303 aux6Oz=0;
manzi 0:592f7235dc63 304
manzi 0:592f7235dc63 305
manzi 0:592f7235dc63 306
manzi 0:592f7235dc63 307 pc.printf("\n%s\n",customDrink1);
manzi 0:592f7235dc63 308 for(int auxxd=0; auxxd < 6; auxxd++)
manzi 0:592f7235dc63 309 pc.printf("%d ",onzasDrink1[auxxd]);
manzi 0:592f7235dc63 310 pc.printf("\n%s\n",customDrink2);
manzi 0:592f7235dc63 311 for(int auxxd=0; auxxd < 6; auxxd++)
manzi 0:592f7235dc63 312 pc.printf("%d ",onzasDrink2[auxxd]);
manzi 0:592f7235dc63 313 pc.printf("\n%s\n",customDrink3);
manzi 0:592f7235dc63 314 for(int auxxd=0; auxxd < 6; auxxd++)
manzi 0:592f7235dc63 315 pc.printf("%d ",onzasDrink3[auxxd]);
manzi 0:592f7235dc63 316 pc.printf("\n%s\n",customDrink4);
manzi 0:592f7235dc63 317 for(int auxxd=0; auxxd < 6; auxxd++)
manzi 0:592f7235dc63 318 pc.printf("%d ",onzasDrink4[auxxd]);
manzi 0:592f7235dc63 319 pc.printf("\n%s\n",customDrink5);
manzi 0:592f7235dc63 320 for(int auxxd=0; auxxd < 6; auxxd++)
manzi 0:592f7235dc63 321 pc.printf("%d ",onzasDrink5[auxxd]);
manzi 0:592f7235dc63 322 pc.printf("\n%s\n",customDrink6);
manzi 0:592f7235dc63 323 for(int auxxd=0; auxxd < 6; auxxd++)
manzi 0:592f7235dc63 324 pc.printf("%d ",onzasDrink6[auxxd]);
manzi 0:592f7235dc63 325
manzi 0:592f7235dc63 326 memset(datos,0,100);
manzi 0:592f7235dc63 327 memset(customDrink1,0,25);
manzi 0:592f7235dc63 328 memset(customDrink2,0,25);
manzi 0:592f7235dc63 329 memset(customDrink3,0,25);
manzi 0:592f7235dc63 330 memset(customDrink4,0,25);
manzi 0:592f7235dc63 331 memset(customDrink5,0,25);
manzi 0:592f7235dc63 332 memset(customDrink6,0,25);
manzi 0:592f7235dc63 333
manzi 0:592f7235dc63 334 ledred = 0;
manzi 0:592f7235dc63 335 ledgreen= 1;
manzi 0:592f7235dc63 336 ledblue=1;
manzi 0:592f7235dc63 337 }
manzi 0:592f7235dc63 338
manzi 0:592f7235dc63 339 datos[auxBL++] = charRecieve;
manzi 0:592f7235dc63 340
manzi 0:592f7235dc63 341 break;
manzi 0:592f7235dc63 342 }
manzi 0:592f7235dc63 343 //pc.printf("%s",datos);
manzi 0:592f7235dc63 344 }
manzi 0:592f7235dc63 345 }
manzi 0:592f7235dc63 346 }