Six crescent shaped legs

Dependencies:   mbed

Committer:
sim642
Date:
Tue Jun 21 14:43:44 2016 +0000
Revision:
47:4f418a4b0051
Parent:
37:8021b3ce241a
Byte based communication

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sim642 6:9f9047ca4a89 1 #include "SpeedEncoder.hpp"
sim642 6:9f9047ca4a89 2
sim642 12:8de7f5d56fe4 3 SpeedEncoder::SpeedEncoder(EncoderData nData) :
sim642 24:fb1827be6f7e 4 Encoder(nData), prevCount(0)
sim642 6:9f9047ca4a89 5 {
sim642 6:9f9047ca4a89 6 timer.start();
sim642 6:9f9047ca4a89 7 }
sim642 6:9f9047ca4a89 8
sim642 37:8021b3ce241a 9 void SpeedEncoder::reset()
sim642 37:8021b3ce241a 10 {
sim642 37:8021b3ce241a 11 Encoder::reset();
sim642 37:8021b3ce241a 12 prevCount = 0; // TODO: calculate shift
sim642 37:8021b3ce241a 13 }
sim642 37:8021b3ce241a 14
sim642 14:4143ddddef1b 15 float SpeedEncoder::getCountSpeed()
sim642 6:9f9047ca4a89 16 {
sim642 6:9f9047ca4a89 17 long count = getCount();
sim642 6:9f9047ca4a89 18 long dCount = count - prevCount;
sim642 14:4143ddddef1b 19
sim642 14:4143ddddef1b 20 float speed = dCount / timer.read();
sim642 6:9f9047ca4a89 21 timer.reset(); // timer keeps running
sim642 6:9f9047ca4a89 22
sim642 6:9f9047ca4a89 23 prevCount = count;
sim642 6:9f9047ca4a89 24 return speed;
sim642 14:4143ddddef1b 25 }
sim642 14:4143ddddef1b 26
sim642 14:4143ddddef1b 27 float SpeedEncoder::getTurnSpeed()
sim642 14:4143ddddef1b 28 {
sim642 14:4143ddddef1b 29 return getCountSpeed() / data.turnCount;
sim642 6:9f9047ca4a89 30 }