Sensor library for quadcopter

Dependencies:   MotionDriverv512

Revision:
0:5c097bb1300f
Child:
2:dae13ba06097
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Sensor.h	Tue Jun 03 07:57:32 2014 +0000
@@ -0,0 +1,48 @@
+
+#ifndef SENSOR_H
+#define SENSOR_H
+
+
+#define SAMPLE_RATE 200
+
+#define M_PI 3.14159265
+#define RAD2DEG 180 / M_PI
+#define GYRO_GAIN 0.061035156f
+
+#include "inv_mpu_dmp_motion_driver.h"
+
+#define DEBUG_S
+class Sensor
+{  
+    public:
+    Sensor();   // Setup the com serial port. (tx, rx)
+    int initialize();
+    int updateAngles();
+    float getYaw();
+    float getPitch();
+    float getRoll();
+    float getGyroYaw();
+    float getGyroPitch();
+    float getGyroRoll();
+
+        
+    private:
+    DMP_Motion_Driver dmp;
+    Quaternion q;           // [w, x, y, z]         quaternion container
+    VectorFloat gravity;    // [x, y, z]            gravity vector
+    signed char gyro_orientation[9] ;
+    float ypr[3];           // [yaw, pitch, roll]   yaw/pitch/roll container and gravity vector  
+    short gyro[3]; 
+    short accel[3]; 
+    int packetSize;
+    uint8_t fifoBuffer[64]; // FIFO storage buffer
+    uint8_t mpuIntStatus;
+    int fifoCount;
+    
+    int mpu_initialize();
+    int dmp_initialize();
+    void run_self_test();
+
+};
+
+#endif