stepper xively

Dependencies:   C12832 mbed

main.cpp

Committer:
oscarvzfz
Date:
2015-05-29
Revision:
0:d6210f375481

File content as of revision 0:d6210f375481:

#include "mbed.h"
#include "C12832.h"
//Definicion de interfaz
C12832 lcd(p5, p7, p6, p8, p11);
//Definicion del joy
DigitalIn up(p15);
DigitalIn down(p12);
DigitalIn le(p13);
DigitalIn ri(p16);
DigitalIn center(p14);
//Led Status
DigitalOut smenu(p25);
DigitalOut soper(p24);
DigitalOut sfin(p23);
//Timer de operacion
Timer tt;
//Pines de stepper ,tiempo entre pulso y contador
BusOut step(p17,p18,p19,p20);
float t=0.03;
int i=0;
int n=0;
//Definicion para rangos de ejecicio y contador de seleccion
int contr=0;
//Definicion de tiempo de rehabilitacion
int tre=0;
int trem=0;

void f()
    {
     step=1;
     wait(t); 
     step=5;
     wait(t);
     step=4;
     wait(t);
     step=6;
     wait(t);
     step=2;
     wait(t);
     step=10;
     wait(t);
     step=8;
     wait(t);
     step=9;
     wait(t); 
     }
     
void r()
    {
     step=9;
     wait(t); 
     step=8;
     wait(t);
     step=10;
     wait(t);
     step=2;
     wait(t);
     step=6;
     wait(t);
     step=4;
     wait(t);
     step=5;
     wait(t);
     step=1;
     wait(t); 
     }
     
     
int main() 
{ 
    
    while(1)
    {
    smenu=0;
    soper=1;
    sfin=1;
    
    lcd.cls();
    lcd.locate(0,1);
    lcd.printf("M. Pasivo de Manos\n");

    if(contr==0){lcd.printf("Rango: Bajo\n");}
    if(contr==1){lcd.printf("Rango: Medio\n");}
    if(contr==2){lcd.printf("Rango: Alto\n");}
    if(ri==1){contr++;}
    if(le==1){contr--;}
    if(contr>2){contr=0;}
    if(contr<0){contr=2;}
    
    lcd.printf("Tiempo: %i min",trem);
    if(up==1){tre=tre+60;trem++;}
    if(down==1){tre=tre-60;trem--;}
    if(tre>1200){tre=0;trem=0;}
    if(tre<0){tre=1200;trem=20;} 
    if(center==1){break;}
    wait(.1);
    }
    tt.start();
    if(contr==0){n=30;}
    if(contr==1){n=50;}
    if(contr==2){n=80;}
    smenu=1;
    soper=0;
    sfin=1;
    while(tt.read()<tre)
    {

    while(i<n) 
    {
     r();
     i++;
    }
    i=0;
    while(i<n) 
    {
     f();
     i++;
    }
    i=0;
    }
    smenu=1;
    soper=1;
    sfin=0;
}