Six crescent shaped legs

Dependencies:   mbed

main.cpp

Committer:
sim642
Date:
2016-03-29
Revision:
7:8dcdb39efc0e
Parent:
6:9f9047ca4a89
Child:
8:c3af2a1c206c

File content as of revision 7:8dcdb39efc0e:

#include "mbed.h"
#include "EncoderMotor.hpp"
#include "PIDController.hpp"
#include "LerpSmoother.hpp"

InterruptIn bt(USER_BUTTON);
Serial pc(USBTX, USBRX);

SpeedEncoder e(PA_0, PA_1);
LerpSmoother speedSmoother(0.3f);
//PIDController ec(0.2, 0.1, 0.01);
PIDController ec(0.3, 2.0, 0.02);
//PIDController ec(0.75, 2.0, 0.015);
//PIDController ec(0.8, 1.5, 0.017);
PIDController ecRot(5.0, 0.1, 0.04);
EncoderMotor m(PB_0, PC_1, PC_0, e, speedSmoother, ec, ecRot);
//Motor m(PB_0, PC_1, PC_0);

void rise()
{
    pc.printf("rise\n");
    m.drive(0);
}

void fall()
{
    pc.printf("fall\n");
    m.drive(0.5);
}

int main()
{   
    bt.rise(&rise);
    bt.fall(&fall);
    
    m.setup();
    
    float rot;
    
    while(1)
    {
        //pc.printf("%d %f %f\n", e.getCount(), m.speed, m.out);
        //wait(0.1);
        //pc.scanf("%f %f %f", &ec.Kp, &ec.Ki, &ec.Kd);
        //pc.scanf("%f %f %f %f", &ecRot.Kp, &ecRot.Ki, &ecRot.Kd, &rot);
        pc.scanf("%f", &rot);
        m.rotate(rot);
    }
}