Hi Borge,
many thanks for your feedback! (pun intended)
I finally solved this issue - a very silly mistake: the USB controller
used in this DSP has a unified internal buffer memory which needs to be
partitioned to the active endpoints. This is done with a granularity of
8 bytes, but I used the 3 byte size from the feedback endpoint
descriptor wMaxPacketSize, which violated the memory layout. This had no
effect on DAC playback only, but as soon as the ADC IN endpoint was
active, the feedback endpoint data was overwritten with ADC data.
Am 20.03.2019 um 21:34 schrieb Børge Strand-Bergesen:
> My impression is that DAC-only uses the feedback endpoint, while DAC+ADC
> uses the ADC sample rate to tell the Host which rate to use for the DAC.
> And that for the two of them combined there should be no FB EP.
I cannot confirm this: on the two Windows systems I tested (Win7 and
Win10 18.09), UAC1 does not support this kind of implicit feedback. A
Feedback endpoint is required in any case.
> Also, in the AW code the delta for the FB EP is +-64. I believe that was
> for compatibility with Win7 but it is something I haven’t fiddled with.
> The verification effort just wasn’t worth it, stability was good.
64 corresponds to a 4Hz sampling frequency change. On my Win7 system
smaller deltas are supported too (minimum 1 Hz). Maybe +/-64 was
required for early Win7 releases...
Many thanks!
-- Adolf