T 3.6 Audio library does not work with USBHost library

guitarist1977

New member
All,

Does anybody seen an issue when USB Host library for Teensy 3.6 / 4 does not work with Audio library.

If I add I2S device and connect it to AudioOutputUSB, interrupts stops coming to USB host right after it enumerated devices.

Thanks,
Alex.
 
Not sure this was tried. Was this on T_4.0 or 3.6? Please provide minimal sample code needed to repro and note if i2s device actually required to repro. Include USBHost device type in sample - can it be a simple wired mouse or no actual device.
 
AudioOutputUSB is for USB device. It sends data from Teensy to your PC or Mac over the normal USB device port (the same one you use for programming Teensy). AudioOutputUSB does not use the USB host port in any way.

Because they're supposed to be independent, if you're using AudioOutputUSB, activity on the USB host port isn't supposed to affect it.

To answer your question "anybody seen an issue", as far as I know, the answer is no. I do not recall this particular problem ever being reported before.

There may be an unknown bug. Or it could be something wrong with your program. Either way, the next step is to give us the code and enough info to reproduce the problem. Just to be clear, if I will only investigate fix this issue if the code & info you post gives a clear way to reproduce the problem. Please try to be complete with the info you post, including the exact USB devices to use, which operating system and software to run for the audio reception, and clearly explain what steps to perform with to cause the audio to stop.
 
Thanks for answers. For now I just wanted to check if it is an issues seen before.

I am adding support for non class compliant device to USBHost library and modified a bit ehci.cpp and some other files while debugging.

First I am going to revert everything back and check where I made mistake. If I made none, then I will report the problem.

Alex.
 
I confirm it was my mistake. When claiming a device, on the first interface type call, I traversed the descriptor to get all other interfaces and endpoints. This was a bad idea since the call was made in ISR context.

Exactly why it only manifested itself with USB audio I don’t know. But once I changed claim logic the issue is gone.
 
Back
Top