final nnnn

Dependencies:   mbed

Este proyecto es un Piccolo en el cual se envía comandos para la realización de un dibujo en especifico. El programa va a controlar servos y motores paso a paso teniendo libertad de movimiento en los ejes X,Y,Z; En el programa se utiliza Comunicacion Serial (TX,RX) y para leer el dato fue necesario concatenarlo debido a que recibe 8 Bits pero tenemos que recibir 4 paquetes de 8 Bits para llegar a 32 Bits y poder asi leerlo.

Se estan implementando algunas librerias para su ejecucion como la #include "memory.h" que es de memoria, #include memory_array_h, tambien definimos la memoria #define mm_size 10 de tipo Type Uint32_t, la libreria de operaciones #include "math.h" y la libreria para los motores #include "stepmotor.h".

Para su ejecucion se crearon variables de ejecucion:

CM_DRAWING 0XFF: Se ejecuta siempre y cuando exista datos validos para leer de memoria y nos muestra por medio de un mensaje que se esta ejecutando el dibujo

CM_SAVING 0XFE: Inicia el comando de guardar

CM_VERTEX2D 0XFD: Se encarga de dar las coordenadas a los servomotores en X,Y.

CM_DRAW 0XFC: Se encarga de mover nuestro motor en Z

CM_NODRAW 0XFB: Su funcion es volver a la posicion inicial el motor en el eje Z

CM_MOTOR 0XF9: Se encarga de mover los motores paso a paso para llegar a la ubicacion asignada ingresando el Numero de cuadrantes y su sentido de giro.

Files at this revision

API Documentation at this revision

Comitter:
ANTONIO_VARGAS
Date:
Thu Apr 26 01:48:40 2018 +0000
Parent:
1:6ed951d975cc
Commit message:
explicacion programa piccolo

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 6ed951d975cc -r 14fcd29abee0 main.cpp
--- a/main.cpp	Fri Apr 20 00:56:27 2018 +0000
+++ b/main.cpp	Thu Apr 26 01:48:40 2018 +0000
@@ -14,13 +14,14 @@
     draw();
     nodraw();
     home();
-    debug_m("inicio \n");
-    uint32_t read_cc;
+    debug_m("inicio \n");// inicia 
+    uint32_t read_cc;    //lee puerto serial lo que va a transmitir o recibir
+    
     while(1)
     {
         read_cc=read_command();
         switch (read_cc) {
-            case  CM_DRAWING: drawing(); break;
+            case  CM_DRAWING: drawing(); break; 
             case  CM_SAVING: saving(); break;
             default: debug_m("error de comando. \nSe espera  0xFEF0 o 0xFFF0 \n");break ;      
         }
@@ -39,7 +40,9 @@
    // para el caso del comando vertex2d se espera  recibir 3 bytes, 1 del comando 
    // y dos bytes para x y y, se retorna la concatenación de los tres bytes  siempre y
    // cuando el cuarto byte sea CM_END de lo contrario retorna un cero 
-   
+   //Se tienen 2 estados
+   //uno espera datos y el otro ejecuta apenas recibe el puerto serial un comando
+      
     uint32_t val=0;
     uint8_t  cnt=0;