Controller for Seagoat in the RoboSub competition

Dependencies:   Servo mbed

Fork of ESC by Matteo Terruzzi

esc.cpp

Committer:
MatteoT
Date:
2013-07-19
Revision:
0:116260c66d88
Child:
1:735702ea5519

File content as of revision 0:116260c66d88:

#include "mbed.h"
#include "esc.h"

ESC::ESC(const PinName pwmPinOut, const int period)
        : esc(pwmPinOut), period(period), throttle(1000)
{
    esc.period_ms(period);
    esc.pulsewidth_us(throttle);
}

inline bool ESC::setThrottle (const float t)
{
    if (t >= 0.0 && t <= 1.0) {       // qualify range, 0-1
        throttle = 1000.0*t + 1000;     // map to range, 1-2 ms (1000-2000us)
        return true;
    }
    return false;
}
inline bool ESC::operator= (const float t){
    return this->setThrottle(t);
}

inline float ESC::getThrottle () const{
    return throttle;
}
inline ESC::operator float () const{
    return this->getThrottle();
}

inline void ESC::pulse ()
{
    esc.pulsewidth_us(throttle);
}
inline void ESC::operator() ()
{
    this->pulse();
}