|
@@ -21,8 +21,9 @@
|
|
|
|
|
|
|
|
#define AUDIO_IN_FU_ID 0x02
|
|
#define AUDIO_IN_FU_ID 0x02
|
|
|
|
|
|
|
|
-/* AUDIO Class Config */
|
|
|
|
|
-#define AUDIO_FREQ 16000U
|
|
|
|
|
|
|
+#define AUDIO_MIC_FREQ 16000U
|
|
|
|
|
+#define AUDIO_MIC_FRAME_SIZE_BYTE 2u
|
|
|
|
|
+#define AUDIO_MIC_RESOLUTION_BIT 16u
|
|
|
|
|
|
|
|
#define IN_CHANNEL_NUM 2
|
|
#define IN_CHANNEL_NUM 2
|
|
|
|
|
|
|
@@ -54,7 +55,7 @@
|
|
|
|
|
|
|
|
/* AudioFreq * DataSize (2 bytes) * NumChannels (Stereo: 1) */
|
|
/* AudioFreq * DataSize (2 bytes) * NumChannels (Stereo: 1) */
|
|
|
/* 16bit(2 Bytes) 单声道(Mono:1) */
|
|
/* 16bit(2 Bytes) 单声道(Mono:1) */
|
|
|
-#define AUDIO_IN_PACKET ((uint32_t)((AUDIO_FREQ * 2 * IN_CHANNEL_NUM) / 1000))
|
|
|
|
|
|
|
+#define AUDIO_IN_PACKET ((uint32_t)((AUDIO_MIC_FREQ * 2 * IN_CHANNEL_NUM) / 1000))
|
|
|
|
|
|
|
|
#define USB_CONFIG_SIZE (unsigned long)(9 + \
|
|
#define USB_CONFIG_SIZE (unsigned long)(9 + \
|
|
|
AUDIO_AC_DESCRIPTOR_LEN(1) + \
|
|
AUDIO_AC_DESCRIPTOR_LEN(1) + \
|
|
@@ -79,7 +80,7 @@ static const uint8_t config_descriptor[] = {
|
|
|
AUDIO_AC_INPUT_TERMINAL_DESCRIPTOR_INIT(0x01, AUDIO_INTERM_MIC, IN_CHANNEL_NUM, INPUT_CH_ENABLE),
|
|
AUDIO_AC_INPUT_TERMINAL_DESCRIPTOR_INIT(0x01, AUDIO_INTERM_MIC, IN_CHANNEL_NUM, INPUT_CH_ENABLE),
|
|
|
AUDIO_AC_FEATURE_UNIT_DESCRIPTOR_INIT(AUDIO_IN_FU_ID, 0x01, 0x01, INPUT_CTRL),
|
|
AUDIO_AC_FEATURE_UNIT_DESCRIPTOR_INIT(AUDIO_IN_FU_ID, 0x01, 0x01, INPUT_CTRL),
|
|
|
AUDIO_AC_OUTPUT_TERMINAL_DESCRIPTOR_INIT(0x03, AUDIO_TERMINAL_STREAMING, AUDIO_IN_FU_ID),
|
|
AUDIO_AC_OUTPUT_TERMINAL_DESCRIPTOR_INIT(0x03, AUDIO_TERMINAL_STREAMING, AUDIO_IN_FU_ID),
|
|
|
- AUDIO_AS_DESCRIPTOR_INIT(0x01, 0x03, IN_CHANNEL_NUM, 2, 16, AUDIO_IN_EP, 0x05, AUDIO_IN_PACKET, EP_INTERVAL, AUDIO_SAMPLE_FREQ_3B(AUDIO_FREQ))
|
|
|
|
|
|
|
+ AUDIO_AS_DESCRIPTOR_INIT(0x01, 0x03, IN_CHANNEL_NUM, AUDIO_MIC_FRAME_SIZE_BYTE, AUDIO_MIC_RESOLUTION_BIT, AUDIO_IN_EP, 0x05, AUDIO_IN_PACKET, EP_INTERVAL, AUDIO_SAMPLE_FREQ_3B(AUDIO_MIC_FREQ))
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
static const uint8_t device_quality_descriptor[] = {
|
|
static const uint8_t device_quality_descriptor[] = {
|
|
@@ -142,7 +143,7 @@ const uint8_t audio_v1_descriptor[] = {
|
|
|
AUDIO_AC_INPUT_TERMINAL_DESCRIPTOR_INIT(0x01, AUDIO_INTERM_MIC, IN_CHANNEL_NUM, INPUT_CH_ENABLE),
|
|
AUDIO_AC_INPUT_TERMINAL_DESCRIPTOR_INIT(0x01, AUDIO_INTERM_MIC, IN_CHANNEL_NUM, INPUT_CH_ENABLE),
|
|
|
AUDIO_AC_FEATURE_UNIT_DESCRIPTOR_INIT(AUDIO_IN_FU_ID, 0x01, 0x01, INPUT_CTRL),
|
|
AUDIO_AC_FEATURE_UNIT_DESCRIPTOR_INIT(AUDIO_IN_FU_ID, 0x01, 0x01, INPUT_CTRL),
|
|
|
AUDIO_AC_OUTPUT_TERMINAL_DESCRIPTOR_INIT(0x03, AUDIO_TERMINAL_STREAMING, AUDIO_IN_FU_ID),
|
|
AUDIO_AC_OUTPUT_TERMINAL_DESCRIPTOR_INIT(0x03, AUDIO_TERMINAL_STREAMING, AUDIO_IN_FU_ID),
|
|
|
- AUDIO_AS_DESCRIPTOR_INIT(0x01, 0x03, IN_CHANNEL_NUM, 2, 16, AUDIO_IN_EP, 0x05, AUDIO_IN_PACKET, EP_INTERVAL, AUDIO_SAMPLE_FREQ_3B(AUDIO_FREQ)),
|
|
|
|
|
|
|
+ AUDIO_AS_DESCRIPTOR_INIT(0x01, 0x03, IN_CHANNEL_NUM, AUDIO_MIC_FRAME_SIZE_BYTE, AUDIO_MIC_RESOLUTION_BIT, AUDIO_IN_EP, 0x05, AUDIO_IN_PACKET, EP_INTERVAL, AUDIO_SAMPLE_FREQ_3B(AUDIO_MIC_FREQ)),
|
|
|
///////////////////////////////////////
|
|
///////////////////////////////////////
|
|
|
/// string0 descriptor
|
|
/// string0 descriptor
|
|
|
///////////////////////////////////////
|
|
///////////////////////////////////////
|