Teensy 4.1 FastLed Tone() issue

Status
Not open for further replies.

Bloom

New member
I'm programming the Teensy 4.1 with Arduino & Teensyduino to monitor an octave analyzer circuit and control a short light strip (WS2812B, code/photo below). My current program and hardware setup in the picture work as expected. The frequency analyzer circuit needs a clock input to run in addition to controlling its center frequency. For debugging, I initially provide this externally (set at 5200 Hz) with an Arduino Uno using the Tone() function. Again, this yields successful results as anticipated.

The next step would have the Teensy provide the clock signal in order to remove the Uno. I chose pin 33 because of its location. However, when the commented line "tone(33, 5200);" is enabled, the program fails to run properly and the LED strip is unresponsive. This is still while using the Uno for clock, simply enabling the line kills the code. I've also tried analogWriteFrequency() as well as various other pin assignments and clock frequencies that all stop the lights.

I believe this has to do with FastLed and pin interrupts, but using the Uno to simultaneously monitor the analyzer circuit, use FastLed, and provide the clock frequency had no issues (obviously much slower). I'd like to know if there is an explanation and hopefully a solution for this.

TL;DR
FastLED stops working when trying to write a frequency from a pin.

Win10
Arduino 1.8.13
Teensy Loader beta1.53

20200630_201545.jpg

View attachment OctaveAnalyzer.ino

**Unrelated, but I found that a microsecond delay in my loop was necessary to make FastLed.show() work properly. What's with all my internal timer issues?
 
Status
Not open for further replies.
Back
Top