Forum Rule: Always post complete source code & details to reproduce any issue!
Page 1 of 6 1 2 3 ... LastLast
Results 1 to 25 of 149

Thread: Teensyduino 1.59 Beta #2

  1. #1
    Administrator Paul's Avatar
    Join Date
    Oct 2012
    Posts
    448

    Teensyduino 1.59 Beta #2

    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-b...nstall.linux32

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

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

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

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

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

    Arduino 1.8.x, Windows:
    https://www.pjrc.com/teensy/td_159-b...inoInstall.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

  2. #2
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    11,786
    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?

  3. #3
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    8,758
    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

  4. #4
    Senior Member
    Join Date
    Apr 2014
    Location
    Germany
    Posts
    2,105
    Quote Originally Posted by mjs513 View Post
    Probably will go through some of @luni's examples later. Still doing morning routines
    For those not following the other thread here a link to some usage examples for the extended IntervalTimer interface: https://github.com/TeensyUser/doc/wi...back-interface

  5. #5
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    17,433
    From 1.58 release thread today:
    <EDIT> re Current Issue: See post #9 - IDE temp CACHE ISSUE - speed change not reflected in next build
    Quote Originally Posted by bicycleguy View Post
    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 by defragster; 04-11-2023 at 05:10 AM.

  6. #6
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    8,758
    @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

  7. #7
    Senior Member
    Join Date
    Mar 2017
    Location
    Oakland, CA, USA
    Posts
    795
    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".

  8. #8
    Senior Member
    Join Date
    Aug 2018
    Location
    Brisbane, Australia
    Posts
    185
    @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

  9. #9
    Senior Member
    Join Date
    Dec 2015
    Location
    LA
    Posts
    284
    @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 by bicycleguy; 04-11-2023 at 04:56 AM. Reason: added speed shown incorrectly

  10. #10
    Senior Member
    Join Date
    Mar 2017
    Location
    Oakland, CA, USA
    Posts
    795
    @bicycleguy Does quitting and restarting the IDE achieve clearing the cache for you? I'm curious.

  11. #11
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    17,433
    Pur an edit in p#5 ...

    Quote Originally Posted by shawn View Post
    @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 ...

  12. #12
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    8,758
    Quote Originally Posted by thebigg View Post
    @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
    Actually you are right and my fault for not remembering thanks for reminding me. I actually put in a PR to that back in September 2022 to fix the issue: https://github.com/PaulStoffregen/cores/pull/655. Guess will have to put in eigen.

  13. #13
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    11,786
    Quote Originally Posted by shawn View Post
    @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-co...pletes/1110104

  14. #14
    Senior Member
    Join Date
    Dec 2015
    Location
    LA
    Posts
    284
    Quote Originally Posted by shawn View Post
    @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.

  15. #15
    Senior Member
    Join Date
    Dec 2015
    Location
    LA
    Posts
    284
    Quote Originally Posted by KurtE View Post
    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-co...pletes/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);
    }

  16. #16
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    17,433
    Quote Originally Posted by bicycleguy View Post
    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

  17. #17
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    8,758
    Quote Originally Posted by defragster View Post
    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

  18. #18
    Senior Member
    Join Date
    Dec 2015
    Location
    LA
    Posts
    284
    @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 ! )

  19. #19
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    17,433
    Quote Originally Posted by mjs513 View Post
    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.

  20. #20
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    8,758
    Quote Originally Posted by bicycleguy View Post
    @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-i...1cffb08e8d5728

  21. #21
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    11,786
    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...

  22. #22
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    28,469
    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.

  23. #23
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    28,469
    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;
      }
    }

  24. #24
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    11,786
    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

  25. #25
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    28,469
    I posted the code and screenshots comparing nightly-20230403 to 2.0.4 on issue #1990.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •