SPI slave program to enable communication between the FPGA and the STM32L432 board.

Dependencies:   mbed

Revision:
4:e36c7042d3bb
Child:
5:155d224d855c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Quaternions.h	Sat Feb 23 01:20:08 2019 +0000
@@ -0,0 +1,43 @@
+typedef struct {
+    double w;
+    double x;
+    double y;
+    double z;
+} Quaternion;
+
+typedef struct {
+    double roll;
+    double pitch;
+    double yaw;
+} Rotation;
+
+typedef struct {
+   double x;
+   double y;
+   double z;   
+} vector;
+
+
+//-----------------------------Functions--------------------------------------//
+Quaternion toQuaternionNotation(vector AngularRate, double dt);
+Quaternion getQuaternionProduct(Quaternion previousQ, Quaternion deltaQ);
+Quaternion quaternionConjugate(Quaternion Q);
+Quaternion updateQuaternion(Quaternion Qprevious, vector angularRate, double deltaTime);
+vector quaternion2Vector(Quaternion Q);
+Quaternion vector2Quaternion(vector v);
+vector rotateVector(Quaternion Q, vector v);
+Quaternion normaliseQuaternion(Quaternion Q);
+double getQuaternionNorm(Quaternion Q);
+Quaternion getQaDelta(Quaternion Q);
+vector crossProduct(vector v1, vector v2);
+Quaternion sumQuaternion(Quaternion Q1, Quaternion Q2);
+vector sumVector(vector v1, vector v2);
+Quaternion getQVproduct(Quaternion Q, vector v);
+vector rotateGlobal(vector v1, Quaternion Q);
+vector rotateLocal(vector v1, Quaternion Q);
+vector mul(float a, vector v);
+vector eulerA(Quaternion Q);
+
+
+Quaternion toQuaternionNotation123(vector AngularRate, double dt);
+//-----------------------------Functions--------------------------------------//
\ No newline at end of file