Six crescent shaped legs

Dependencies:   mbed

main.cpp

Committer:
sim642
Date:
2016-04-19
Revision:
23:d844cc906b66
Parent:
22:bfc79c6ea2fd
Child:
24:fb1827be6f7e

File content as of revision 23:d844cc906b66:

#include "mbed.h"
#include "EncoderMotor.hpp"
#include "SyncGroup.hpp"

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

//PIDData speedPIDData = {0.3f, 2.0f, 0.02f};
//PIDData turnPIDData = {5.0f, 0.1f, 0.04f};
PIDData speedPIDData = {0.5f, 0.0f, 0.0f};
PIDData turnPIDData = {5.0f, 0.1f, 0.04f};
SyncGroup sync;

MotorData mData = {PB_0, PC_0, PC_1};
//EncoderData encData = {PA_0, PA_1, 100 * 64};
EncoderData encData = {PA_0, PA_1, 102.083 * 64}; // https://www.pololu.com/product/2826

EncoderMotor m(mData, encData, speedPIDData, turnPIDData, NULL);

//SpeedEncoder s(encData);

//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(mData, encData, 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.25);
}

int main()
{   
    bt.rise(&rise);
    bt.fall(&fall);
    
    m.setup();
    
    float speed;
    while(1)
    {
        //scanf("%f", &turn);
        //m.rotate(turn, 0.2);
        //scanf("%f", &speed);
        //m.drive(speed);
        //printf("%f %f\n", s.getTurnSpeed(), m.getSetSpeed());
        //printf("%f %f\n", m.s, m.getSetSpeed());
        
        //printf("%ld %f\n", m.getEncoder().getCount(), m.getEncoder().getTurn());
        m.tick();
        //printf("%f %f\n", m.getEncoder().getTurn(), m.getSetTurn());
        wait(1.f / 60);
    }
}