What are the modifications required in the UAC example project to support mono channel?
By default, the UAC example project provided in the FX3 SDK (C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\uac_examples\cyfxuac) supports stereo channel.
The following modifications are required in the cyfxuacdscr.c file of the UAC example project to support mono channel:
- 'bNrChannels' field of the Input terminal descriptor should be changed from 0x02 to 0x01.
- 'wChannelConfig' field of the Input terminal descriptor should be changed from 0x03,0x00 to 0x00,0x00.
- 'bNrChannels' field of the Type-I format descriptor should be changed from 0x02 to 0x01.
- 'wMaxPacketSize' field of the ISO streaming EP should be changed from 0x60,0x00 to 0x30,0x00.
In the cyfxuac.c file, set the CY_FX3_ISO_XFER_LEN macro to ‘48’.
Build the project after these modifications. If FX3 successfully enumerates as an audio device, but you are unable to stream mono channel audio, follow these steps:
- Go to Control Panel > Sound.
- In the pop-up window, go to the Recording tab. FX3 will be shown as a microphone device.
- Double-click on FX3 and go to the Advanced tab in the Microphone Properties pop-up window.
- Choose the '1 channel,16 bit,48000Hz (DVD Quality)' option.