unit test for brushless motors using a potentiometer and a castle creations esc with 0.5 center duty cycle

Dependencies:   ESC Servo mbed

Fork of brushlessmotor by jetfishteam

Committer:
demaille
Date:
Thu Jul 30 20:36:00 2015 +0000
Revision:
2:040b8c8f4f92
Parent:
0:187bb46ed128
Child:
3:605f216167f6
updated

Who changed what in which revision?

UserRevisionLine numberNew contents of line
demaille 0:187bb46ed128 1 #ifndef MBED_MAINCONTROLLER_H
demaille 0:187bb46ed128 2 #define MBED_MAINCONTROLLER_H
demaille 0:187bb46ed128 3
demaille 0:187bb46ed128 4 #include "mbed.h"
demaille 0:187bb46ed128 5 #include "PwmIn.h"
demaille 0:187bb46ed128 6 #include "esc.h"
demaille 0:187bb46ed128 7
demaille 0:187bb46ed128 8 #define MATH_PI 3.14159265359
demaille 2:040b8c8f4f92 9 #define TOFF 0.03
demaille 0:187bb46ed128 10 class MainController {
demaille 0:187bb46ed128 11 public:
demaille 0:187bb46ed128 12 /** Create a MainController
demaille 0:187bb46ed128 13 *
demaille 0:187bb46ed128 14 * @param
demaille 0:187bb46ed128 15 */
demaille 0:187bb46ed128 16 MainController() ;
demaille 0:187bb46ed128 17
demaille 0:187bb46ed128 18 /** Start the main controller
demaille 0:187bb46ed128 19 * @returns
demaille 0:187bb46ed128 20 */
demaille 0:187bb46ed128 21 void start();
demaille 0:187bb46ed128 22 float getDutyCycle();
demaille 0:187bb46ed128 23 float getFrequency();
demaille 0:187bb46ed128 24 float getAmplitude();
demaille 0:187bb46ed128 25 float getYaw();
demaille 0:187bb46ed128 26 float getPitch();
demaille 0:187bb46ed128 27 float getTimeAdd();
demaille 0:187bb46ed128 28 float getAdj();
demaille 0:187bb46ed128 29
demaille 0:187bb46ed128 30 /** Stop the main controller
demaille 0:187bb46ed128 31 * @returns
demaille 0:187bb46ed128 32 */
demaille 0:187bb46ed128 33 void stop();
demaille 0:187bb46ed128 34
demaille 0:187bb46ed128 35 protected:
demaille 0:187bb46ed128 36 void control();
demaille 0:187bb46ed128 37 float calculateFrequency();
demaille 0:187bb46ed128 38 float calculateAmplitude();
demaille 0:187bb46ed128 39 float calculateYaw();
demaille 0:187bb46ed128 40 float calculatePitch();
demaille 0:187bb46ed128 41 //float calculateAdj();
demaille 0:187bb46ed128 42 float signum(float input);
demaille 0:187bb46ed128 43 float saturate(float input);
demaille 0:187bb46ed128 44
demaille 0:187bb46ed128 45 private:
demaille 0:187bb46ed128 46 PwmIn ch1; //yaw
demaille 0:187bb46ed128 47 PwmIn ch2; //pitch
demaille 0:187bb46ed128 48 PwmIn ch3; //amp
demaille 0:187bb46ed128 49 PwmIn ch6; //freq
demaille 0:187bb46ed128 50 ESC esc1;
demaille 0:187bb46ed128 51 //Servo leftservo;
demaille 0:187bb46ed128 52 //Servo rightservo;
demaille 0:187bb46ed128 53
demaille 0:187bb46ed128 54 Timer timer1;
demaille 0:187bb46ed128 55 Ticker ticker1;
demaille 0:187bb46ed128 56 float amp;
demaille 0:187bb46ed128 57 float ampNew;
demaille 0:187bb46ed128 58 float frq;
demaille 0:187bb46ed128 59 float dutyCycle;
demaille 0:187bb46ed128 60 float curTime;
demaille 0:187bb46ed128 61 float frqMin;
demaille 0:187bb46ed128 62 float frqMax;
demaille 0:187bb46ed128 63 float yaw;
demaille 0:187bb46ed128 64 float pitch;
demaille 0:187bb46ed128 65 float alPi;
demaille 0:187bb46ed128 66 //float adj;
demaille 0:187bb46ed128 67 bool fullCycle;
demaille 0:187bb46ed128 68 float frqCmd;
demaille 0:187bb46ed128 69 float raiser;
demaille 0:187bb46ed128 70
demaille 0:187bb46ed128 71 float throttle_var;
demaille 0:187bb46ed128 72 };
demaille 0:187bb46ed128 73
demaille 0:187bb46ed128 74 #endif