Nicolás Camilo Guerrero Otálora
/
Picolo_1_dibuja
codigo incompleto picolo
Diff: main.cpp
- Revision:
- 1:57436dbe2bf7
- Parent:
- 0:d1c031b9a2c7
diff -r d1c031b9a2c7 -r 57436dbe2bf7 main.cpp --- a/main.cpp Tue Mar 13 22:58:02 2018 +0000 +++ b/main.cpp Wed Mar 14 02:53:04 2018 +0000 @@ -1,10 +1,17 @@ #include "mbed.h" #define MEM_SIZE 5000 -#define MEM_TYPE uint8_t +#define MEM_TYPE uint32_t #define MAXPOS 50 // en milimetros #define SS_TIME 100 // en microsegundos #define POSDRAW 10 #define periodo 20 +#define CM_EJECUTAR 0xff +#define CM_GUARDAR 0xfe +#define CM_VERTEX2D 0xfd +#define CM_DRAW 0xfc +#define CM_NODRAW 0xfb +#define CM_STOP 0xfa +#define CM_END 0xf0 MEM_TYPE arreglo2[MEM_SIZE]; Serial pc(USBTX, USBRX); @@ -13,16 +20,43 @@ int mem_tail = 0; uint8_t full = 0; char b; +MEM_TYPE comando,px,py,condicionf; -void comando(); int coord2us(float coord); void draw(); void nodraw(); void vertex2d(float x, float y); - - +/////////////////////////////////////////////////////// +void ejecutar(){ + pc.printf("se esta ejecutando el dibujo..."); + for(i=0;i<mem_head-1;i++) + { + if (arreglo2[i]==CM_VERTEX2D)//FD F0 + { + i++; + px=arreglo2[i] + + } + } + +} +///////////////////////////////////////////////////////////// +void guardar(){ + pc.printf("se inicia el comado de guardar.."); + mem_head=0; + do + { + pc.printf("entro while llenar\n\r"); + arreglo2[mem_head]=pc.getc(); + b=arreglo2[mem_head]; + //pc.printf("posicion %i %c",mem_head,arreglo2[mem_head]); + mem_head++; + } + while(b!=CM_STOP); + + } int main() { // configuracion de periodo @@ -34,10 +68,15 @@ motor_z.pulsewidth_us(725); int posx=0; int posy=0; - pc.attach(&comando); - while(1) + char caracter; + while(1) { - + caracter=pc.getc(); + switch (caracter) { + case CM_EJECUTAR: ejecutar(); break; + case CM_GUARDAR: guardar(); break; + default: pc.printf("error de comando\r\n");break ; + } } } @@ -70,30 +109,3 @@ wait_ms(SS_TIME); } -void comando () -{ - //MEM_TYPE caracter; - MEM_TYPE arreglo[4]; - MEM_TYPE caracter; - for (i=0;i<=3;i++) - { - arreglo[i]=pc.getc(); - } - caracter=arreglo[0]&&arreglo[1]&&arreglo[2]&&arreglo[3]; - switch (caracter) - { - case 'F' && 'E' && 'F' && '0' : - pc.printf("entro en ff\n\r"); - //b=pc.getc(); - while(b==!'A') - { - pc.printf("entro while llenar\n\r"); - arreglo2[mem_head]=pc.getc(); - b=arreglo2[mem_head]; - pc.printf("posicion 1 %f",arreglo2[mem_head]); - mem_head++; - } - break; - } - -}