Good work!!Have been occupied with other stuff, but are now integrating the ssrc_usb_audio code with the latest usb_audio6.15. Think that I have made the necessary changes for the dsp_manager (using lib_src from xmos github repo). Am now merging the code for the usb_buffer. In the latest usb_buffer.xc, there is a larger chunk of code guarded with #if 0.
Moreover it says in a comment that it's the original feedback implementation (...as if it has been replaced with something newer). And in this code, you have a SSRC_DEMO section which recalculates some variable (and handles the leds). I am not really sure how to merge the code guarded with SSRC_DEMO with the newer usb_buffer.xc since the relevant section is not used anymore (guarded with #if 0). Just tested to place the SSRC_DEMO code outside the if 0 block. It compiles but I don't get any i2s samples. However, I can change the LRCLK (and LEDs).
Re usb_buffer - Hmm OK.#if 0s are not great in production code... Well I tested the SSRC feedback stability in the old code quite well so it should be OK (it's what led to the modulo maths stuff). But perhaps it makes sense to take the SSRC stuff and put it in the new calc. It shouldn't be too hard. The extra code does:
- handles modification of feedback when IO is running on one mclk and host is running on the other.
- multiplexing LEDs (row and cols)
- handle messages from I2S to say if the rate has changed