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.
Fork of ESC by
ESC Class Reference
ESC class used to controll standard Electronic Speed Controllers for brushless motors of RC models. More...
#include <esc.h>
Public Member Functions | |
| ESC (const PinName pwmPinOut, const int period=20) | |
| Initializes the PwmOut for minimum throttle (1000us). | |
| bool | setThrottle (const float t) |
| Sets the throttle value without output (see pulse()). | |
| bool | operator= (const float t) |
| Alias of setThrottle(float) | |
| float | getThrottle () const |
| Get the last setted throttle value. | |
| operator float () const | |
| Alias of getThrottle() | |
| void | pulse () |
| Output the throttle value to the ESC. | |
| void | operator() () |
| Alias of pulse() | |
Detailed Description
ESC class used to controll standard Electronic Speed Controllers for brushless motors of RC models.
Simple usage example:
#include "mbed.h" #include "esc.h" //include the ESC class int main() { ESC esc1(p26); //declare the ESC as connected to pin p26. float throttle_var = 0.5 //that means 50%. while(1) { //... update throttle_var ... esc1 = throttle_var; //memorize the throttle value (it doesn't send it to the ESC). //... do whatever you want - e.g. call esc1.setThrottle(throttle_var) again ... esc1(); //actually sets the throttle to the ESC. wait_ms(20); //20ms is the default period of the ESC pwm; the ESC may not run faster. } }
Another example:
#include "mbed.h" #include "esc.h" ESC esc1(PTD4); ESC esc2(PTA12); ESC esc3(PTA4); ESC esc4(PTA5); Serial pc(USBTX, USBRX); // tx, rx int main() { char c; int var = 0; while(1) { c = pc.getc(); if (c == 'u') { if (var < 100) { var++; } if (esc1.setThrottle(var) && esc2.setThrottle(var) && esc3.setThrottle(var) && esc4.setThrottle(var)) { printf("%i\r\n", var); } } else if (c == 'd') { if (var > 0) { var--; } if (esc1.setThrottle(var) && esc2.setThrottle(var) && esc3.setThrottle(var) && esc4.setThrottle(var)) { printf("%i\r\n", var); } } else if (c == 'r') { var = 0; if (esc1.setThrottle(var) && esc2.setThrottle(var) && esc3.setThrottle(var) && esc4.setThrottle(var)) { printf("%i\r\n", var); } } esc1.pulse(); esc2.pulse(); esc3.pulse(); esc4.pulse(); wait_ms(20); // 20ms is the default period of the ESC pwm } }
Definition at line 87 of file esc.h.
Constructor & Destructor Documentation
| ESC | ( | const PinName | pwmPinOut, |
| const int | period = 20 |
||
| ) |
Member Function Documentation
| float getThrottle | ( | ) | const |
| operator float | ( | ) | const |
Alias of getThrottle()
| bool operator= | ( | const float | t ) |
Alias of setThrottle(float)
Generated on Sat Jul 16 2022 12:25:49 by
1.7.2
