
SPI slave program to enable communication between the FPGA and the STM32L432 board.
IMUs.h@11:366f1186c121, 2019-03-19 (annotated)
- Committer:
- Zbyszek
- Date:
- Tue Mar 19 01:26:11 2019 +0000
- Revision:
- 11:366f1186c121
- Parent:
- 7:0e9af5986488
- Child:
- 13:c7e8e277f884
Several IMUs can now be read using STM32L432.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Zbyszek | 6:0ebecfecadc9 | 1 | #include "Structures.h" |
Zbyszek | 6:0ebecfecadc9 | 2 | #include "mbed.h" |
Zbyszek | 6:0ebecfecadc9 | 3 | |
Zbyszek | 6:0ebecfecadc9 | 4 | |
Zbyszek | 6:0ebecfecadc9 | 5 | class IMU { |
Zbyszek | 6:0ebecfecadc9 | 6 | |
Zbyszek | 6:0ebecfecadc9 | 7 | private : |
Zbyszek | 6:0ebecfecadc9 | 8 | //Variables |
Zbyszek | 6:0ebecfecadc9 | 9 | vector GyroscopeOffset; |
Zbyszek | 6:0ebecfecadc9 | 10 | vector AccelerometerOffset; |
Zbyszek | 6:0ebecfecadc9 | 11 | char IMU_Identifier; |
Zbyszek | 7:0e9af5986488 | 12 | double accelSSF, gyroSSF; |
Zbyszek | 11:366f1186c121 | 13 | Timer t; |
Zbyszek | 11:366f1186c121 | 14 | vector CFAngle; |
Zbyszek | 6:0ebecfecadc9 | 15 | //Functions |
Zbyszek | 6:0ebecfecadc9 | 16 | |
Zbyszek | 6:0ebecfecadc9 | 17 | |
Zbyszek | 6:0ebecfecadc9 | 18 | public : |
Zbyszek | 6:0ebecfecadc9 | 19 | //Variables----------------------------------------------------------------- |
Zbyszek | 6:0ebecfecadc9 | 20 | vector AcceAngle; |
Zbyszek | 6:0ebecfecadc9 | 21 | vector GyroAngle; |
Zbyszek | 6:0ebecfecadc9 | 22 | vector RawAccel; |
Zbyszek | 6:0ebecfecadc9 | 23 | vector SSFRawAccel; |
Zbyszek | 6:0ebecfecadc9 | 24 | vector RawGyro; |
Zbyszek | 6:0ebecfecadc9 | 25 | vector SSFRawGyro; |
Zbyszek | 6:0ebecfecadc9 | 26 | vector CFQuaternion; |
Zbyszek | 6:0ebecfecadc9 | 27 | //Variables----------------------------------------------------------------- |
Zbyszek | 6:0ebecfecadc9 | 28 | |
Zbyszek | 6:0ebecfecadc9 | 29 | |
Zbyszek | 6:0ebecfecadc9 | 30 | //Functions----------------------------------------------------------------- |
Zbyszek | 6:0ebecfecadc9 | 31 | IMU(char IMU_ID, double OffsetAX, double OffsetAY, double OffsetAZ, double OffsetGX, double OffsetGY, double OffsetGZ, char SSFA, char SSFG); |
Zbyszek | 6:0ebecfecadc9 | 32 | IMU_Data concatenateData(int16_t SamplesPieces[12]); |
Zbyszek | 6:0ebecfecadc9 | 33 | IMU_Data SSFmultiply(IMU_Data RawData); |
Zbyszek | 7:0e9af5986488 | 34 | IMU_Data getAngles(IMU_Data SSF_Format_Values, float dt); |
Zbyszek | 7:0e9af5986488 | 35 | |
Zbyszek | 7:0e9af5986488 | 36 | IMU_Data CalculateAngles(int16_t SamplesPieces[12]); |
Zbyszek | 7:0e9af5986488 | 37 | vector CalculateCFAngles(int16_t SamplesPieces[12]); |
Zbyszek | 7:0e9af5986488 | 38 | vector CalculateQCFAngles(int16_t SamplesPieces[12]); |
Zbyszek | 7:0e9af5986488 | 39 | vector getAccelAngles(vector SSF_Accel); |
Zbyszek | 6:0ebecfecadc9 | 40 | //void CFAngle(); |
Zbyszek | 6:0ebecfecadc9 | 41 | //Functions----------------------------------------------------------------- |
Zbyszek | 6:0ebecfecadc9 | 42 | }; |