Today I and yesterday played a bit with CMSIS DSP library, because I wanted some small FFT function for LPC1114. I must admit, it was the most painful "punch in da face" type of fail I ever experienced. Totally unfriendly, poorly documented and not working out of the box. I spent whole day persuading it to work, but I wasn't able to get rid of hard fault trap whenever I got to bitreverse function.
Nevermind, I downloaded this
http://web.mit.edu/ghudson/dev/nokrb/third/gst-plugins/gst/spectrum/fix_fft.c code and adapted it to LPC1114 in no time, working flawlessly immediately. I added vector length computing routine. If I would do the correct choice (to avoid CMSIS, as I did ever before) at first time, I could spend weekend by more productive work, like getting sensors and display to work.
By the way, the code is slower, but absolutely OK for my purpose. On the other hand, it is much smaller - 5,5kB versus 13kB FLASH consumed, making huge difference in 32k FLASH part.
Well, lesson learned.
Just for fun, I hooked it to my old trustworty Philips scope, just to check timing (the small spikes whenever new FFT round begins).
I love the green trace.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.