Camilo Ramirez
/
ENTREGA1
AVANCE PICCOLO CORTE 1
Revision 3:c3d197a71ecd, committed 2018-03-17
- Comitter:
- Camilokingxd
- Date:
- Sat Mar 17 05:44:19 2018 +0000
- Parent:
- 2:274426ac7654
- Commit message:
- PROGRAMA FINAL
Changed in this revision
def.h | Show annotated file Show diff for this revision Revisions of this file |
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/def.h Fri Mar 16 04:54:34 2018 +0000 +++ b/def.h Sat Mar 17 05:44:19 2018 +0000 @@ -1,11 +1,10 @@ -#define MEM_SIZE 5000 -#define MEM_TYPE uint32_t -#define SERVO_X_H -#define MINPULSE 560 -#define MAXPULSE 2400 -#define MAXPOS 50 -#define DRAW 50 -#define NODRAW 0 +#define MEM_SIZE 5000 //TAMAÑO DE LA MEMORIA +#define MEM_TYPE uint32_t //MAYOR LINEA DE CODIGO VA A SER DE 32 BITS (PARA EL VERTEX ( FD 50 50 F0 ) +#define MINPULSE 560 //PULSO PARA 0 GRADOS ( 0 mm ) +#define MAXPULSE 2400 //PULSO PARA 180 GRADOS ( 50 mm ) +#define MAXPOS 50 // EN mm +#define DRAW 0 +#define NODRAW 50 #define CM_EJECUTAR 0Xff #define CM_GUARDAR 0Xfe #define CM_SERVO 0Xfd
--- a/main.cpp Fri Mar 16 04:54:34 2018 +0000 +++ b/main.cpp Sat Mar 17 05:44:19 2018 +0000 @@ -9,47 +9,51 @@ PwmOut mypwmY(PB_5); PwmOut mypwmZ(PB_3); -uint32_t mem_head = 0; -uint32_t mem_tail = 0; +uint32_t mem_head = 0; +uint32_t mem_tail = 0; uint32_t full=0; -MEM_TYPE buffer[MEM_SIZE]; +MEM_TYPE buffer[MEM_SIZE]; -void mem_free() +void mem_free() { mem_head=0; full=0; mem_tail=0; } -uint32_t mem_put(MEM_TYPE data) +uint32_t mem_put(MEM_TYPE data) // { - if(full){ - return 1; + if(full) + { + return 1; // + } + buffer [mem_head]=data; + mem_head+=1; + if(mem_head==MEM_SIZE) + { + full=1; } - buffer [mem_head]=data; - mem_head+=1; - if(mem_head==MEM_SIZE) - full=1; + return 0; +} + +uint32_t mem_get(MEM_TYPE* data) +{ + if(mem_head == 0) + return 1; + if (mem_head == mem_tail) + return 1; + + *data=buffer[mem_tail]; + mem_tail +=1; + return 0; } -uint32_t mem_get(MEM_TYPE* data) -{ - if(mem_head == 0) - return 1; - if (mem_head == mem_tail) - return 1; - - *data=buffer[mem_tail]; - mem_tail +=1; - - return 0; -} void Vertex2D(uint8_t,uint8_t); void SetZ(uint8_t); uint8_t x,y,z; -int mm2pulse(float vmm); +int mm2pulse(float vmm); void program_serial(); void ejecutar(); int guardar(); @@ -59,23 +63,21 @@ mypwmX.period_ms(20); mypwmY.period_ms(20); mypwmZ.period_ms(20); - mypwmX.pulsewidth_us(MAXPULSE); - mypwmY.pulsewidth_us(MAXPULSE); - mypwmZ.pulsewidth_us(NODRAW); program_serial(); uint8_t letra,subletra; Vertex2D(0,0); SetZ(NODRAW); myled = 1; wait(2); - while(1) { + while(1) + { pc.printf("ingrese comando \n"); - letra=pc.getc(); + letra=pc.getc(); subletra=pc.getc(); if(subletra==CM_STOP) { - switch(letra) - { + switch(letra) + { case CM_EJECUTAR: if(mem_head!=mem_tail) { @@ -96,7 +98,7 @@ } break; default: pc.printf("error de comando \n");break ; - } + } } else { @@ -134,15 +136,15 @@ { program_serial(); pc.printf("el programa se esta ejecutando \n"); - uint8_t a=0,b=0,c=0,d=0; - uint32_t l,l1,l2,l3; - MEM_TYPE val; + uint8_t a=0,b=0,c=0,d=0; + uint32_t l,l1,l2,l3; + MEM_TYPE val; // - mem_get(&val); - l1=(val&0xff00)>>8; - l2=(val&0xff0000)>>16; - l3=(val&0xff000000)>>24; - l=val&0xff; + mem_get(&val); + l1=(val&0xff00)>>8; + l2=(val&0xff0000)>>16; + l3=(val&0xff000000)>>24; + l=val&0xff; while(c!=CM_END) { a=l3; @@ -166,20 +168,20 @@ SetZ(NODRAW); } mem_get(&val); - l1=(val&0xff00)>>8; + l1=(val&0xff00)>>8; l2=(val&0xff0000)>>16; l3=(val&0xff000000)>>24; l=val&0xff; wait(1); } pc.printf("el programa se termino de ejecutar \n"); - mem_tail=0; + mem_tail=0; } int guardar() { mem_free(); - uint32_t l=0; - uint8_t sl; + uint32_t l=0; + uint8_t sl; program_serial(); pc.printf("ingrese sus comandos y coordenadas \n"); sl=pc.getc(); @@ -189,7 +191,7 @@ switch(sl) { case CM_SERVO: - l=l+sl<<8; + l=l+sl<<8; sl=pc.getc(); l=l+sl; pc.putc(l); @@ -199,14 +201,14 @@ pc.putc(l); l=l<<8; sl=pc.getc(); - if(sl!=CM_STOP) + if(sl!=CM_STOP) { pc.printf("comando End no definido \n"); return 1; } l=l+sl; pc.putc(l); - mem_put(l); + mem_put(l); break; case CM_SDRAW: l=l+sl<<8;