codigo incompleto picolo

Dependencies:   mbed

main.cpp

Committer:
nicolas_guerrero
Date:
2018-03-13
Revision:
0:d1c031b9a2c7
Child:
1:57436dbe2bf7

File content as of revision 0:d1c031b9a2c7:

#include "mbed.h"
#define MEM_SIZE 5000
#define MEM_TYPE uint8_t
#define MAXPOS 50       // en milimetros
#define SS_TIME 100     // en microsegundos
#define POSDRAW 10   
#define periodo 20

MEM_TYPE arreglo2[MEM_SIZE];
Serial pc(USBTX, USBRX); 
PwmOut motor_x(A3), motor_y(A1), motor_z(A0);
int mem_head = 0,i;
int mem_tail = 0;
uint8_t full = 0;
char b;


void comando();

int coord2us(float coord);
void draw();
void nodraw();
void vertex2d(float x, float y);
 
 
 
int main() {
     // configuracion de  periodo
    motor_x.period_ms(periodo);
    motor_y.period_ms(periodo);
    motor_z.period_ms(periodo);
    motor_x.pulsewidth_us(725);
    motor_y.pulsewidth_us(725);
    motor_z.pulsewidth_us(725);
    int posx=0;
    int posy=0;
    pc.attach(&comando);
    while(1) 
    {
       
    }
}


int coord2us(float coord)
{
    if(0 <= coord <= MAXPOS)
        return int(750+coord*1900/50);// u6
    return 750;
 
}
 
void draw()
{
motor_z.pulsewidth_us(POSDRAW);
wait(1);
}
void nodraw()
{
motor_z.pulsewidth_us(MAXPOS);
wait(1);
}
void vertex2d(float x, float y){
 
    int pulseX = coord2us(x);
    int pulseY = coord2us(y);
    
    motor_x.pulsewidth_us(pulseX);
    motor_y.pulsewidth_us(pulseY);
    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;
    }
    
}