I have a Teensy 3.3 Arduino 1.8.10 Teensyduino 1.48 Windows 10 ver 1909
OK I placed the psIMU, Icompass, calibrattion in the Arduino libraries directory.
Now it compiles but with a million warnings.
psIMU_serial: In function 'float invSqrt(float)':
psIMU_serial:370: warning: dereferencing type-punned pointer will break strict-aliasing rules
uint32_t i = 0x5F1F1412 - (*(uint32_t*)&x >> 1);
^
psIMU_serial:371: warning: dereferencing type-punned pointer will break strict-aliasing rules
float tmp = *(float*)&i;
^
MadgwickQuantFileter: In function 'void MadgwickQuaternionUpdate(float, float, float, float, float, float, float, float, float)':
MadgwickQuantFileter:15: warning: variable '_2q0q2' set but not used
float _2q0mx, _2q0my, _2q0mz, _2q1mx, _2bx, _2bz, _4bx, _4bz, _2q0, _2q1, _2q2, _2q3, _2q0q2, _2q2q3, q0q0, q0q1, q0q2, q0q3, q1q1, q1q2, q1q3, q2q2, q2q3, q3q3;
^
MadgwickQuantFileter:15: warning: variable '_2q2q3' set but not used
float _2q0mx, _2q0my, _2q0mz, _2q1mx, _2bx, _2bz, _4bx, _4bz, _2q0, _2q1, _2q2, _2q3, _2q0q2, _2q2q3, q0q0, q0q1, q0q2, q0q3, q1q1, q1q2, q1q3, q2q2, q2q3, q3q3;
^
MahoneyQuantFilter: In function 'void MahonyQuaternionUpdate(float, float, float, float, float, float, float, float, float)':
MahoneyQuantFilter:48: warning: 'halfex' may be used uninitialized in this function
halfex += (my * halfwz - mz * halfwy);
^
MahoneyQuantFilter:49: warning: 'halfey' may be used uninitialized in this function
halfey += (mz * halfwx - mx * halfwz);
^
MahoneyQuantFilter:50: warning: 'halfez' may be used uninitialized in this function
halfez += (mx * halfwy - my * halfwx);
^
C:\Users\pope\Documents\Arduino\libraries\psIMU\psIMU..cpp: In member function 'void psIMU::FXOS8700CQMagOffset()':
C:\Users\pope\Documents\Arduino\libraries\psIMU\psIMU..cpp:365:9: warning: variable 'dest1' set but not used [-Wunused-but-set-variable]
float dest1[3] = {0, 0, 0}, dest2[3] = {0, 0, 0};
^
C:\Users\pope\Documents\Arduino\libraries\psIMU\psIMU..cpp:365:31: warning: variable 'dest2' set but not used [-Wunused-but-set-variable]
float dest1[3] = {0, 0, 0}, dest2[3] = {0, 0, 0};
^
C:\Users\pope\Documents\Arduino\libraries\psIMU\psIMU..cpp: In member function 'void psIMU::initFIFOMPL3115A2()':
C:\Users\pope\Documents\Arduino\libraries\psIMU\psIMU..cpp:963:11: warning: variable 'temp' set but not used [-Wunused-but-set-variable]
uint8_t temp;
^
C:\Users\pope\Documents\Arduino\libraries\psIMU\psIMU..cpp: In member function 'void psIMU::initRealTimeMPL3115A2()':
C:\Users\pope\Documents\Arduino\libraries\psIMU\psIMU..cpp:1000:11: warning: variable 'temp' set but not used [-Wunused-but-set-variable]
uint8_t temp;
^
C:\Users\pope\Documents\Arduino\libraries\ICompass\iCompass.cpp:5:0: warning: "M_PI" redefined
#define M_PI 3.14159265359
^
In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3/WProgram.h:36:0,
from C:\Users\pope\AppData\Local\Temp\arduino_build_987866/pch/Arduino.h:6,
from C:\Users\pope\Documents\Arduino\libraries\ICompass/iCompass.h:4,
from C:\Users\pope\Documents\Arduino\libraries\ICompass\iCompass.cpp:1:
c:\program files (x86)\arduino\hardware\tools\arm\arm-none-eabi\include\math.h:640:0: note: this is the location of the previous definition
#define M_PI 3.14159265358979323846
^
C:\Users\pope\Documents\Arduino\libraries\ICompass\iCompass.cpp: In constructor 'iCompass::iCompass()':
C:\Users\pope\Documents\Arduino\libraries\ICompass\iCompass.cpp:10:84: warning: unused variable 'test' [-Wunused-variable]
iCompass::iCompass(void) : myRA(1) { declinationAngle = 0; maxSamples = 500; float test = 1.0f; samples = 0; myRA.clear(); }
^
C:\Users\pope\Documents\Arduino\libraries\ICompass\iCompass.cpp: In constructor 'iCompass::iCompass(float)':
C:\Users\pope\Documents\Arduino\libraries\ICompass\iCompass.cpp:11:97: warning: unused variable 'test' [-Wunused-variable]
iCompass::iCompass(float dAngle) : myRA(1) { declinationAngle = dAngle; maxSamples = 500; float test = 1.0f; samples = 0; myRA.clear(); }
^
C:\Users\pope\Documents\Arduino\libraries\ICompass\iCompass.cpp: In constructor 'iCompass::iCompass(float, unsigned int)':
C:\Users\pope\Documents\Arduino\libraries\ICompass\iCompass.cpp:12:127: warning: unused variable 'test' [-Wunused-variable]
iCompass::iCompass(float dAngle, unsigned int windSize) : myRA(windSize) { declinationAngle = dAngle; maxSamples = 500; float test = 1.0f; samples = 0; myRA.clear(); }
^
C:\Users\pope\Documents\Arduino\libraries\ICompass\iCompass.cpp: In constructor 'iCompass::iCompass(float, unsigned int, unsigned int)':
C:\Users\pope\Documents\Arduino\libraries\ICompass\iCompass.cpp:13:147: warning: unused variable 'test' [-Wunused-variable]
iCompass::iCompass(float dAngle, unsigned int windSize, unsigned int maxS) : myRA(windSize) { declinationAngle = dAngle; maxSamples = maxS; float test = 1.0f; samples = 0; myRA.clear(); }
^
But OK I will test it, and see what happens.
Thank you very much.
My wife is waiting me now, so testing will have to wait.