Six crescent shaped legs

Dependencies:   mbed

SpeedEncoder.cpp

Committer:
sim642
Date:
2016-06-21
Revision:
47:4f418a4b0051
Parent:
37:8021b3ce241a

File content as of revision 47:4f418a4b0051:

#include "SpeedEncoder.hpp"

SpeedEncoder::SpeedEncoder(EncoderData nData) :
    Encoder(nData), prevCount(0)
{
    timer.start();
}

void SpeedEncoder::reset()
{
    Encoder::reset();
    prevCount = 0; // TODO: calculate shift
}

float SpeedEncoder::getCountSpeed()
{
    long count = getCount();
    long dCount = count - prevCount;
    
    float speed = dCount / timer.read();
    timer.reset(); // timer keeps running
    
    prevCount = count;
    return speed;
}

float SpeedEncoder::getTurnSpeed()
{
    return getCountSpeed() / data.turnCount;
}