dndnf
Revision 0:592f7235dc63, committed 2022-10-15
- Comitter:
- manzi
- Date:
- Sat Oct 15 18:20:42 2022 +0000
- Commit message:
- 15:20
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
| mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Sat Oct 15 18:20:42 2022 +0000
@@ -0,0 +1,346 @@
+#include "mbed.h"
+
+#define startData '$'
+#define endData '%'
+
+#define command_appGetDrink 'S'
+#define command_appCustomDrink 'E'
+
+
+// ANDA JOYA 22/9
+
+Serial pc(USBTX, USBRX);
+Serial bt(PTE22, PTE23);
+DigitalOut ledblue(PTD1);
+DigitalOut ledgreen(PTB19);
+DigitalOut ledred(PTB18);
+
+enum{
+ standby = 0,
+ command,
+ data,
+};
+
+int auxBL = 0;
+char datos[100],comando;
+char beb1[25] = " ", beb2[25] = " ", beb3[25] = " ", beb4[25] = " ", beb5[25] = " ", beb6[25] = " ";
+char customDrink1[25] = " " ,customDrink2[25]= " ",customDrink3[25]= " ",customDrink4[25]= " ",customDrink5[25]= " ",customDrink6[25]= " ";
+int onzasDrink1[6],onzasDrink2[6],onzasDrink3[6],onzasDrink4[6],onzasDrink5[6],onzasDrink6[6];
+
+char charRecieve = 0;
+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;
+
+
+
+int main(void)
+{
+ // Inicializaciones
+ pc.baud(9600);
+ bt.baud(9600);
+
+ ledred=1;
+ ledblue=0;
+ ledgreen=1;
+
+ pc.printf("Conectado a la PC \n");
+ memset(datos,0,100);
+ while(1)
+ {
+ if(bt.readable())
+ {
+ ledred = 0;
+ ledgreen= 1;
+ ledblue=1;
+ charRecieve = bt.getc();
+
+ switch(state){
+ case standby:
+ if(charRecieve == startData)
+ {
+ //pc.printf("Recibe $$\n");
+ state = command;
+ ledgreen=0;
+ ledblue=1;
+ ledred=1;
+ }
+ break;
+
+ case command:
+ comando = charRecieve;
+ pc.printf("\n%c\n",comando);
+ state = data;
+ break;
+ case data:
+ if(charRecieve == endData && (comando == command_appGetDrink)){
+ //pc.printf("Recibe %%\n");
+ pc.printf("%s\n",datos);
+ state = standby;
+ for(i=0; i < strlen(datos); i++){
+ switch (bebidas){
+ case 0:
+ if(datos[i] == '#'){
+ bebidas++;
+ break;
+ }
+ else{
+ if(datos[i] != '%') ///////////
+ beb1[aux1++] = datos[i];
+ }
+ break;
+ case 1:
+ if(datos[i] == '#'){
+ bebidas++;
+ break;
+ }
+ else{
+ beb2[aux2++] = datos[i];
+ }
+ break;
+ case 2:
+ if(datos[i] == '#'){
+ bebidas++;
+ break;
+ }
+ else{
+ beb3[aux3++] = datos[i];
+ }
+ break;
+ case 3:
+ if(datos[i] == '#'){
+ bebidas++;
+ break;
+ }
+ else{
+ beb4[aux4++] = datos[i];
+ }
+ break;
+ case 4:
+ if(datos[i] == '#'){
+ bebidas++;
+ break;
+ }
+ else{
+ beb5[aux5++] = datos[i];
+ }
+ break;
+ case 5:
+ if(datos[i] == '%'){
+ bebidas=0;
+ state = standby;
+ break;
+ }
+ else{
+ beb6[aux6++] = datos[i];
+ }
+ break;
+ }
+
+ }
+
+ bebidas=0;
+ auxBL=0;
+ aux1=0;
+ aux2=0;
+ aux3=0;
+ aux4=0;
+ aux5=0;
+ aux6=0;
+
+
+ pc.printf("%s\n",beb1);
+ pc.printf("%s\n",beb2);
+ pc.printf("%s\n",beb3);
+ pc.printf("%s\n",beb4);
+ pc.printf("%s\n",beb5);
+ pc.printf("%s\n",beb6);
+
+ memset(datos,0,100);
+ memset(beb1,0,25);
+ memset(beb2,0,25);
+ memset(beb3,0,25);
+ memset(beb4,0,25);
+ memset(beb5,0,25);
+ memset(beb6,0,25);
+
+ ledred = 0;
+ ledgreen= 1;
+ ledblue=1;
+ }
+
+ if(charRecieve == endData && (comando == command_appCustomDrink)){
+ //pc.printf("Recibe %%\n");
+ pc.printf("%s\n",datos);
+ state = standby;
+
+ for(i=0; i < strlen(datos); i++){
+ switch (bebidas){
+ case 0:
+ if(datos[i] == '|'){
+ bebidas++;
+ break;
+ }
+ else{
+ if(datos[i] != '%') ///////////
+ customDrink1[aux1++] = datos[i];
+ }
+ break;
+ case 1:
+ if(datos[i] == '#'){
+ bebidas++;
+ break;
+ }
+ else{
+ onzasDrink1[aux1Oz++] = datos[i]-48;
+ }
+ break;
+ case 2:
+ if(datos[i] == '|'){
+ bebidas++;
+ break;
+ }
+ else{
+ customDrink2[aux2++] = datos[i];
+ }
+ break;
+ case 3:
+ if(datos[i] == '#'){
+ bebidas++;
+ break;
+ }
+ else{
+ onzasDrink2[aux2Oz++] = datos[i]-48;
+ }
+ break;
+ case 4:
+ if(datos[i] == '|'){
+ bebidas++;
+ break;
+ }
+ else{
+ customDrink3[aux3++] = datos[i];
+ }
+ break;
+ case 5:
+ if(datos[i] == '#'){
+ bebidas++;
+ break;
+ }
+ else{
+ onzasDrink3[aux3Oz++] = datos[i]-48;
+ }
+ break;
+ case 6:
+ if(datos[i] == '|'){
+ bebidas++;
+ break;
+ }
+ else{
+ customDrink4[aux4++] = datos[i];
+ }
+ break;
+ case 7:
+ if(datos[i] == '#'){
+ bebidas++;
+ break;
+ }
+ else{
+ onzasDrink4[aux4Oz++] = datos[i]-48;
+ }
+ break;
+ case 8:
+ if(datos[i] == '|'){
+ bebidas++;
+ break;
+ }
+ else{
+ customDrink5[aux5++] = datos[i];
+ }
+ break;
+ case 9:
+ if(datos[i] == '#'){
+ bebidas++;
+ break;
+ }
+ else{
+ onzasDrink5[aux5Oz++] = datos[i]-48;
+ }
+ break;
+ case 10:
+ if(datos[i] == '|'){
+ bebidas++;
+ break;
+ }
+ else{
+ customDrink6[aux6++] = datos[i];
+ }
+ break;
+ case 11:
+ if(datos[i] == '%'){
+ bebidas=0;
+ state = standby;
+ break;
+ }
+ else{
+ onzasDrink6[aux6Oz++] = datos[i]-48;
+ }
+ break;
+ }
+ }
+
+ bebidas=0;
+ auxBL=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;
+
+
+
+ pc.printf("\n%s\n",customDrink1);
+ for(int auxxd=0; auxxd < 6; auxxd++)
+ pc.printf("%d ",onzasDrink1[auxxd]);
+ pc.printf("\n%s\n",customDrink2);
+ for(int auxxd=0; auxxd < 6; auxxd++)
+ pc.printf("%d ",onzasDrink2[auxxd]);
+ pc.printf("\n%s\n",customDrink3);
+ for(int auxxd=0; auxxd < 6; auxxd++)
+ pc.printf("%d ",onzasDrink3[auxxd]);
+ pc.printf("\n%s\n",customDrink4);
+ for(int auxxd=0; auxxd < 6; auxxd++)
+ pc.printf("%d ",onzasDrink4[auxxd]);
+ pc.printf("\n%s\n",customDrink5);
+ for(int auxxd=0; auxxd < 6; auxxd++)
+ pc.printf("%d ",onzasDrink5[auxxd]);
+ pc.printf("\n%s\n",customDrink6);
+ for(int auxxd=0; auxxd < 6; auxxd++)
+ pc.printf("%d ",onzasDrink6[auxxd]);
+
+ memset(datos,0,100);
+ memset(customDrink1,0,25);
+ memset(customDrink2,0,25);
+ memset(customDrink3,0,25);
+ memset(customDrink4,0,25);
+ memset(customDrink5,0,25);
+ memset(customDrink6,0,25);
+
+ ledred = 0;
+ ledgreen= 1;
+ ledblue=1;
+ }
+
+ datos[auxBL++] = charRecieve;
+
+ break;
+ }
+ //pc.printf("%s",datos);
+ }
+ }
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sat Oct 15 18:20:42 2022 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file