
SPI slave program to enable communication between the FPGA and the STM32L432 board.
Quaternions.h@15:791f35b0f220, 2019-05-15 (annotated)
- Committer:
- Zbyszek
- Date:
- Wed May 15 22:56:20 2019 +0000
- Revision:
- 15:791f35b0f220
- Parent:
- 13:c7e8e277f884
Official Code used on the 15/05/2019
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Zbyszek | 13:c7e8e277f884 | 1 | #include "CustomDatatypes.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--------------------------------------// |