the fish that looks like a jet

Dependencies:   ADXL345 ADXL345_I2C IMUfilter ITG3200 mbed Servo

Committer:
rkk
Date:
Fri Jan 31 19:36:28 2014 +0000
Revision:
11:8ec915eb70f6
Child:
12:7eeb29892625
added main controller and control amplitude and frequency of fish tail properly

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rkk 11:8ec915eb70f6 1 #ifndef MBED_MAINCONTROLLER_H
rkk 11:8ec915eb70f6 2 #define MBED_MAINCONTROLLER_H
rkk 11:8ec915eb70f6 3
rkk 11:8ec915eb70f6 4 #include "mbed.h"
rkk 11:8ec915eb70f6 5 #include "PwmIn.h"
rkk 11:8ec915eb70f6 6 #include "motor_controller.h"
rkk 11:8ec915eb70f6 7
rkk 11:8ec915eb70f6 8 #define MATH_PI 3.14159265359
rkk 11:8ec915eb70f6 9
rkk 11:8ec915eb70f6 10 /** MainController class to get control inputs and place them onto the system
rkk 11:8ec915eb70f6 11 *
rkk 11:8ec915eb70f6 12 *
rkk 11:8ec915eb70f6 13 */
rkk 11:8ec915eb70f6 14 class MainController {
rkk 11:8ec915eb70f6 15 public:
rkk 11:8ec915eb70f6 16 /** Create a MainController
rkk 11:8ec915eb70f6 17 *
rkk 11:8ec915eb70f6 18 * @param
rkk 11:8ec915eb70f6 19 */
rkk 11:8ec915eb70f6 20 MainController() ;
rkk 11:8ec915eb70f6 21
rkk 11:8ec915eb70f6 22 /** Start the main controller
rkk 11:8ec915eb70f6 23 *
rkk 11:8ec915eb70f6 24 * @returns
rkk 11:8ec915eb70f6 25 */
rkk 11:8ec915eb70f6 26 void start();
rkk 11:8ec915eb70f6 27
rkk 11:8ec915eb70f6 28 float getDutyCycle();
rkk 11:8ec915eb70f6 29 float getFrequency();
rkk 11:8ec915eb70f6 30 float getVolume();
rkk 11:8ec915eb70f6 31 float getAmplitude();
rkk 11:8ec915eb70f6 32
rkk 11:8ec915eb70f6 33 /** Stop the main controller
rkk 11:8ec915eb70f6 34 *
rkk 11:8ec915eb70f6 35 * @returns
rkk 11:8ec915eb70f6 36 */
rkk 11:8ec915eb70f6 37 void stop();
rkk 11:8ec915eb70f6 38
rkk 11:8ec915eb70f6 39
rkk 11:8ec915eb70f6 40 protected:
rkk 11:8ec915eb70f6 41 void control();
rkk 11:8ec915eb70f6 42 float calculateFrequency();
rkk 11:8ec915eb70f6 43 float calculateVolume();
rkk 11:8ec915eb70f6 44
rkk 11:8ec915eb70f6 45 private:
rkk 11:8ec915eb70f6 46 PwmIn ch3;
rkk 11:8ec915eb70f6 47 PwmIn ch6;
rkk 11:8ec915eb70f6 48 PololuMController mcon;
rkk 11:8ec915eb70f6 49 Timer timer1;
rkk 11:8ec915eb70f6 50 Ticker ticker1;
rkk 11:8ec915eb70f6 51 float vol;
rkk 11:8ec915eb70f6 52 float frq;
rkk 11:8ec915eb70f6 53 float dutyCycle;
rkk 11:8ec915eb70f6 54 float curTime;
rkk 11:8ec915eb70f6 55 float frqMin;
rkk 11:8ec915eb70f6 56 float frqMax;
rkk 11:8ec915eb70f6 57 float amplitude;
rkk 11:8ec915eb70f6 58 };
rkk 11:8ec915eb70f6 59
rkk 11:8ec915eb70f6 60 #endif
rkk 11:8ec915eb70f6 61
rkk 11:8ec915eb70f6 62