My modifications/additions to the code

Dependencies:   ADXL345 ADXL345_I2C IMUfilter ITG3200 Servo fishgait mbed-rtos mbed pixy_cam

Fork of robotic_fish_ver_4_8 by jetfishteam

MainController.h

Committer:
rkk
Date:
2014-05-22
Revision:
17:6970aef8154b
Parent:
15:dc5753a5b83e
Child:
18:9ba4566f2361

File content as of revision 17:6970aef8154b:

#ifndef MBED_MAINCONTROLLER_H
#define MBED_MAINCONTROLLER_H
 
#include "mbed.h"
#include "PwmIn.h"
#include "motor_controller.h"
#include "guardian.h"
//#include "IMU.h"
#include "Servo.h"



#define MATH_PI 3.14159265359
 
/** MainController class to get control inputs and place them onto the system
 * 
 * 
 */
class MainController {
public:
    /** Create a MainController
     *
     * @param 
     */ 
    MainController() ;
    
    /** Start the main controller
     *
     * @returns 
     */
    void start();
    
    float getDutyCycle();
    float getFrequency();
    float getVolume();
    float getAmplitude();
    float getRudder();
    float getPitch();
    
    /** Stop the main controller
     *
     * @returns 
     */
    void stop();
    
 
protected:        
    void control();
    float calculateFrequency();
    float calculateVolume();
    float calculateRudder();
    float calculatePitch();
    float signum(float input);
    float saturate(float input);
    
private:
    PwmIn ch1;
    PwmIn ch2;
    PwmIn ch3;
    PwmIn ch4;
    PwmIn ch6;
    PololuMController mcon;
    Guardian ap;
    Servo leftservo;
    Servo rightservo;
    
    Timer timer1;
    Ticker ticker1;
    float vol;
    float frq;
    float dutyCycle;
    float curTime;
    float frqMin;
    float frqMax;
    float amplitude;
    float rud;
    float pitch;
    
    int state;
    int change;
    //float goofftime;
    //bool switched;
};
 
#endif