ESE350 project, Spring 2016, University of Pennsylvania

Dependencies:   Adafruit9-DOf Receiver mbed-rtos mbed

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();