AVANCE PICCOLO CORTE 1

Dependencies:   mbed

Files at this revision

API Documentation at this revision

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;