Replies: 3 comments 11 replies
-
Hi,
Exactly, you issue sounds strange, seems like the host didn't send IN token for feedback packet. Did you test with Windows, could you try to uninstall the device driver in Device Manager and try it again ? Do you have a USB protocol analyzer to see what happened ? |
Beta Was this translation helpful? Give feedback.
-
It's not normal to have these |
Beta Was this translation helpful? Give feedback.
-
Many Many thanks hifiphile, |
Beta Was this translation helpful? Give feedback.
-
Hello,
I am confused with the audio Feedback, I tested the method AUDIO_FEEDBACK_METHOD_FREQUENCY_FIXED and AUDIO_FEEDBACK_FIFO_COUNT
I tested using a stm32h7 and stm32h5 with the same result.
I assume that every period of time, we send a feedback message to the host, but it seems that only the first message gets its acknowledge and next messages don’t have knowledges, consequently the fb endpoint stays busy. The function usbd_edpt_busy returns true and no other message are sent.
Even if I use the sample uac2_speaker_fb using the AUDIO_FEEDBACK_FIFO_COUNT method
I patched the function audiod_fb_fifo_count_update to print an “Ok” when the message is sent, and I get only one “Ok” at the beginning of the playback
How the feedback could work in these conditions, where am I wrong ?
// Schedule a transmit with the new value if EP is not busy - this triggers repetitive scheduling of the feedback value
if (!usbd_edpt_busy(audio->rhport, audio->ep_fb))
{
printf("ok\n");
audiod_fb_send(audio);
}
Else
{
printf("ko\n");
}
Thanks
Beta Was this translation helpful? Give feedback.
All reactions