I'm working on a version of PJRC's audio shield that replaces the SD card with the RN52 bluetooth audio module -- RN52 controls both clock signals and outputs I2S data to Teensy 3.2 pin 13 using AudioInputI2Sslave. I'm having trouble understanding how to generate an analog output.
I understand Teensy cannot act as a slave and a master in the context of the audio library, so I don't expect Teensy to every handle any I2S output at all. I read on the SGTL5000 datasheet, though, that the SGTL5000 audio switch can route "Any single input [...] to any single or multiple outputs". If I have an I2S signal from the bluetooth module coming into a Teensy running the audio library (up to this point totally separate from the SGTL5000 module), can I then also split that signal off to the SGTL5000's I2S input (along with both clocks) and control SGTL5000 routing from the audio library using I2C?
In other words, I was hoping I could use an SGTL5000 input like const int myInput = AUDIO_INPUT_I2S; and then somehow instruct the SGTL5000 module to route that to its analog output?
Happy to share code and/or eagle files!
I understand Teensy cannot act as a slave and a master in the context of the audio library, so I don't expect Teensy to every handle any I2S output at all. I read on the SGTL5000 datasheet, though, that the SGTL5000 audio switch can route "Any single input [...] to any single or multiple outputs". If I have an I2S signal from the bluetooth module coming into a Teensy running the audio library (up to this point totally separate from the SGTL5000 module), can I then also split that signal off to the SGTL5000's I2S input (along with both clocks) and control SGTL5000 routing from the audio library using I2C?
In other words, I was hoping I could use an SGTL5000 input like const int myInput = AUDIO_INPUT_I2S; and then somehow instruct the SGTL5000 module to route that to its analog output?
Happy to share code and/or eagle files!
Last edited: