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

Dependencies:   mbed

Committer:
Zbyszek
Date:
Tue Feb 26 01:22:53 2019 +0000
Revision:
6:0ebecfecadc9
Parent:
5:155d224d855c
Child:
13:c7e8e277f884
Placing Code into class to make program tidy and prepare it for multiple IMUs

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Zbyszek 6:0ebecfecadc9 1 #include "Structures.h"
Zbyszek 6:0ebecfecadc9 2
Zbyszek 4:e36c7042d3bb 3 typedef struct {
Zbyszek 4:e36c7042d3bb 4 double w;
Zbyszek 4:e36c7042d3bb 5 double x;
Zbyszek 4:e36c7042d3bb 6 double y;
Zbyszek 4:e36c7042d3bb 7 double z;
Zbyszek 4:e36c7042d3bb 8 } Quaternion;
Zbyszek 4:e36c7042d3bb 9
Zbyszek 4:e36c7042d3bb 10 typedef struct {
Zbyszek 4:e36c7042d3bb 11 double roll;
Zbyszek 4:e36c7042d3bb 12 double pitch;
Zbyszek 4:e36c7042d3bb 13 double yaw;
Zbyszek 4:e36c7042d3bb 14 } Rotation;
Zbyszek 4:e36c7042d3bb 15
Zbyszek 4:e36c7042d3bb 16
Zbyszek 4:e36c7042d3bb 17
Zbyszek 4:e36c7042d3bb 18 //-----------------------------Functions--------------------------------------//
Zbyszek 4:e36c7042d3bb 19 Quaternion toQuaternionNotation(vector AngularRate, double dt);
Zbyszek 4:e36c7042d3bb 20 Quaternion getQuaternionProduct(Quaternion previousQ, Quaternion deltaQ);
Zbyszek 4:e36c7042d3bb 21 Quaternion quaternionConjugate(Quaternion Q);
Zbyszek 4:e36c7042d3bb 22 Quaternion updateQuaternion(Quaternion Qprevious, vector angularRate, double deltaTime);
Zbyszek 4:e36c7042d3bb 23 vector quaternion2Vector(Quaternion Q);
Zbyszek 4:e36c7042d3bb 24 Quaternion vector2Quaternion(vector v);
Zbyszek 4:e36c7042d3bb 25 vector rotateVector(Quaternion Q, vector v);
Zbyszek 4:e36c7042d3bb 26 Quaternion normaliseQuaternion(Quaternion Q);
Zbyszek 4:e36c7042d3bb 27 double getQuaternionNorm(Quaternion Q);
Zbyszek 4:e36c7042d3bb 28 Quaternion getQaDelta(Quaternion Q);
Zbyszek 4:e36c7042d3bb 29 vector crossProduct(vector v1, vector v2);
Zbyszek 4:e36c7042d3bb 30 Quaternion sumQuaternion(Quaternion Q1, Quaternion Q2);
Zbyszek 4:e36c7042d3bb 31 vector sumVector(vector v1, vector v2);
Zbyszek 4:e36c7042d3bb 32 Quaternion getQVproduct(Quaternion Q, vector v);
Zbyszek 4:e36c7042d3bb 33 vector rotateGlobal(vector v1, Quaternion Q);
Zbyszek 4:e36c7042d3bb 34 vector rotateLocal(vector v1, Quaternion Q);
Zbyszek 4:e36c7042d3bb 35 vector mul(float a, vector v);
Zbyszek 4:e36c7042d3bb 36 vector eulerA(Quaternion Q);
Zbyszek 5:155d224d855c 37 Quaternion euler2Quaternion(Quaternion Q);
Zbyszek 4:e36c7042d3bb 38
Zbyszek 4:e36c7042d3bb 39
Zbyszek 4:e36c7042d3bb 40 Quaternion toQuaternionNotation123(vector AngularRate, double dt);
Zbyszek 4:e36c7042d3bb 41 //-----------------------------Functions--------------------------------------//