Robosub controller

Dependencies:   IMU MODSERIAL Servo mbed

Fork of RTOS_Controller by Marco Rubio

Revision:
0:116260c66d88
Child:
1:735702ea5519
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/esc.cpp	Fri Jul 19 03:11:05 2013 +0000
@@ -0,0 +1,37 @@
+#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();
+}
\ No newline at end of file