ESE350 project, Spring 2016, University of Pennsylvania

Dependencies:   Adafruit9-DOf Receiver mbed-rtos mbed

quadcopter.h

Committer:
ivo_david_michelle
Date:
2016-04-02
Revision:
8:326e7009ce0c
Parent:
7:f3f94eadc5b5
Child:
9:f1bd96708a21

File content as of revision 8:326e7009ce0c:

#ifndef QUADCOPTER_H
#define QUADCOPTER_H

#include "mbed.h"
#include "Adafruit_9DOF.h"


struct state {
    double phi;
    double theta;
    double psi;
};

struct force {
    double fx;
    double y;
    double fz;
};

struct offset {
    double x_offset;
    double y_offset;
    double z_offset;
};

class Quadcopter
{
private:
    state state_;
    force force_;
//pwmOut * _pwmOut; // give address to constructor, than change this value

Adafruit_9DOF dof_;
Adafruit_LSM303_Accel_Unified accel_;
Adafruit_LSM303_Mag_Unified mag_;
Adafruit_L3GD20_Unified gyro_;

offset offsetAngRate_;
offset offsetAttitude_;


public:
    Quadcopter();

    void setState(double phi, double theta, double psi);
    
    state getState() {
        return state_;
    }
    void setPwm();
    void initializePwm();
    void controller();
    void setState();
    void readSensorValues();
    void initSensors();
};

#endif