I am attempting to utilise the FHT library from open mic labs (OML) to use beat detection with a neopixel strip on an uno board. I have implemented the example provided by OML (FHTExample - Open Music Labs Wiki) in a class however now every time I use analogRead anywhere (using any analog pin) in my program the entire thing completely stops running.
I have a feeling it has something to do with either the timer or how the ADC is used by OML but I don't understand registers anywhere near enough to troubleshoot this by myself.
I am aware the library uses the ADC. My problem is that I need to read from an analog pin elsewhere in my program and this library seems to break the analogRead() function.
I suspect the library is interrupt driven and precludes use of the ADC externally - there's only one ADC and its a hardware resource that can't be both interrupt driven and asynchronously driven at the same time.
The only solutions I can think of involve either understanding and modifying the
library or finding another library that doesnt drive the ADC the same way.