Teensyduino 1.59 Beta #2

Paul

Administrator
Staff member
Here is a second beta test for Teensyduino 1.59.

Arduino 2.0.x, all systems platforms:
use Boards Manager to install Teensy version 0.59.2
(to refresh versions, Shift-Ctrl-P and click "Arduino: Update Package Index")

Arduino 1.8.x, Linux 32 bit:
https://www.pjrc.com/teensy/td_159-beta2/TeensyduinoInstall.linux32

Arduino 1.8.x, Linux 64 bit:
https://www.pjrc.com/teensy/td_159-beta2/TeensyduinoInstall.linux64

Arduino 1.8.x, Linux ARM:
https://www.pjrc.com/teensy/td_159-beta2/TeensyduinoInstall.linuxarm

Arduino 1.8.x, Linux ARM64:
https://www.pjrc.com/teensy/td_159-beta2/TeensyduinoInstall.linuxaarch64

Arduino 1.8.x, MacOS (Catalina to Ventura)
https://www.pjrc.com/teensy/td_159-beta2/Teensyduino_MacOS_Catalina.zip

Arduino 1.8.x, Old MacOS (Mojave)
https://www.pjrc.com/teensy/td_159-beta2/TeensyduinoInstall.dmg

Arduino 1.8.x, Windows:
https://www.pjrc.com/teensy/td_159-beta2/TeensyduinoInstall.exe

PlatformIO, DIY beta support:
https://forum.pjrc.com/threads/71730


Changes since Teensyduino 1.59-beta1:

Add inplace_function for callbacks
IntervalTimer use inplace_function
IntervalTimer demo callback backwards compatibility
Delete unused flags from String
Use C++17 to simplify IntervalTimer (Luni)
Fault handler use main vs process stack pointer (Christian Kahlo)
USBHost_t36 update DriveInfo example (Warren Watson)
FastLED fix C++17 compiler warnings
Tlc5940 update documentation, SCLK overshoot sensitivity
 
Installed IDE2 W11 0403 nightly build:

Compiled MTP picture view sketch. Still works like before. But sort of expected it as this does not use anything that changed.
Still have same issue where I changed the USB type and it would not link, until I deleted the cached cores out of: C:\Users\kurte\AppData\Local\Temp\arduino\cores

On IntervalTimer, wondering if you are keeping the T3.x (does not use template) version different than the T4.x version (uses templates) to make it easier for us old timers who are not used to this newfangled stuff? ;)
 
Good Morning All - hope everyone had a good day yesterday.

Installed updates in 1.8.19 on a win 10x64 no issue

Compile with faster Talkie Toms_diner example with any errors so old ways still work :)

then tried the sketch you posted using interval timer as a quick and dirty test - note did have to change callback to callback_t
Code:
IntervalTimer timer[4];

void setup() {
  Serial.begin(9600);
  Serial.print("sizeof = ");
    Serial.println(sizeof(IntervalTimer::callback_t));
    // capturing lambda
    for (int i = 0; i < 4; i++) {
        timer[i].begin([i]{
          Serial.printf("onTimer (channel:%d)\n", i);
        }, 1000000*(i+1));
    }
}
output:
Code:
sizeof = 24
onTimer (channel:0)
onTimer (channel:0)
onTimer (channel:1)
onTimer (channel:0)
onTimer (channel:2)
onTimer (channel:0)
onTimer (channel:1)
onTimer (channel:3)
onTimer (channel:0)
onTimer (channel:0)
onTimer (channel:1)
onTimer (channel:2)
onTimer (channel:0)
onTimer (channel:0)
onTimer (channel:1)
onTimer (channel:3)
onTimer (channel:0)
onTimer (channel:2)
onTimer (channel:0)
onTimer (channel:1)...

Probably will go through some of @luni's examples later. Still doing morning routines
 
From 1.58 release thread today:
<EDIT> re Current Issue: See post #9 - IDE temp CACHE ISSUE - speed change not reflected in next build
Well pooh,
Found a little issue with new toolchain?. running blink on bare 4.0

Code:
MHz	1.8.15	2.0.5/1.58
24	34mA	106mA
600	96mA	110mA

Stranger, a very large program draws ~96mA

IDE 2.0.4 Board Mgr updated to 1.59b2: CoreMark built Faster and uploaded:
CoreMark 1.0 : 2400.58 / GCC11.3.1 20220712 (flags unknown) / STACK
>> IDE 2 SerMon closed but port not released for use until IDE 2 closed ??? : not seen this before? IDE 1.x and TyComm both refused access

IDE 1.8.19 ran installer update to 1.59b2: CoreMark built Faster and uploaded:
CoreMark 1.0 : 2406.93 / GCC11.3.1 20220712 (flags unknown) / STACK

<edit>: No repro on 'port not released'
Reopen IDE2 connected SerMon after closing in IDE 1.x
Built and uploaded PSRAM test - output fine (with known final scroll fail)
-Closed Ide 2 SerMon

Return to IDE 1.x and Upload Coremark and open SerMon with no problem.

> Perhaps multiple IDE 2 sketch windows had Sermon attached and not all closed?
- when IDE 2 re-opened only 1 of 4 prior sketches re-opened.
 
Last edited:
@Paul - @brtaylor

I was in the process of updating a very old library that I had and all was going well until I was trying to run an example that used the eigen library from @brtaylor (https://github.com/bolderflight/eigen) it failed with several errors. So I tried the only example in the library and received the following errors (using 1.59beta2 in ide 2.0.5 4/3/11):
Code:
|                       ^~~~~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:172,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/GenericPacketMath.h:719:57: note: 'Eigen::prefetch' declared here
  719 | template<typename Scalar> EIGEN_DEVICE_FUNC inline void prefetch(const Scalar* addr)
      |                                                         ^~~~~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:330,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1758:23: error: 'prefetch' is not a member of 'Eigen::internal'; did you mean 'Eigen::prefetch'?
 1758 |             internal::prefetch(blB+(48+16));
      |                       ^~~~~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:172,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/GenericPacketMath.h:719:57: note: 'Eigen::prefetch' declared here
  719 | template<typename Scalar> EIGEN_DEVICE_FUNC inline void prefetch(const Scalar* addr)
      |                                                         ^~~~~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:330,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h: In member function 'void Eigen::internal::gemm_pack_lhs<Scalar, Index, DataMapper, Pack1, Pack2, Packet, 1, Conjugate, PanelMode>::operator()(Scalar*, const DataMapper&, Index, Index, Index, Index)':
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2292:15: error: 'PacketBlock' was not declared in this scope
 2292 |               PacketBlock<Packet> kernel;
      |               ^~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2292:33: error: expected primary-expression before '>' token
 2292 |               PacketBlock<Packet> kernel;
      |                                 ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2292:35: error: 'kernel' was not declared in this scope
 2292 |               PacketBlock<Packet> kernel;
      |                                   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2294:15: warning: there are no arguments to 'ptranspose' that depend on a template parameter, so a declaration of 'ptranspose' must be available [-fpermissive]
 2294 |               ptranspose(kernel);
      |               ^~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2298:15: error: 'PacketBlock' was not declared in this scope
 2298 |               PacketBlock<HalfPacket> kernel_half;
      |               ^~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2298:37: error: expected primary-expression before '>' token
 2298 |               PacketBlock<HalfPacket> kernel_half;
      |                                     ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2298:39: error: 'kernel_half' was not declared in this scope; did you mean 'gone_half'?
 2298 |               PacketBlock<HalfPacket> kernel_half;
      |                                       ^~~~~~~~~~~
      |                                       gone_half
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2300:15: warning: there are no arguments to 'ptranspose' that depend on a template parameter, so a declaration of 'ptranspose' must be available [-fpermissive]
 2300 |               ptranspose(kernel_half);
      |               ^~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2304:15: error: 'PacketBlock' was not declared in this scope
 2304 |               PacketBlock<QuarterPacket> kernel_quarter;
      |               ^~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2304:40: error: expected primary-expression before '>' token
 2304 |               PacketBlock<QuarterPacket> kernel_quarter;
      |                                        ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2304:42: error: 'kernel_quarter' was not declared in this scope; did you mean 'gone_quarter'?
 2304 |               PacketBlock<QuarterPacket> kernel_quarter;
      |                                          ^~~~~~~~~~~~~~
      |                                          gone_quarter
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2306:15: warning: there are no arguments to 'ptranspose' that depend on a template parameter, so a declaration of 'ptranspose' must be available [-fpermissive]
 2306 |               ptranspose(kernel_quarter);
      |               ^~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h: In member function 'void Eigen::internal::gemm_pack_rhs<Scalar, Index, DataMapper, nr, 0, Conjugate, PanelMode>::operator()(Scalar*, const DataMapper&, Index, Index, Index, Index)':
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2459:11: error: 'PacketBlock' was not declared in this scope
 2459 |           PacketBlock<Packet,(PacketSize%4)==0?4:PacketSize> kernel;
      |           ^~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2459:29: error: expected primary-expression before ',' token
 2459 |           PacketBlock<Packet,(PacketSize%4)==0?4:PacketSize> kernel;
      |                             ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2459:62: error: 'kernel' was not declared in this scope
 2459 |           PacketBlock<Packet,(PacketSize%4)==0?4:PacketSize> kernel;
      |                                                              ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/products/GeneralBlockPanelKernel.h:2464:11: warning: there are no arguments to 'ptranspose' that depend on a template parameter, so a declaration of 'ptranspose' must be available [-fpermissive]
 2464 |           ptranspose(kernel);
      |           ^~~~~~~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:332,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/ProductEvaluators.h: In member function 'PacketType Eigen::internal::diagonal_product_evaluator_base<MatrixType, DiagonalType, Derived, ProductOrder>::packet_impl(Eigen::Index, Eigen::Index, Eigen::Index, Eigen::internal::true_type) const':
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/ProductEvaluators.h:882:37: error: 'pset1' is not a member of 'Eigen::internal'; did you mean 'Eigen::pset1<Packet>'?
  882 |                           internal::pset1<PacketType>(m_diagImpl.coeff(id)));
      |                                     ^~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:172,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/GenericPacketMath.h:615:1: note: 'Eigen::pset1<Packet>' declared here
  615 | pset1(const typename unpacket_traits<Packet>::type& a) { return a; }
      | ^~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:332,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/ProductEvaluators.h:882:53: error: expected primary-expression before '>' token
  882 |                           internal::pset1<PacketType>(m_diagImpl.coeff(id)));
      |                                                     ^
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:358,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/PartialReduxEvaluator.h: In member function 'PacketType Eigen::internal::evaluator<Eigen::PartialReduxExpr<MatrixType, MemberOp, Direction> >::packet(Eigen::Index) const':
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/PartialReduxEvaluator.h:214:24: error: 'pset1' is not a member of 'Eigen::internal'; did you mean 'Eigen::pset1<Packet>'?
  214 |       return internal::pset1<PacketType>(coeff(idx));
      |                        ^~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:172,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/GenericPacketMath.h:615:1: note: 'Eigen::pset1<Packet>' declared here
  615 | pset1(const typename unpacket_traits<Packet>::type& a) { return a; }
      | ^~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:358,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/PartialReduxEvaluator.h:214:40: error: expected primary-expression before '>' token
  214 |       return internal::pset1<PacketType>(coeff(idx));
      |                                        ^
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/LU:38,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:2,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/LU/Determinant.h: In static member function 'static Eigen::internal::determinant_impl<Derived, 4>::Scalar Eigen::internal::determinant_impl<Derived, 4>::run(const Derived&)':
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/LU/Determinant.h:83:22: error: 'pmadd' is not a member of 'Eigen::internal'; did you mean 'padd'?
   83 |     return internal::pmadd(-m(0,3),d3_0, m(1,3)*d3_1) +
      |                      ^~~~~
      |                      padd
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/LU/Determinant.h:84:22: error: 'pmadd' is not a member of 'Eigen::internal'; did you mean 'padd'?
   84 |            internal::pmadd(-m(2,3),d3_2, m(3,3)*d3_3);
      |                      ^~~~~
      |                      padd
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/LU/Determinant.h: In static member function 'static Eigen::internal::determinant_impl<Derived, 4>::Scalar Eigen::internal::determinant_impl<Derived, 4>::det3(const Derived&, Eigen::Index, const Scalar&, Eigen::Index, const Scalar&, Eigen::Index, const Scalar&)':
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/LU/Determinant.h:96:22: error: 'pmadd' is not a member of 'Eigen::internal'; did you mean 'padd'?
   96 |     return internal::pmadd(m(i0,2), d0, internal::pmadd(-m(i1,2), d1, m(i2,2)*d2));
      |                      ^~~~~
      |                      padd
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/LU/Determinant.h:96:51: error: 'pmadd' is not a member of 'Eigen::internal'; did you mean 'padd'?
   96 |     return internal::pmadd(m(i0,2), d0, internal::pmadd(-m(i1,2), d1, m(i2,2)*d2));
      |                                                   ^~~~~
      |                                                   padd
In file included from C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/WProgram.h:46,
                 from C:\Users\Merli\AppData\Local\Temp\arduino\sketches\A6B84684DB7894FEFCF607E772B8731A\pch\Arduino.h:6:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/LU/InverseImpl.h: In static member function 'static void Eigen::internal::compute_inverse_and_det_with_check<MatrixType, ResultType, 3>::run(const MatrixType&, const typename MatrixType::RealScalar&, ResultType&, typename ResultType::Scalar&, bool&)':
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:16: error: expected unqualified-id before '(' token
  164 | #define abs(x) ({ \
      |                ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/LU/InverseImpl.h:196:33: note: in expansion of macro 'abs'
  196 |     invertible = Eigen::numext::abs(determinant) > absDeterminantThreshold;
      |                                 ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected primary-expression before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/LU/InverseImpl.h:196:33: note: in expansion of macro 'abs'
  196 |     invertible = Eigen::numext::abs(determinant) > absDeterminantThreshold;
      |                                 ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected '}' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/LU/InverseImpl.h:196:33: note: in expansion of macro 'abs'
  196 |     invertible = Eigen::numext::abs(determinant) > absDeterminantThreshold;
      |                                 ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:17: note: to match this '{'
  164 | #define abs(x) ({ \
      |                 ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/LU/InverseImpl.h:196:33: note: in expansion of macro 'abs'
  196 |     invertible = Eigen::numext::abs(determinant) > absDeterminantThreshold;
      |                                 ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected ')' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/LU/InverseImpl.h:196:33: note: in expansion of macro 'abs'
  196 |     invertible = Eigen::numext::abs(determinant) > absDeterminantThreshold;
      |                                 ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:16: note: to match this '('
  164 | #define abs(x) ({ \
      |                ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/LU/InverseImpl.h:196:33: note: in expansion of macro 'abs'
  196 |     invertible = Eigen::numext::abs(determinant) > absDeterminantThreshold;
      |                                 ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:166:4: error: '_x' was not declared in this scope
  166 |   (_x > 0) ? _x : -_x; \
      |    ^~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/LU/InverseImpl.h:196:33: note: in expansion of macro 'abs'
  196 |     invertible = Eigen::numext::abs(determinant) > absDeterminantThreshold;
      |                                 ^~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h: In member function 'typename Eigen::internal::traits<T>::Scalar Eigen::QuaternionBase<Derived>::angularDistance(const Eigen::QuaternionBase<OtherDerived>&) const':
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:16: error: expected unqualified-id before '(' token
  164 | #define abs(x) ({ \
      |                ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:768:53: note: in expansion of macro 'abs'
  768 |   return Scalar(2) * atan2( d.vec().norm(), numext::abs(d.w()) );
      |                                                     ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected primary-expression before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:768:53: note: in expansion of macro 'abs'
  768 |   return Scalar(2) * atan2( d.vec().norm(), numext::abs(d.w()) );
      |                                                     ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected '}' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:768:53: note: in expansion of macro 'abs'
  768 |   return Scalar(2) * atan2( d.vec().norm(), numext::abs(d.w()) );
      |                                                     ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:17: note: to match this '{'
  164 | #define abs(x) ({ \
      |                 ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:768:53: note: in expansion of macro 'abs'
  768 |   return Scalar(2) * atan2( d.vec().norm(), numext::abs(d.w()) );
      |                                                     ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected ')' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:768:53: note: in expansion of macro 'abs'
  768 |   return Scalar(2) * atan2( d.vec().norm(), numext::abs(d.w()) );
      |                                                     ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:16: note: to match this '('
  164 | #define abs(x) ({ \
      |                ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:768:53: note: in expansion of macro 'abs'
  768 |   return Scalar(2) * atan2( d.vec().norm(), numext::abs(d.w()) );
      |                                                     ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:166:4: error: '_x' was not declared in this scope; did you mean 'x'?
  166 |   (_x > 0) ? _x : -_x; \
      |    ^~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:768:53: note: in expansion of macro 'abs'
  768 |   return Scalar(2) * atan2( d.vec().norm(), numext::abs(d.w()) );
      |                                                     ^~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h: At global scope:
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:167:2: error: expected unqualified-id before ')' token
  167 | })
      |  ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:768:53: note: in expansion of macro 'abs'
  768 |   return Scalar(2) * atan2( d.vec().norm(), numext::abs(d.w()) );
      |                                                     ^~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Geometry:42,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:6,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:781:19: error: 'Quaternion' does not name a type; did you mean 'QuaternionClass'?
  781 | EIGEN_DEVICE_FUNC Quaternion<typename internal::traits<Derived>::Scalar>
      |                   ^~~~~~~~~~
      |                   QuaternionClass
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:816:8: error: 'quaternionbase_assign_impl' is not a class template
  816 | struct quaternionbase_assign_impl<Other,3,3>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:819:68: error: 'QuaternionBase' has not been declared
  819 |   template<class Derived> EIGEN_DEVICE_FUNC static inline void run(QuaternionBase<Derived>& q, const Other& a_mat)
      |                                                                    ^~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:819:82: error: expected ',' or '...' before '<' token
  819 |   template<class Derived> EIGEN_DEVICE_FUNC static inline void run(QuaternionBase<Derived>& q, const Other& a_mat)
      |                                                                                  ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h: In static member function 'static void internal::quaternionbase_assign_impl<Other>::run(int)':
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:821:30: error: 'nested_eval' in namespace 'internal' does not name a template type
  821 |     const typename internal::nested_eval<Other,2>::type mat(a_mat);
      |                              ^~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:821:41: error: expected unqualified-id before '<' token
  821 |     const typename internal::nested_eval<Other,2>::type mat(a_mat);
      |                                         ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:825:16: error: 'mat' was not declared in this scope; did you mean 'max'?
  825 |     Scalar t = mat.trace();
      |                ^~~
      |                max
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:829:7: error: 'q' was not declared in this scope
  829 |       q.w() = Scalar(0.5)*t;
      |       ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:837:7: error: 'Index' was not declared in this scope; did you mean 'Eigen::Index'?
  837 |       Index i = 0;
      |       ^~~~~
      |       Eigen::Index
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:162,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/util/Meta.h:74:40: note: 'Eigen::Index' declared here
   74 | typedef EIGEN_DEFAULT_DENSE_INDEX_TYPE Index;
      |                                        ^~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Geometry:42,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:6,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:839:9: error: 'i' was not declared in this scope
  839 |         i = 1;
      |         ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:840:38: error: 'i' was not declared in this scope
  840 |       if (mat.coeff(2,2) > mat.coeff(i,i))
      |                                      ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:842:13: error: expected ';' before 'j'
  842 |       Index j = (i+1)%3;
      |             ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:843:13: error: expected ';' before 'k'
  843 |       Index k = (j+1)%3;
      |             ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:845:26: error: 'i' was not declared in this scope
  845 |       t = sqrt(mat.coeff(i,i)-mat.coeff(j,j)-mat.coeff(k,k) + Scalar(1.0));
      |                          ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:845:41: error: 'j' was not declared in this scope; did you mean 'jn'?
  845 |       t = sqrt(mat.coeff(i,i)-mat.coeff(j,j)-mat.coeff(k,k) + Scalar(1.0));
      |                                         ^
      |                                         jn
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:845:56: error: 'k' was not declared in this scope
  845 |       t = sqrt(mat.coeff(i,i)-mat.coeff(j,j)-mat.coeff(k,k) + Scalar(1.0));
      |                                                        ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:846:7: error: 'q' was not declared in this scope
  846 |       q.coeffs().coeffRef(i) = Scalar(0.5) * t;
      |       ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h: At global scope:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:857:44: error: wrong number of template arguments (3, should be 1)
  857 | struct quaternionbase_assign_impl<Other,4,1>
      |                                            ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:816:44: note: provided for 'template<class Other> struct internal::quaternionbase_assign_impl'
  816 | struct quaternionbase_assign_impl<Other,3,3>
      |                                            ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Quaternion.h:868:1: error: expected declaration before '}' token
  868 | } // end namespace Eigen
      | ^
In file included from C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/WProgram.h:46,
                 from C:\Users\Merli\AppData\Local\Temp\arduino\sketches\A6B84684DB7894FEFCF607E772B8731A\pch\Arduino.h:6:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h: In member function 'Eigen::Hyperplane<_Scalar, _AmbientDim, Options>::Scalar Eigen::Hyperplane<_Scalar, _AmbientDim, Options>::absDistance(const VectorType&) const':
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:16: error: expected unqualified-id before '(' token
  164 | #define abs(x) ({ \
      |                ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:148:91: note: in expansion of macro 'abs'
  148 |   EIGEN_DEVICE_FUNC inline Scalar absDistance(const VectorType& p) const { return numext::abs(signedDistance(p)); }
      |                                                                                           ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected primary-expression before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:148:91: note: in expansion of macro 'abs'
  148 |   EIGEN_DEVICE_FUNC inline Scalar absDistance(const VectorType& p) const { return numext::abs(signedDistance(p)); }
      |                                                                                           ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected '}' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:148:91: note: in expansion of macro 'abs'
  148 |   EIGEN_DEVICE_FUNC inline Scalar absDistance(const VectorType& p) const { return numext::abs(signedDistance(p)); }
      |                                                                                           ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:17: note: to match this '{'
  164 | #define abs(x) ({ \
      |                 ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:148:91: note: in expansion of macro 'abs'
  148 |   EIGEN_DEVICE_FUNC inline Scalar absDistance(const VectorType& p) const { return numext::abs(signedDistance(p)); }
      |                                                                                           ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected ')' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:148:91: note: in expansion of macro 'abs'
  148 |   EIGEN_DEVICE_FUNC inline Scalar absDistance(const VectorType& p) const { return numext::abs(signedDistance(p)); }
      |                                                                                           ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:16: note: to match this '('
  164 | #define abs(x) ({ \
      |                ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:148:91: note: in expansion of macro 'abs'
  148 |   EIGEN_DEVICE_FUNC inline Scalar absDistance(const VectorType& p) const { return numext::abs(signedDistance(p)); }
      |                                                                                           ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:166:4: error: '_x' was not declared in this scope
  166 |   (_x > 0) ? _x : -_x; \
      |    ^~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:148:91: note: in expansion of macro 'abs'
  148 |   EIGEN_DEVICE_FUNC inline Scalar absDistance(const VectorType& p) const { return numext::abs(signedDistance(p)); }
      |                                                                                           ^~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h: In member function 'Eigen::Hyperplane<_Scalar, _AmbientDim, Options>::VectorType Eigen::Hyperplane<_Scalar, _AmbientDim, Options>::intersection(const Eigen::Hyperplane<_Scalar, _AmbientDim, Options>&) const':
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:16: error: expected unqualified-id before '(' token
  164 | #define abs(x) ({ \
      |                ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:197:20: note: in expansion of macro 'abs'
  197 |         if(numext::abs(coeffs().coeff(1))>numext::abs(coeffs().coeff(0)))
      |                    ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected primary-expression before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:197:20: note: in expansion of macro 'abs'
  197 |         if(numext::abs(coeffs().coeff(1))>numext::abs(coeffs().coeff(0)))
      |                    ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected '}' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:197:20: note: in expansion of macro 'abs'
  197 |         if(numext::abs(coeffs().coeff(1))>numext::abs(coeffs().coeff(0)))
      |                    ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:17: note: to match this '{'
  164 | #define abs(x) ({ \
      |                 ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:197:20: note: in expansion of macro 'abs'
  197 |         if(numext::abs(coeffs().coeff(1))>numext::abs(coeffs().coeff(0)))
      |                    ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected ')' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:197:20: note: in expansion of macro 'abs'
  197 |         if(numext::abs(coeffs().coeff(1))>numext::abs(coeffs().coeff(0)))
      |                    ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:16: note: to match this '('
  164 | #define abs(x) ({ \
      |                ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:197:20: note: in expansion of macro 'abs'
  197 |         if(numext::abs(coeffs().coeff(1))>numext::abs(coeffs().coeff(0)))
      |                    ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:21: error: expected ')' before ';' token
  165 |   typeof(x) _x = (x); \
      |                     ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:197:20: note: in expansion of macro 'abs'
  197 |         if(numext::abs(coeffs().coeff(1))>numext::abs(coeffs().coeff(0)))
      |                    ^~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Geometry:47,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:6,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:197:11: note: to match this '('
  197 |         if(numext::abs(coeffs().coeff(1))>numext::abs(coeffs().coeff(0)))
      |           ^
In file included from C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/WProgram.h:46,
                 from C:\Users\Merli\AppData\Local\Temp\arduino\sketches\A6B84684DB7894FEFCF607E772B8731A\pch\Arduino.h:6:
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:166:4: error: '_x' was not declared in this scope
  166 |   (_x > 0) ? _x : -_x; \
      |    ^~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:197:20: note: in expansion of macro 'abs'
  197 |         if(numext::abs(coeffs().coeff(1))>numext::abs(coeffs().coeff(0)))
      |                    ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:167:2: error: expected primary-expression before ')' token
  167 | })
      |  ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:197:20: note: in expansion of macro 'abs'
  197 |         if(numext::abs(coeffs().coeff(1))>numext::abs(coeffs().coeff(0)))
      |                    ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:167:2: error: expected primary-expression before ')' token
  167 | })
      |  ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:197:51: note: in expansion of macro 'abs'
  197 |         if(numext::abs(coeffs().coeff(1))>numext::abs(coeffs().coeff(0)))
      |                                                   ^~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Geometry:47,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:6,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Geometry/Hyperplane.h:199:9: error: 'else' without a previous 'if'
  199 |         else
      |         ^~~~
In file included from C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/WProgram.h:46,
                 from C:\Users\Merli\AppData\Local\Temp\arduino\sketches\A6B84684DB7894FEFCF607E772B8731A\pch\Arduino.h:6:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: In function 'Eigen::ComputationInfo Eigen::internal::computeFromTridiagonal_impl(DiagType&, SubDiagType&, Eigen::Index, bool, MatrixType&)':
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:16: error: expected unqualified-id before '(' token
  164 | #define abs(x) ({ \
      |                ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:520:19: note: in expansion of macro 'abs'
  520 |       if (numext::abs(subdiag[i]) < considerAsZero) {
      |                   ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected primary-expression before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:520:19: note: in expansion of macro 'abs'
  520 |       if (numext::abs(subdiag[i]) < considerAsZero) {
      |                   ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected '}' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:520:19: note: in expansion of macro 'abs'
  520 |       if (numext::abs(subdiag[i]) < considerAsZero) {
      |                   ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:17: note: to match this '{'
  164 | #define abs(x) ({ \
      |                 ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:520:19: note: in expansion of macro 'abs'
  520 |       if (numext::abs(subdiag[i]) < considerAsZero) {
      |                   ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected ')' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:520:19: note: in expansion of macro 'abs'
  520 |       if (numext::abs(subdiag[i]) < considerAsZero) {
      |                   ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:16: note: to match this '('
  164 | #define abs(x) ({ \
      |                ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:520:19: note: in expansion of macro 'abs'
  520 |       if (numext::abs(subdiag[i]) < considerAsZero) {
      |                   ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:21: error: expected ')' before ';' token
  165 |   typeof(x) _x = (x); \
      |                     ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:520:19: note: in expansion of macro 'abs'
  520 |       if (numext::abs(subdiag[i]) < considerAsZero) {
      |                   ^~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Eigenvalues:39,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:7,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:520:10: note: to match this '('
  520 |       if (numext::abs(subdiag[i]) < considerAsZero) {
      |          ^
In file included from C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/WProgram.h:46,
                 from C:\Users\Merli\AppData\Local\Temp\arduino\sketches\A6B84684DB7894FEFCF607E772B8731A\pch\Arduino.h:6:
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:166:4: error: '_x' was not declared in this scope
  166 |   (_x > 0) ? _x : -_x; \
      |    ^~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:520:19: note: in expansion of macro 'abs'
  520 |       if (numext::abs(subdiag[i]) < considerAsZero) {
      |                   ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:167:2: error: expected primary-expression before ')' token
  167 | })
      |  ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:520:19: note: in expansion of macro 'abs'
  520 |       if (numext::abs(subdiag[i]) < considerAsZero) {
      |                   ^~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Eigenvalues:39,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:7,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:522:9: error: 'else' without a previous 'if'
  522 |       } else {
      |         ^~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:525:67: error: 'i' was not declared in this scope
  525 |         const RealScalar scaled_subdiag = precision_inv * subdiag[i];
      |                                                                   ^
In file included from C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/WProgram.h:46,
                 from C:\Users\Merli\AppData\Local\Temp\arduino\sketches\A6B84684DB7894FEFCF607E772B8731A\pch\Arduino.h:6:
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:16: error: expected unqualified-id before '(' token
  164 | #define abs(x) ({ \
      |                ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:526:57: note: in expansion of macro 'abs'
  526 |         if (scaled_subdiag * scaled_subdiag <= (numext::abs(diag[i])+numext::abs(diag[i+1]))) {
      |                                                         ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected primary-expression before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:526:57: note: in expansion of macro 'abs'
  526 |         if (scaled_subdiag * scaled_subdiag <= (numext::abs(diag[i])+numext::abs(diag[i+1]))) {
      |                                                         ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected '}' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:526:57: note: in expansion of macro 'abs'
  526 |         if (scaled_subdiag * scaled_subdiag <= (numext::abs(diag[i])+numext::abs(diag[i+1]))) {
      |                                                         ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:17: note: to match this '{'
  164 | #define abs(x) ({ \
      |                 ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:526:57: note: in expansion of macro 'abs'
  526 |         if (scaled_subdiag * scaled_subdiag <= (numext::abs(diag[i])+numext::abs(diag[i+1]))) {
      |                                                         ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected ')' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:526:57: note: in expansion of macro 'abs'
  526 |         if (scaled_subdiag * scaled_subdiag <= (numext::abs(diag[i])+numext::abs(diag[i+1]))) {
      |                                                         ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:16: note: to match this '('
  164 | #define abs(x) ({ \
      |                ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:526:57: note: in expansion of macro 'abs'
  526 |         if (scaled_subdiag * scaled_subdiag <= (numext::abs(diag[i])+numext::abs(diag[i+1]))) {
      |                                                         ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:21: error: expected ')' before ';' token
  165 |   typeof(x) _x = (x); \
      |                     ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:526:57: note: in expansion of macro 'abs'
  526 |         if (scaled_subdiag * scaled_subdiag <= (numext::abs(diag[i])+numext::abs(diag[i+1]))) {
      |                                                         ^~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Eigenvalues:39,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:7,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:526:48: note: to match this '('
  526 |         if (scaled_subdiag * scaled_subdiag <= (numext::abs(diag[i])+numext::abs(diag[i+1]))) {
      |                                                ^
In file included from C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/WProgram.h:46,
                 from C:\Users\Merli\AppData\Local\Temp\arduino\sketches\A6B84684DB7894FEFCF607E772B8731A\pch\Arduino.h:6:
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:21: error: expected ')' before ';' token
  165 |   typeof(x) _x = (x); \
      |                     ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:526:57: note: in expansion of macro 'abs'
  526 |         if (scaled_subdiag * scaled_subdiag <= (numext::abs(diag[i])+numext::abs(diag[i+1]))) {
      |                                                         ^~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Eigenvalues:39,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:7,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:526:12: note: to match this '('
  526 |         if (scaled_subdiag * scaled_subdiag <= (numext::abs(diag[i])+numext::abs(diag[i+1]))) {
      |            ^
In file included from C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/WProgram.h:46,
                 from C:\Users\Merli\AppData\Local\Temp\arduino\sketches\A6B84684DB7894FEFCF607E772B8731A\pch\Arduino.h:6:
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:166:4: error: '_x' was not declared in this scope
  166 |   (_x > 0) ? _x : -_x; \
      |    ^~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:526:57: note: in expansion of macro 'abs'
  526 |         if (scaled_subdiag * scaled_subdiag <= (numext::abs(diag[i])+numext::abs(diag[i+1]))) {
      |                                                         ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:167:2: error: expected primary-expression before ')' token
  167 | })
      |  ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:526:57: note: in expansion of macro 'abs'
  526 |         if (scaled_subdiag * scaled_subdiag <= (numext::abs(diag[i])+numext::abs(diag[i+1]))) {
      |                                                         ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:167:2: error: expected primary-expression before ')' token
  167 | })
      |  ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:526:78: note: in expansion of macro 'abs'
  526 |         if (scaled_subdiag * scaled_subdiag <= (numext::abs(diag[i])+numext::abs(diag[i+1]))) {
      |                                                                              ^~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Eigenvalues:39,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:7,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:530:5: warning: no return statement in function returning non-void [-Wreturn-type]
  530 |     }
      |     ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: At global scope:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:533:5: error: expected unqualified-id before 'while'
  533 |     while (end>0 && subdiag[end-1]==RealScalar(0))
      |     ^~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:537:5: error: expected unqualified-id before 'if'
  537 |     if (end<=0)
      |     ^~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:541:5: error: 'iter' does not name a type
  541 |     iter++;
      |     ^~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:542:5: error: expected unqualified-id before 'if'
  542 |     if(iter > maxIterations * n) break;
      |     ^~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:544:5: error: 'start' does not name a type
  544 |     start = end - 1;
      |     ^~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:545:5: error: expected unqualified-id before 'while'
  545 |     while (start>0 && subdiag[start-1]!=0)
      |     ^~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:548:35: error: 'MatrixType' was not declared in this scope; did you mean 'MatrixXpr'?
  548 |     internal::tridiagonal_qr_step<MatrixType::Flags&RowMajorBit ? RowMajor : ColMajor>(diag.data(), subdiag.data(), start, end, computeEigenvectors ? eivec.data() : (Scalar*)0, n);
      |                                   ^~~~~~~~~~
      |                                   MatrixXpr
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:548:15: error: parse error in template argument list
  548 |     internal::tridiagonal_qr_step<MatrixType::Flags&RowMajorBit ? RowMajor : ColMajor>(diag.data(), subdiag.data(), start, end, computeEigenvectors ? eivec.data() : (Scalar*)0, n);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:548:87: error: expected constructor, destructor, or type conversion before '(' token
  548 |     internal::tridiagonal_qr_step<MatrixType::Flags&RowMajorBit ? RowMajor : ColMajor>(diag.data(), subdiag.data(), start, end, computeEigenvectors ? eivec.data() : (Scalar*)0, n);
      |                                                                                       ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:550:3: error: expected unqualified-id before 'if'
  550 |   if (iter <= maxIterations * n)
      |   ^~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:552:3: error: expected unqualified-id before 'else'
  552 |   else
      |   ^~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:558:3: error: expected unqualified-id before 'if'
  558 |   if (info == Success)
      |   ^~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:572:3: error: expected unqualified-id before 'return'
  572 |   return info;
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:634:54: error: 'Ref' has not been declared
  634 |   static inline bool extract_kernel(MatrixType& mat, Ref<VectorType> res, Ref<VectorType> representative)
      |                                                      ^~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:634:57: error: expected ',' or '...' before '<' token
  634 |   static inline bool extract_kernel(MatrixType& mat, Ref<VectorType> res, Ref<VectorType> representative)
      |                                                         ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: In static member function 'static void direct_selfadjoint_eigenvalues<SolverType, 3, false>::computeRoots(const MatrixType&, direct_selfadjoint_eigenvalues<SolverType, 3, false>::VectorType&)':
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:615:16: error: 'numext' has not been declared
  615 |     a_over_3 = numext::maxi(a_over_3, Scalar(0));
      |                ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:620:9: error: 'numext' has not been declared
  620 |     q = numext::maxi(q, Scalar(0));
      |         ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: In static member function 'static bool direct_selfadjoint_eigenvalues<SolverType, 3, false>::extract_kernel(direct_selfadjoint_eigenvalues<SolverType, 3, false>::MatrixType&, int)':
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:638:5: error: 'Index' was not declared in this scope; did you mean 'Eigen::Index'?
  638 |     Index i0;
      |     ^~~~~
      |     Eigen::Index
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:162,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/util/Meta.h:74:40: note: 'Eigen::Index' declared here
   74 | typedef EIGEN_DEFAULT_DENSE_INDEX_TYPE Index;
      |                                        ^~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Eigenvalues:39,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:7,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:640:41: error: 'i0' was not declared in this scope; did you mean 'y0'?
  640 |     mat.diagonal().cwiseAbs().maxCoeff(&i0);
      |                                         ^~
      |                                         y0
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:643:5: error: 'representative' was not declared in this scope
  643 |     representative = mat.col(i0);
      |     ^~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:648:15: error: 'res' was not declared in this scope
  648 |     if(n0>n1) res = c0/sqrt(n0);
      |               ^~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:649:15: error: 'res' was not declared in this scope
  649 |     else      res = c1/sqrt(n1);
      |               ^~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: In static member function 'static void direct_selfadjoint_eigenvalues<SolverType, 3, false>::run(SolverType&, const MatrixType&, int)':
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:661:41: error: 'ComputeEigenvectors' was not declared in this scope; did you mean 'Eigen::ComputeEigenvectors'?
  661 |     bool computeEigenvectors = (options&ComputeEigenvectors)==ComputeEigenvectors;
      |                                         ^~~~~~~~~~~~~~~~~~~
      |                                         Eigen::ComputeEigenvectors
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:161,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/util/Constants.h:405:3: note: 'Eigen::ComputeEigenvectors' declared here
  405 |   ComputeEigenvectors = 0x80,
      |   ^~~~~~~~~~~~~~~~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Eigenvalues:39,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:7,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:669:57: error: 'Lower' was not declared in this scope; did you mean 'Eigen::Lower'?
  669 |     MatrixType scaledMat = mat.template selfadjointView<Lower>();
      |                                                         ^~~~~
      |                                                         Eigen::Lower
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:161,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/util/Constants.h:209:3: note: 'Eigen::Lower' declared here
  209 |   Lower=0x1,
      |   ^~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Eigenvalues:39,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:7,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:693:9: error: 'Index' was not declared in this scope; did you mean 'Eigen::Index'?
  693 |         Index k(0), l(2);
      |         ^~~~~
      |         Eigen::Index
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:162,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/util/Meta.h:74:40: note: 'Eigen::Index' declared here
   74 | typedef EIGEN_DEFAULT_DENSE_INDEX_TYPE Index;
      |                                        ^~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Eigenvalues:39,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:7,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:696:11: error: 'numext' has not been declared
  696 |           numext::swap(k,l);
      |           ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:696:24: error: 'k' was not declared in this scope
  696 |           numext::swap(k,l);
      |                        ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:696:26: error: 'l' was not declared in this scope
  696 |           numext::swap(k,l);
      |                          ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:702:45: error: 'k' was not declared in this scope
  702 |           tmp.diagonal().array () -= eivals(k);
      |                                             ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:704:57: error: 'l' was not declared in this scope
  704 |           extract_kernel(tmp, eivecs.col(k), eivecs.col(l));
      |                                                         ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:712:22: error: 'l' was not declared in this scope
  712 |           eivecs.col(l) -= eivecs.col(k).dot(eivecs.col(l))*eivecs.col(l);
      |                      ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:712:39: error: 'k' was not declared in this scope
  712 |           eivecs.col(l) -= eivecs.col(k).dot(eivecs.col(l))*eivecs.col(l);
      |                                       ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:718:45: error: 'l' was not declared in this scope
  718 |           tmp.diagonal().array () -= eivals(l);
      |                                             ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:733:21: error: 'Success' was not declared in this scope; did you mean 'Eigen::Success'?
  733 |     solver.m_info = Success;
      |                     ^~~~~~~
      |                     Eigen::Success
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:161,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/util/Constants.h:442:3: note: 'Eigen::Success' declared here
  442 |   Success = 0,
      |   ^~~~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Eigenvalues:39,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:7,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: In static member function 'static void direct_selfadjoint_eigenvalues<SolverType, 2, false>::computeRoots(const MatrixType&, direct_selfadjoint_eigenvalues<SolverType, 2, false>::VectorType&)':
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:752:43: error: 'numext' has not been declared
  752 |     const Scalar t0 = Scalar(0.5) * sqrt( numext::abs2(m(0,0)-m(1,1)) + Scalar(4)*numext::abs2(m(1,0)));
      |                                           ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:752:83: error: 'numext' has not been declared
  752 |     const Scalar t0 = Scalar(0.5) * sqrt( numext::abs2(m(0,0)-m(1,1)) + Scalar(4)*numext::abs2(m(1,0)));
      |                                                                                   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: In static member function 'static void direct_selfadjoint_eigenvalues<SolverType, 2, false>::run(SolverType&, const MatrixType&, int)':
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:768:41: error: 'ComputeEigenvectors' was not declared in this scope; did you mean 'Eigen::ComputeEigenvectors'?
  768 |     bool computeEigenvectors = (options&ComputeEigenvectors)==ComputeEigenvectors;
      |                                         ^~~~~~~~~~~~~~~~~~~
      |                                         Eigen::ComputeEigenvectors
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:161,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/util/Constants.h:405:3: note: 'Eigen::ComputeEigenvectors' declared here
  405 |   ComputeEigenvectors = 0x80,
      |   ^~~~~~~~~~~~~~~~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Eigenvalues:39,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:7,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:795:21: error: 'numext' has not been declared
  795 |         Scalar a2 = numext::abs2(scaledMat(0,0));
      |                     ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:796:21: error: 'numext' has not been declared
  796 |         Scalar c2 = numext::abs2(scaledMat(1,1));
      |                     ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:797:21: error: 'numext' has not been declared
  797 |         Scalar b2 = numext::abs2(scaledMat(1,0));
      |                     ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:817:21: error: 'Success' was not declared in this scope; did you mean 'Eigen::Success'?
  817 |     solver.m_info = Success;
      |                     ^~~~~~~
      |                     Eigen::Success
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:161,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/util/Constants.h:442:3: note: 'Eigen::Success' declared here
  442 |   Success = 0,
      |   ^~~~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Eigenvalues:39,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:7,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: At global scope:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:823:1: error: expected declaration before '}' token
  823 | }
      | ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:827:1: error: 'SelfAdjointEigenSolver' does not name a type
  827 | SelfAdjointEigenSolver<MatrixType>& SelfAdjointEigenSolver<MatrixType>
      | ^~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: In function 'void internal::tridiagonal_qr_step(RealScalar*, RealScalar*, Index, Index, Scalar*, Index)':
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:851:11: error: 'numext' has not been declared
  851 |     mu -= numext::abs(e);
      |           ^~~~~~
In file included from C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/WProgram.h:46,
                 from C:\Users\Merli\AppData\Local\Temp\arduino\sketches\A6B84684DB7894FEFCF607E772B8731A\pch\Arduino.h:6:
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:16: error: expected unqualified-id before '(' token
  164 | #define abs(x) ({ \
      |                ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:851:19: note: in expansion of macro 'abs'
  851 |     mu -= numext::abs(e);
      |                   ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected primary-expression before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:851:19: note: in expansion of macro 'abs'
  851 |     mu -= numext::abs(e);
      |                   ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected '}' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:851:19: note: in expansion of macro 'abs'
  851 |     mu -= numext::abs(e);
      |                   ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:17: note: to match this '{'
  164 | #define abs(x) ({ \
      |                 ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:851:19: note: in expansion of macro 'abs'
  851 |     mu -= numext::abs(e);
      |                   ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:165:3: error: expected ')' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:851:19: note: in expansion of macro 'abs'
  851 |     mu -= numext::abs(e);
      |                   ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:164:16: note: to match this '('
  164 | #define abs(x) ({ \
      |                ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:851:19: note: in expansion of macro 'abs'
  851 |     mu -= numext::abs(e);
      |                   ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:166:4: error: '_x' was not declared in this scope
  166 |   (_x > 0) ? _x : -_x; \
      |    ^~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:851:19: note: in expansion of macro 'abs'
  851 |     mu -= numext::abs(e);
      |                   ^~~
C:\Users\Merli\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.59.1\cores\teensy4/wiring.h:167:2: error: expected primary-expression before ')' token
  167 | })
      |  ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:851:19: note: in expansion of macro 'abs'
  851 |     mu -= numext::abs(e);
      |                   ^~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Eigenvalues:39,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Dense:7,
                 from d:\Users\Merli\Documents\Arduino\libraries\ExtendedKalman/ExtendedKalman.h:14,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:55:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: At global scope:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:852:5: error: expected unqualified-id before 'else'
  852 |   } else if (e != RealScalar(0)) {
      |     ^~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:862:3: error: 'RealScalar' does not name a type
  862 |   RealScalar x = diag[start] - mu;
      |   ^~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:863:3: error: 'RealScalar' does not name a type
  863 |   RealScalar z = subdiag[start];
      |   ^~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:866:3: error: expected unqualified-id before 'for'
  866 |   for (Index k = start; k < end && z != RealScalar(0); ++k)
      |   ^~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:866:25: error: 'k' does not name a type
  866 |   for (Index k = start; k < end && z != RealScalar(0); ++k)
      |                         ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:866:56: error: expected unqualified-id before '++' token
  866 |   for (Index k = start; k < end && z != RealScalar(0); ++k)
      |                                                        ^~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:900:1: error: expected declaration before '}' token
  900 | } // end namespace internal
      | ^
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:902:1: error: expected declaration before '}' token
  902 | } // end namespace Eigen
      | ^
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:173,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/MathFunctionsImpl.h: In instantiation of 'T Eigen::internal::generic_fast_tanh_float(const T&) [with T = float]':
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/MathFunctions.h:1790:63:   required from here
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/MathFunctionsImpl.h:36:32: error: 'Eigen::pset1<float>' cannot be used as a function
   36 |   const T plus_clamp = pset1<T>(7.90531110763549805f);
      |                        ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/MathFunctionsImpl.h:37:33: error: 'Eigen::pset1<float>' cannot be used as a function
   37 |   const T minus_clamp = pset1<T>(-7.90531110763549805f);
      |                         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/MathFunctionsImpl.h:39:26: error: 'Eigen::pset1<float>' cannot be used as a function
   39 |   const T tiny = pset1<T>(0.0004f);
      |                  ~~~~~~~~^~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/MathFunctionsImpl.h:43:29: error: 'Eigen::pset1<float>' cannot be used as a function
   43 |   const T alpha_1 = pset1<T>(4.89352455891786e-03f);
      |                     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/MathFunctionsImpl.h:44:29: error: 'Eigen::pset1<float>' cannot be used as a function
   44 |   const T alpha_3 = pset1<T>(6.37261928875436e-04f);
      |                     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/MathFunctionsImpl.h:45:29: error: 'Eigen::pset1<float>' cannot be used as a function
   45 |   const T alpha_5 = pset1<T>(1.48572235717979e-05f);
      |                     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/MathFunctionsImpl.h:46:29: error: 'Eigen::pset1<float>' cannot be used as a function
   46 |   const T alpha_7 = pset1<T>(5.12229709037114e-08f);
      |                     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/MathFunctionsImpl.h:47:29: error: 'Eigen::pset1<float>' cannot be used as a function
   47 |   const T alpha_9 = pset1<T>(-8.60467152213735e-11f);
      |                     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/MathFunctionsImpl.h:48:30: error: 'Eigen::pset1<float>' cannot be used as a function
   48 |   const T alpha_11 = pset1<T>(2.00018790482477e-13f);
      |                      ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/MathFunctionsImpl.h:49:30: error: 'Eigen::pset1<float>' cannot be used as a function
   49 |   const T alpha_13 = pset1<T>(-2.76076847742355e-16f);
      |                      ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/MathFunctionsImpl.h:52:28: error: 'Eigen::pset1<float>' cannot be used as a function
   52 |   const T beta_0 = pset1<T>(4.89352518554385e-03f);
      |                    ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/MathFunctionsImpl.h:53:28: error: 'Eigen::pset1<float>' cannot be used as a function
   53 |   const T beta_2 = pset1<T>(2.26843463243900e-03f);
      |                    ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/MathFunctionsImpl.h:54:28: error: 'Eigen::pset1<float>' cannot be used as a function
   54 |   const T beta_4 = pset1<T>(1.18534705686654e-04f);
      |                    ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/MathFunctionsImpl.h:55:28: error: 'Eigen::pset1<float>' cannot be used as a function
   55 |   const T beta_6 = pset1<T>(1.19825839466702e-06f);
      |                    ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/Core:254,
                 from d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/eigen.h:36,
                 from D:\Users\Merli\Documents\Arduino\libraries\FreeIMU\examples\FreeIMU_EKF2\FreeIMU_EKF2.ino:52:
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/functors/UnaryFunctors.h: In instantiation of 'Packet Eigen::internal::scalar_logistic_op<float>::packetOp(const Packet&) const [with Packet = float]':
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/functors/UnaryFunctors.h:1047:20:   required from here
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/functors/UnaryFunctors.h:1052:46: error: 'Eigen::pset1<float>' cannot be used as a function
 1052 |     const Packet cutoff_lower = pset1<Packet>(-9.f);
      |                                 ~~~~~~~~~~~~~^~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/functors/UnaryFunctors.h:1061:46: error: 'Eigen::pset1<float>' cannot be used as a function
 1061 |     const Packet cutoff_upper = pset1<Packet>(15.6437711715698242f);
      |                                 ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/functors/UnaryFunctors.h:1066:41: error: 'Eigen::pset1<float>' cannot be used as a function
 1066 |     const Packet alpha_1 = pset1<Packet>(2.48287947061529e-01f);
      |                            ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/functors/UnaryFunctors.h:1067:41: error: 'Eigen::pset1<float>' cannot be used as a function
 1067 |     const Packet alpha_3 = pset1<Packet>(8.51377133304701e-03f);
      |                            ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/functors/UnaryFunctors.h:1068:41: error: 'Eigen::pset1<float>' cannot be used as a function
 1068 |     const Packet alpha_5 = pset1<Packet>(6.08574864600143e-05f);
      |                            ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/functors/UnaryFunctors.h:1069:41: error: 'Eigen::pset1<float>' cannot be used as a function
 1069 |     const Packet alpha_7 = pset1<Packet>(1.15627324459942e-07f);
      |                            ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/functors/UnaryFunctors.h:1070:41: error: 'Eigen::pset1<float>' cannot be used as a function
 1070 |     const Packet alpha_9 = pset1<Packet>(4.37031012579801e-11f);
      |                            ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/functors/UnaryFunctors.h:1073:40: error: 'Eigen::pset1<float>' cannot be used as a function
 1073 |     const Packet beta_0 = pset1<Packet>(9.93151921023180e-01f);
      |                           ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/functors/UnaryFunctors.h:1074:40: error: 'Eigen::pset1<float>' cannot be used as a function
 1074 |     const Packet beta_2 = pset1<Packet>(1.16817656904453e-01f);
      |                           ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/functors/UnaryFunctors.h:1075:40: error: 'Eigen::pset1<float>' cannot be used as a function
 1075 |     const Packet beta_4 = pset1<Packet>(1.70198817374094e-03f);
      |                           ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/functors/UnaryFunctors.h:1076:40: error: 'Eigen::pset1<float>' cannot be used as a function
 1076 |     const Packet beta_6 = pset1<Packet>(6.29106785017040e-06f);
      |                           ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/functors/UnaryFunctors.h:1077:40: error: 'Eigen::pset1<float>' cannot be used as a function
 1077 |     const Packet beta_8 = pset1<Packet>(5.76102136993427e-09f);
      |                           ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/functors/UnaryFunctors.h:1078:41: error: 'Eigen::pset1<float>' cannot be used as a function
 1078 |     const Packet beta_10 = pset1<Packet>(6.10247389755681e-13f);
      |                            ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
d:\Users\Merli\Documents\Arduino\libraries\eigen-main\src/Eigen/src/Core/functors/UnaryFunctors.h:1097:59: error: 'Eigen::pset1<float>' cannot be used as a function
 1097 |     const Packet logistic = padd(pdiv(p, q), pset1<Packet>(0.5f));
      |                                              ~~~~~~~~~~~~~^~~~~~
Multiple libraries were found for "DCM.h"
  Used: D:\Users\Merli\Documents\Arduino\libraries\DCM
  Not used: D:\Users\Merli\Documents\Arduino\libraries\DCM_Ahrs
Multiple libraries were found for "I2Cdev.h"
  Used: D:\Users\Merli\Documents\Arduino\libraries\I2Cdev
  Not used: D:\Users\Merli\Documents\Arduino\libraries\MotionDriver
exit status 1

Compilation error: exit status 1

When I ran the same example in 1.8.19 with TD 1.57 it compiled with no issues:
Code:
Opening Teensy Loader...
Memory Usage on Teensy 4.1:
  FLASH: code:44316, data:3992, headers:9032   free for files:8069124
   RAM1: variables:4608, code:41648, padding:23888   free for local variables:454144
   RAM2: variables:12384  free for malloc/new:511904
 
In PlatformIO, in order to get `IntervalTimer` to compile, this might be needed in your platformio.ini file:

Code:
build_unflags = -std=gnu++14

PlatformIO's platform/teensy/builder/frameworks/arduino.py file sets the "-std=gnu++14" flag, so removing it with "build_unflags" allows the compiler to use its default, which, in the case of the compiler included with Teensyduino 1.58 and later (11.3.1), is "-std=gnu++17".
 
@mjs513. You might consider adding this
Code:
#ifdef abs
#undef abs
#endif
at the top of the sources (after the include of wiring.h) where the abs macro expansion is causing an error
 
@defragster
The issue I was having in #5 above was the dang cached files not clearing out in Arduino 2.0.x after changing the CPU speed. Serial.println(F_CPU) showed the selected speed but used the cached. Didn't know that was an issue, wasted all day on it. Apparently, the IDE keeps many settings for the first run of any file. Not sure what if anything currently triggers a complete re-compile other than deleting all directories and files in (in my car on macOS):

/private/var/folders/q9/pwxvzmz56xvbkcnp3q0gsjkr0000gn/T/arduino/

This folder can be found by looking at the last line of compiler output, after the last 'space' which in this case was:
/private/var/folders/q9/pwxvzmz56xvbkcnp3q0gsjkr0000gn/T/arduino/sketches/1D7B5D932062CD715DD717752F7D9CA0/Blink.ino.elf

I had been deleting just:
/private/var/folders/q9/pwxvzmz56xvbkcnp3q0gsjkr0000gn/T/arduino/sketches/
but that won't do it in this case.

I guess that's why it's still 2.0.5 -nightly! I should have known better.
 
Last edited:
@bicycleguy Does quitting and restarting the IDE achieve clearing the cache for you? I'm curious.
 
Pur an edit in p#5 ...

@bicycleguy Does quitting and restarting the IDE achieve clearing the cache for you? I'm curious.

Even just closing the single sketch? I often have multiples open - closing one then 'open recent' is faster than full IDE 2 shutdown/restart - I have to do that to have the Board Manager update show up when the 'PJRC URL' gets updated.
Not sure if it cleans the TEMP or picks a new temp folder on doing that ...
 
@bicycleguy Does quitting and restarting the IDE achieve clearing the cache for you? I'm curious.

Look at the directory I posted in #2 above... delete the core.a files out of there and try again.

I opened up a new issue last week on this: https://github.com/arduino/arduino-ide/issues/1990
So far no one from Arduino has touched it.

Also have thread up on Arduino forum on this: https://forum.arduino.cc/t/teensy-compile-sketch-fails-clear-out-temp-build-completes/1110104
 
@bicycleguy Does quitting and restarting the IDE achieve clearing the cache for you? I'm curious.

Can't find it, but read in the Arduino 2.x documentation that a new 'Feature' of the IDE is to not clear the caches when quitting. Even compiling another program leaves any other started programs. The settings for the first used one is what stays. When you come back even a day later it still uses it.
 
Look at the directory I posted in #2 above... delete the core.a files out of there and try again.

I opened up a new issue last week on this: https://github.com/arduino/arduino-ide/issues/1990
So far no one from Arduino has touched it.

Also have thread up on Arduino forum on this: https://forum.arduino.cc/t/teensy-compile-sketch-fails-clear-out-temp-build-completes/1110104
Kurt,
Don't have to look at other features, just change the CPU speed. The problem is identifying that the speed actually changed. I used either a current meter on the usb or an oscilloscope with this:
Code:
const int ledPin = 13;  //put oscilloscope on this pin

void setup() {
  Serial.begin(9600);
  while(!Serial)
    ;
  delay(1000);  //for 3.x
  Serial.println(F_CPU/1000000);  //this will be incorrect
  pinMode(ledPin, OUTPUT);
}

void loop() {
  static boolean i;
  i=!i;
  digitalWriteFast(ledPin, i);
}
 
Don't have to look at other features, just change the CPU speed. The problem is identifying that the speed actually changed. I used either a current meter on the usb or an oscilloscope with this:
...

Just to confirm released IDE 2.0.4 properly builds with clock change caught and reflected:
Code:
600
450
600
 
Just to confirm released IDE 2.0.4 properly builds with clock change caught and reflected:
Code:
600
450
600

If you looked carefully at the issue that @KurtE raised on github you will notice that I found the problem started after the 3/11/23 nightly build. As of the 3/11 build it was working with out a problem
 
@mjs513, I am using the 3/30 nightly. Is there a way to get the 3/10 nightly:) 2.0.4 has to many terminal issues for me. Guess I'll try the latest nightly, can't hurt....

Right, I'll wait. I don't change the effected stuff that much so will do the hand cache dump. (If I remember ! )
 
If you looked carefully at the issue that @KurtE raised on github you will notice that I found the problem started after the 3/11/23 nightly build. As of the 3/11 build it was working with out a problem

Good info, but it was easy to try (given posted sketch) and post here for clarity.

I did have fights again getting SerMon in IDE 2 to program and display the T_4.1 ... maybe after 27 days it is time to restart this machine. It worked properly after first couple Button and whatever other efforts - but was odd. IDE 1.8.x is open - but wasn't connected though it may have programmed last? TyCommander no open - I did try to open it when IDE 2 was not finding - and it was slow/hanging on start so it was having an issue before I trashed it - then IDE 2 started working.
 
@mjs513, I am using the 3/30 nightly. Is there a way to get the 3/10 nightly:) 2.0.4 has to many terminal issues for me. Guess I'll try the latest nightly, can't hurt....

Right, I'll wait. I don't change the effected stuff that much so will do the hand cache dump. (If I remember ! )

Not automatically I don't. Only thing I can thing of is to download the commit around that date. Maybe this one dated march 7: https://github.com/arduino/arduino-ide/tree/24dc0bbc88bcfd083e03b0c8601cffb08e8d5728
 
What I end up doing when I run into this on windows is open a browser window
and type in it: %temp%/arduino
It will take you to that directory and then I delete the cores directory and do a rebuild.
Or you can walk into the cores and only delete the ones you need to

On Ubuntu it appeard like this is /tmp/arduino/cores

Mac... mine is in cabinet right now...
 
Testing here with Linux. Using Teensy package 0.59.2.

Can confirm the code from msg #15 gives different frequency on pin 13 when Tools > CPU speed is changed in IDE 2.0.4. But with IDE nightly-20230403, the frequency is always the same.

Both print the proper result in the serial monitor. Using that code, the effect is observable only by measuring frequency on pin 13.
 
Here is a test program which makes seeing the problems easier, needing only the serial monitor (but you can still confirm with a scope or frequency counter if you like):

Code:
elapsedMillis timeout;

void setup() {
  pinMode(13, OUTPUT);
  Serial.begin(9600);
  Serial.print("begin loop speed test, F_CPU = ");
  Serial.println(F_CPU);
  timeout = 0;
}

void loop() {
  static unsigned int loopcount = 0;
  loopcount++;
  digitalToggleFast(13); // measure pin 13 frequency
  if (timeout >= 1000) {
    timeout = 0;
    Serial.print("loop/sec = ");
    Serial.println(loopcount);
    loopcount = 0;
  }
}
 
Yep as I mentioned I believe here and on the github issue, when you change the settings like the CPU speed and do a build.

You will see a message (maybe only if you have verbose output turned on)
Code:
Using precompiled core: C:\Users\kurte\AppData\Local\Temp\arduino\cores\adafruit_samd_adafruit_feather_m4_7f28ce7a8428c81788c537313d8873fa\core.a
Linking everything together...
That is from the one when I was verifying same issue with Adafruit board
 
Back
Top