Infineon / XMC-for-Arduino

Integration of Infineon's XMC microcontrollers into the Arduino IDE.
Other
106 stars 68 forks source link

Compilation errors when including CMSIS DSP headers #306

Closed MaxMax-embedded closed 3 weeks ago

MaxMax-embedded commented 3 weeks ago

Prerequisites

No special prerequisites required, only a XMC4700 Relax Kit and the Arduino Framework.

Can you reproduce the problem reliably? Yes

Did you check current release notes for known issues? Yes

If this is not the latest release, have you checked newer releases? n.a.

Description:

The compliation process fails if arm_math.h and arm_const_structs.h are included. This is because A0, A1 and A2 are used as variable names in PID controller structs part of arm_math.h conflicting with the defines for analog pins in pins_arduino.h. The Bug can be easily fixed by renaming the variables in arm_math.h

Steps to Reproduce:

  1. Make a new project and include arm_math.h -> compliation should fail

Build/Commit:

XMC for Arduino on Version 3.4.1

Target:

XMC4700 Relax Kit

Host OS and Version:

Windows 10

Compiler:

IDE Version 2.3.2

LinjingZhang commented 3 weeks ago

Hi @MaxMax-embedded,

Thank you for reporting this issue!

You are correct that our analog pin macro might be causing conflicts. As you mentioned, a temporary workaround is to rename the parameter in CMSIS. We realize this isn't an ideal solution, and we are working on improving pin naming conventions in the XMC4Arduino library for a future release.

Thanks again and feel free to reach out if you run into any more issues or have other suggestions.

Best regards, Linjing