Simple example to show how to get an estimation of the attitude with a 9DOF IMU and the Kalman filter

Dependencies:   L3GD20 LSM303DLHC mbed-dsp mbed

Fork of minimu-9v2 by brian claus

Revision:
1:ba2d31e3112d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sensfusion9.h	Sat Mar 25 16:48:32 2017 +0000
@@ -0,0 +1,48 @@
+/**
+ *    ||          ____  _ __  ______
+ * +------+      / __ )(_) /_/ ____/_________ _____  ___
+ * | 0xBC |     / __  / / __/ /    / ___/ __ `/_  / / _ \
+ * +------+    / /_/ / / /_/ /___ / /  / /_/ / / /_/  __/
+ *  ||  ||    /_____/_/\__/\____//_/   \__,_/ /___/\___/
+ *
+ * Crazyflie control firmware
+ *
+ * Copyright (C) 2011-2012 Bitcraze AB
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, in version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef SENSORFUSION9_H_
+#define SENSORFUSION9_H_
+#include <stdbool.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void sensfusion9Init(void);
+bool sensfusion9Test(void);
+
+void sensfusion9UpdateQ(float gx, float gy, float gz, float ax, float ay, float az, float mx, float my, float mz, float dt);
+void sensfusion9GetEulerRPY(float* roll, float* pitch, float* yaw);
+void sensfusion9GetQuaternion(float* Q0, float* Q1, float* Q2, float* Q3);
+float sensfusion9GetAccZWithoutGravity(const float ax, const float ay, const float az);
+float sensfusion9GetInvThrustCompensationForTilt();
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* SENSORFUSION9_H_ */