ESE350 project, Spring 2016, University of Pennsylvania
Dependencies: Adafruit9-DOf Receiver mbed-rtos mbed
Diff: quadcopter.h
- Revision:
- 13:291ba30c7806
- Parent:
- 12:422963993df5
- Child:
- 14:64b06476d943
diff -r 422963993df5 -r 291ba30c7806 quadcopter.h --- a/quadcopter.h Sat Apr 02 21:40:37 2016 +0000 +++ b/quadcopter.h Sat Apr 02 22:06:46 2016 +0000 @@ -5,7 +5,7 @@ #include "Adafruit_9DOF.h" #include "Serial_base.h" - +// a few struct declarations. Can possibly eliminated using the vector class in STL struct state { double phi; // roll double theta; // pitch @@ -23,7 +23,6 @@ double mz; }; -// do one struct called "vector", or use standart template library struct offset { double x; double y; @@ -35,7 +34,7 @@ double m2; double m3; double m4; - }; +}; class Quadcopter @@ -46,24 +45,24 @@ controlInput controlInput_; //pwmOut * _pwmOut; // give address to constructor, than change this value motors motorPwm_; - + + // declarations for IMU use 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_; // used later to compensate default tilt of IMU - offset offsetAngRate_; - offset offsetAttitude_; // used later to compensate tilt of IMU - Serial *pcPntr_; // used to access serial communication double g_; // gravity [m/s^2] double m_; // mass [kg] + // proportional attitude control gains double kp_phi_; double kp_theta_; @@ -91,7 +90,7 @@ motors getPwm(); // not implemented yet - void setGains(); + //void setGains(); //void setPwm(); //void initializePwm(); };