CMSIS DSP library is out of date

geekEE

Active member
In the current v1.57 Teensyduino, released July 2022, it includes the CMSIS DSP library. However, the CMSIS version that is seen in https://github.com/PaulStoffregen/cores/blob/master/teensy4/arm_math.h is v1.5.1, from January 2017. The latest CMSIS DSP library version is v1.10.0.

The next time that the Teensy library is updated, can the CMSIS library be updated to the latest version? There are new functions and fixes that would be useful. Or is there some reason that an older version is being used?
 
Can you tell us what problems you have found? Paul may answer, but I think it is not necessarily an easy thing to bring in the latest CMSIS DSP, as it keeps changing and getting bigger.

Here is a thread on an issue I found in the Teensy3 (DSP 1.1.0) and a work-around. You can create your own library with the newer version, and the new functions will supercede what is in TeensyDuino. I've only done that for a few functions, but I think you could do the same.

https://forum.pjrc.com/threads/69764-Bug-in-Teensy3-version-of-CMSIS-DSP-(v1-1-0)-arm_sin_cos_f32()
 
The reason that I noticed the version of CMSIS -DSP library that was used was because I tried to use the arm_cfft_init_f32 function and found that it does not exist in the v1.5.1 library. I believe that it was added at v1.7. I worked around it, but I think that it would be nice if the CMSIS version kept up with the version that is documented online. If newer versions break the Teensyduino library, then I can understand why, but if they're backwards compatible, then I'd like to have newer features and bugfixes.
 
The reason that I noticed the version of CMSIS -DSP library that was used was because I tried to use the arm_cfft_init_f32 function and found that it does not exist in the v1.5.1 library. I believe that it was added at v1.7. I worked around it, but I think that it would be nice if the CMSIS version kept up with the version that is documented online. If newer versions break the Teensyduino library, then I can understand why, but if they're backwards compatible, then I'd like to have newer features and bugfixes.

Hopefully those who know more will answer and provide more information. The only usage of the DSP functions I can find in TeensyDuino are in the Audio library. Just FYI, I see that DSP 1.5.1 has functions arm_cfft_radix2_init() and arm_cfft_radix4_init(), so maybe one of those will let you work around the missing arm_cfft_init() for now.
 
Hopefully those who know more will answer and provide more information. The only usage of the DSP functions I can find in TeensyDuino are in the Audio library. Just FYI, I see that DSP 1.5.1 has functions arm_cfft_radix2_init() and arm_cfft_radix4_init(), so maybe one of those will let you work around the missing arm_cfft_init() for now.

Don;t think there is just a arm_cfft_init() function. Has to be something more like arm_cfft_init_q15 or arm_cfft_init_q31 or arm_cfft_init_f32 (https://www.keil.com/pack/doc/CMSIS/DSP/html/group__ComplexFFT.html) at least in the latest version.
 
Back
Top