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

Dependencies:   mbed

Quaternions.h

Committer:
Zbyszek
Date:
2019-02-26
Revision:
6:0ebecfecadc9
Parent:
5:155d224d855c
Child:
13:c7e8e277f884

File content as of revision 6:0ebecfecadc9:

#include "Structures.h"

typedef struct {
    double w;
    double x;
    double y;
    double z;
} Quaternion;

typedef struct {
    double roll;
    double pitch;
    double yaw;
} Rotation;



//-----------------------------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 euler2Quaternion(Quaternion Q);


Quaternion toQuaternionNotation123(vector AngularRate, double dt);
//-----------------------------Functions--------------------------------------//