ESE350 project, Spring 2016, University of Pennsylvania
Dependencies: Adafruit9-DOf Receiver mbed-rtos mbed
Diff: quadcopter.h
- Revision:
- 34:eaea0ae92dfa
- Parent:
- 32:e12b01c94b4a
- Child:
- 35:35997980a8ba
diff -r 244dea7a4e81 -r eaea0ae92dfa quadcopter.h --- a/quadcopter.h Sat Apr 23 20:52:10 2016 +0000 +++ b/quadcopter.h Sun Apr 24 17:15:20 2016 +0000 @@ -5,8 +5,9 @@ #include "Adafruit_9DOF.h" #include "Serial_base.h" #include "MRF24J40.h" +#include "Kalman.h" -#define FILTER_SIZE 3 +#define FILTER_SIZE 20 // a few struct declarations. Can possibly eliminated using the vector class in STL struct state { @@ -61,6 +62,10 @@ int rcIterations_; int rcLength_; Timer rcTimer_; + Timer *controlTimer; + + Kalman kalmanRoll; + Kalman kalmanPitch; filter filters_; state state_; @@ -102,6 +107,10 @@ double i_e_phi_; double i_e_theta_; float prev_time_; + + float prev_kalman_time; + double compAngleX; + double compAngleY; double zeroVelPwm; @@ -111,9 +120,9 @@ public: - Quadcopter(Serial *pcPntr, MRF24J40 *mrfPntr); // constructor + Quadcopter(Serial *pcPntr, MRF24J40 *mrfPntr, Timer* timer); // constructor - void controller(float time); + void controller(); void readSensorValues(); void readRc();