Six crescent shaped legs

Dependencies:   mbed

Committer:
sim642
Date:
Tue Mar 29 15:40:15 2016 +0000
Revision:
6:9f9047ca4a89
Parent:
5:7f800f61cb13
Child:
7:8dcdb39efc0e
Create SpeedEncoder

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sim642 3:2235787e78c4 1 #include "EncoderMotor.hpp"
sim642 3:2235787e78c4 2
sim642 4:4d54794b99a5 3 const float tickTime = 1.f / 60;
sim642 4:4d54794b99a5 4
sim642 6:9f9047ca4a89 5 EncoderMotor::EncoderMotor(PinName pwmPin, PinName dir1Pin, PinName dir2Pin, SpeedEncoder &nEncoder, ErrorController &nEc, ErrorController &nEcRot) : Motor(pwmPin, dir1Pin, dir2Pin), encoder(nEncoder), ec(nEc), setPower(0), prevSpeed(0), ecRot(nEcRot), setRot(0)
sim642 3:2235787e78c4 6 {
sim642 3:2235787e78c4 7
sim642 3:2235787e78c4 8 }
sim642 3:2235787e78c4 9
sim642 3:2235787e78c4 10 void EncoderMotor::setup()
sim642 3:2235787e78c4 11 {
sim642 4:4d54794b99a5 12 ticker.attach(this, &EncoderMotor::tick, tickTime);
sim642 3:2235787e78c4 13 }
sim642 3:2235787e78c4 14
sim642 3:2235787e78c4 15 void EncoderMotor::drive(float power)
sim642 3:2235787e78c4 16 {
sim642 3:2235787e78c4 17 setPower = power;
sim642 3:2235787e78c4 18 //Motor::drive(power);
sim642 3:2235787e78c4 19 }
sim642 3:2235787e78c4 20
sim642 5:7f800f61cb13 21 void EncoderMotor::rotate(float rot)
sim642 5:7f800f61cb13 22 {
sim642 5:7f800f61cb13 23 setRot += rot;
sim642 5:7f800f61cb13 24 }
sim642 5:7f800f61cb13 25
sim642 3:2235787e78c4 26 void EncoderMotor::tick()
sim642 3:2235787e78c4 27 {
sim642 3:2235787e78c4 28 long count = encoder.getCount();
sim642 3:2235787e78c4 29
sim642 5:7f800f61cb13 30 float errorRot = setRot - count / 600.f;
sim642 5:7f800f61cb13 31 drive(ecRot.step(errorRot));
sim642 5:7f800f61cb13 32
sim642 6:9f9047ca4a89 33 speed = 0.7f * prevSpeed + 0.3f * encoder.getSpeed();
sim642 4:4d54794b99a5 34 float error = setPower - speed;
sim642 4:4d54794b99a5 35 out = ec.step(error);
sim642 3:2235787e78c4 36 Motor::drive(out);
sim642 3:2235787e78c4 37
sim642 4:4d54794b99a5 38 prevSpeed = speed;
sim642 3:2235787e78c4 39 }