Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: IMU MODSERIAL Servo mbed
Fork of RTOS_Controller_v2 by
Diff: esc.cpp
- 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
