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
Explicit Feedback Topic is solved
-
- Junior Member
- Posts: 5
- Joined: Fri Nov 25, 2016 1:26 am
-
- XCore Legend
- Posts: 1126
- Joined: Thu May 27, 2010 10:08 am
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.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.
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)
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.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?
Yes, if there is no input stream, then you must have a feedback endpoint for the asynch clocking to work.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?
-
- Junior Member
- Posts: 5
- Joined: Fri Nov 25, 2016 1:26 am
Thank you for reply.
I would like make sure to your comment.
There is no problem at all, isn' t it?
Best regards,
Kanae
I would like make sure to your comment.
Is this meant that we can change "Explicit Feedback" in the sw_usb_audio after ver. 6.13.0 with the following code ?Yes, if there is no input stream, then you must have a feedback endpoint for the asynch clocking to work.
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
-
- XCore Legend
- Posts: 1126
- Joined: Thu May 27, 2010 10:08 am
No problem at all (from the firmware side). Just make sure you define this in the makefileIs 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
-DUAC_FORCE_FEEDBACK_EP=1