Explicit Feedback Topic is solved

If you have a simple question and just want an answer.
Post Reply
Kanae
Junior Member
Posts: 5
Joined: Fri Nov 25, 2016 1:26 am

Explicit Feedback

Post by Kanae »

I would like to know the reason why the sw_usb_audio provided by XMOS
can support Implicit Feedback as a default after the sw_usb_audio Ver. 6.13.0.
Because it supported only Explicit Feedback in the sw_usb_audio before.

The reason is that the endpoint processing for Feedback becomes unnecessary,
and it makes reduce the load of XMOS processing, isn't it?
Is my guess correct?

One more thing, a custome board must use Explicit Feedback as it is not support "Audio In".
Are there any problems to use the sw_usb_audio after ver. 6.13.0 with Explicit Feedback?

Best regards,
Kanae


View Solution
User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post by infiniteimprobability »

I would like to know the reason why the sw_usb_audio provided by XMOS
can support Implicit Feedback as a default after the sw_usb_audio Ver. 6.13.0.
Because it supported only Explicit Feedback in the sw_usb_audio before.
I recall it was to do with compatibility of some OSes. They should of course work with implicit feedback (where an input stream is enabled) but some did not. However, the situation seems to improved so the behaviour was changed.

You can change the behaviour easily with a define as explicit feedback code is guarded with:

Code: Select all

#if (NUM_USB_CHAN_IN == 0) || (defined UAC_FORCE_FEEDBACK_EP)

The reason is that the endpoint processing for Feedback becomes unnecessary,
and it makes reduce the load of XMOS processing, isn't it?
Is my guess correct?
There isn't a performance issue. Feedback calculation has to happen anyhow so the correct number of samples are provided (implicit) or requested (explicit) and it's a simple bit of fixed point maths. The buffer thread handles this and there's plenty of time in a SoF period to do this calc.
One more thing, a custome board must use Explicit Feedback as it is not support "Audio In".
Are there any problems to use the sw_usb_audio after ver. 6.13.0 with Explicit Feedback?
Yes, if there is no input stream, then you must have a feedback endpoint for the asynch clocking to work.
Kanae
Junior Member
Posts: 5
Joined: Fri Nov 25, 2016 1:26 am

Post by Kanae »

Thank you for reply.
I would like make sure to your comment.
Yes, if there is no input stream, then you must have a feedback endpoint for the asynch clocking to work.
Is this meant that we can change "Explicit Feedback" in the sw_usb_audio after ver. 6.13.0 with the following code ?
There is no problem at all, isn' t it?

Code: Select all

#if (NUM_USB_CHAN_IN == 0) || (defined UAC_FORCE_FEEDBACK_EP)


Best regards,
Kanae
User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post by infiniteimprobability »

Is this meant that we can change "Explicit Feedback" in the sw_usb_audio after ver. 6.13.0 with the following code ?
There is no problem at all, isn' t it?
No problem at all (from the firmware side). Just make sure you define this in the makefile

Code: Select all

-DUAC_FORCE_FEEDBACK_EP=1
Post Reply