Six crescent shaped legs

Dependencies:   mbed

EncoderMotor.hpp

Committer:
sim642
Date:
2016-04-12
Revision:
13:dc5f5f19e4e8
Parent:
12:8de7f5d56fe4
Child:
16:4161d7af6b5a

File content as of revision 13:dc5f5f19e4e8:

#ifndef ENCODER_MOTOR_H
#define ENCODER_MOTOR_H

#include "Motor.hpp"
#include "SpeedEncoder.hpp"
#include "LerpSmoother.hpp"
#include "PIDController.hpp"

class EncoderMotor : public Motor
{
public:
    EncoderMotor(MotorData nData, EncoderData encData, PIDData speedPIDData, PIDData turnPIDData);
    void setup();
    
    virtual void drive(float power);
    void rotate(float rot);
    
//private:
    void tick();

    SpeedEncoder encoder;
    LerpSmoother speedSmoother;
    
    Ticker ticker;
    float setPower;
    PIDController speedPID;
    
    float out;
    
    float setRot;
    PIDController turnPID;
};

#endif // ENCODER_MOTOR_H