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:
9:f1bd96708a21
Parent:
8:326e7009ce0c
Child:
10:e7d1801e966a

File content as of revision 9:f1bd96708a21:

#ifndef QUADCOPTER_H
#define QUADCOPTER_H

#include "mbed.h"
#include "Adafruit_9DOF.h"
#include "Serial_base.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_;

   sensors_event_t accel_event_;
    sensors_event_t mag_event_;
    sensors_event_t gyro_event_;
    sensors_vec_t   orientation_;

offset offsetAngRate_;
offset offsetAttitude_;
Serial *pcPntr_;


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 initAllSensors();
    void setSerial(Serial *pcPntr){pcPntr_=pcPntr;};
    void print(char * myString);
};

#endif