29 #ifndef __USBH_AUDIO_H 30 #define __USBH_AUDIO_H 238 #define AUDIO_MAX_AUDIO_STD_INTERFACE 0x05 239 #define AUDIO_MAX_FREQ_SUPPORTED 0x05 240 #define AUDIO_MAX_STREAMING_INTERFACE 0x05 241 #define AUDIO_MAX_NUM_IN_TERMINAL 0x04 242 #define AUDIO_MAX_NUM_OUT_TERMINAL 0x04 243 #define AUDIO_MAX_NUM_FEATURE_UNIT 0x04 244 #define AUDIO_MAX_NUM_MIXER_UNIT 0x04 245 #define AUDIO_MAX_NUM_SELECTOR_UNIT 0x04 247 #define HEADPHONE_SUPPORTED 0x01 248 #define MICROPHONE_SUPPORTED 0x02 249 #define HEADSET_SUPPORTED 0x03 251 #define AUDIO_MAX_SAMFREQ_NBR 5 252 #define AUDIO_MAX_INTERFACE_NBR 5 253 #define AUDIO_MAX_CONTROLS_NBR 5 263 uint8_t wFormatTag[2];
298 uint8_t wTotalLength[2];
311 uint8_t wTerminalType[2];
314 uint8_t wChannelConfig[2];
327 uint8_t wTerminalType[2];
359 uint8_t bmChannelsConfig[2];
441 #define AC_CLASS 0x01 444 #define USB_SUBCLASS_AUDIOCONTROL 0x01 445 #define USB_SUBCLASS_AUDIOSTREAMING 0x02 446 #define USB_SUBCLASS_MIDISTREAMING 0x03 448 #define USB_DESC_TYPE_CS_INTERFACE 0x24 449 #define USB_DESC_TYPE_CS_ENDPOINT 0x25 452 #define UAC_HEADER 0x01 453 #define UAC_INPUT_TERMINAL 0x02 454 #define UAC_OUTPUT_TERMINAL 0x03 455 #define UAC_MIXER_UNIT 0x04 456 #define UAC_SELECTOR_UNIT 0x05 457 #define UAC_FEATURE_UNIT 0x06 458 #define UAC_PROCESSING_UNIT 0x07 459 #define UAC_EXTENSION_UNIT 0x08 462 #define EP_CONTROL_UNDEFINED 0x00 463 #define SAMPLING_FREQ_CONTROL 0x01 464 #define PITCH_CONTROL 0x02 467 #define FU_CONTROL_UNDEFINED 0x00 468 #define MUTE_CONTROL 0x01 469 #define VOLUME_CONTROL 0x02 470 #define BASS_CONTROL 0x03 471 #define MID_CONTROL 0x04 472 #define TREBLE_CONTROL 0x05 473 #define GRAPHIC_EQUALIZER_CONTROL 0x06 474 #define AUTOMATIC_GAIN_CONTROL 0x07 475 #define DELAY_CONTROL 0x08 476 #define BASS_BOOST_CONTROL 0x09 477 #define LOUDNESS_CONTROL 0x0A 480 #define TE_CONTROL_UNDEFINED 0x00 481 #define COPY_PROTECT_CONTROL 0x01 485 #define UAC_AS_GENERAL 0x01 486 #define UAC_FORMAT_TYPE 0x02 487 #define UAC_FORMAT_SPECIFIC 0x03 490 #define UAC_EP_GENERAL 0x01 493 #define UAC_SET_ 0x00 494 #define UAC_GET_ 0x80 502 #define UAC_SET_CUR (UAC_SET_ | UAC__CUR) 503 #define UAC_GET_CUR (UAC_GET_ | UAC__CUR) 504 #define UAC_SET_MIN (UAC_SET_ | UAC__MIN) 505 #define UAC_GET_MIN (UAC_GET_ | UAC__MIN) 506 #define UAC_SET_MAX (UAC_SET_ | UAC__MAX) 507 #define UAC_GET_MAX (UAC_GET_ | UAC__MAX) 508 #define UAC_SET_RES (UAC_SET_ | UAC__RES) 509 #define UAC_GET_RES (UAC_GET_ | UAC__RES) 510 #define UAC_SET_MEM (UAC_SET_ | UAC__MEM) 511 #define UAC_GET_MEM (UAC_GET_ | UAC__MEM) 513 #define UAC_GET_STAT 0xff 516 #define UAC_MS_HEADER 0x01 517 #define UAC_MIDI_IN_JACK 0x02 518 #define UAC_MIDI_OUT_JACK 0x03 521 #define UAC_MS_GENERAL 0x01 524 #define UAC_TERMINAL_UNDEFINED 0x100 525 #define UAC_TERMINAL_STREAMING 0x101 526 #define UAC_TERMINAL_VENDOR_SPEC 0x1FF 543 #define USBH_AUDIO_CLASS &AUDIO_Class 552 uint16_t sample_rate,
566 #define USBH_AUDIO_FrequencySetCallback USBH_AUDIO_FrequencySet #define AUDIO_MAX_INTERFACE_NBR
Header file for usbh_core.c.
AUDIO_ControlStateTypeDef
AUDIO_PlayStateTypeDef play_state
#define AUDIO_MAX_NUM_IN_TERMINAL
uint8_t bDescriptorSubtype
#define AUDIO_MAX_NUM_FEATURE_UNIT
AUDIO_ControlStateTypeDef control_state
uint8_t bDescriptorSubtype
USBH_StatusTypeDef USBH_AUDIO_Stop(USBH_HandleTypeDef *phost)
USBH_AUDIO_Pause Stop the playback process.
USBH_StatusTypeDef USBH_AUDIO_Play(USBH_HandleTypeDef *phost, uint8_t *buf, uint32_t length)
USBH_AUDIO_Play Start playback process.
uint8_t bDescriptorSubtype
void USBH_AUDIO_BufferEmptyCallback(USBH_HandleTypeDef *phost)
The function informs user that User data are processed.
#define AUDIO_MAX_SAMFREQ_NBR
AUDIO_ControlAttributeTypeDef attribute
struct _AUDIO_Process AUDIO_HandleTypeDef
uint8_t bDescriptorSubtype
uint8_t asociated_terminal
void USBH_AUDIO_FrequencySet(USBH_HandleTypeDef *phost)
The function informs user that Settings have been changed.
AUDIO_ClassSpecificDescTypedef class_desc
#define AUDIO_MAX_NUM_SELECTOR_UNIT
AUDIO_InterfaceStreamPropTypeDef microphone
uint8_t asociated_feature
AUDIO_STREAMING_OUT_HandleTypeDef stream_out[AUDIO_MAX_AUDIO_STD_INTERFACE]
uint8_t asociated_channels
USBH_StatusTypeDef USBH_AUDIO_ChangeOutBuffer(USBH_HandleTypeDef *phost, uint8_t *buf)
USBH_AUDIO_ChangeOutBuffer Change audio data buffer address.
AUDIO_InterfaceStreamPropTypeDef headphone
uint16_t InputTerminalNum
#define AUDIO_MAX_NUM_MIXER_UNIT
uint16_t OutputTerminalNum
#define AUDIO_MAX_AUDIO_STD_INTERFACE
AUDIO_InterfaceControlPropTypeDef control
USBH_StatusTypeDef USBH_AUDIO_SetFrequency(USBH_HandleTypeDef *phost, uint16_t sample_rate, uint8_t channel_num, uint8_t data_width)
USBH_AUDIO_SetFrequency Set Audio sampling parameters.
int32_t USBH_AUDIO_GetOutOffset(USBH_HandleTypeDef *phost)
USBH_AUDIO_GetOutOffset return the current buffer pointer for OUT process.
USBH_StatusTypeDef USBH_AUDIO_Suspend(USBH_HandleTypeDef *phost)
USBH_AUDIO_Suspend Suspend the playback process.
AUDIO_CSReqStateTypeDef cs_req_state
AUDIO_ProcessingTypeDef processing_state
AUDIO_STREAMING_IN_HandleTypeDef stream_in[AUDIO_MAX_AUDIO_STD_INTERFACE]
#define AUDIO_MAX_CONTROLS_NBR
AUDIO_HeaderDescTypeDef * HeaderDesc
AUDIO_ACDescTypeDef cs_desc
AUDIO_ASGeneralDescTypeDef * GeneralDesc
USBH_ClassTypeDef AUDIO_Class
USBH_StatusTypeDef USBH_AUDIO_SetVolume(USBH_HandleTypeDef *phost, AUDIO_VolumeCtrlTypeDef volume_ctl)
USBH_AUDIO_SetVolume Set Volume.
uint8_t bDescriptorSubtype
uint8_t bDescriptorSubtype
AUDIO_ReqStateTypeDef req_state
#define AUDIO_MAX_STREAMING_INTERFACE
USBH_StatusTypeDef USBH_AUDIO_Resume(USBH_HandleTypeDef *phost)
USBH_AUDIO_Resume Resume the playback process.
#define AUDIO_MAX_NUM_OUT_TERMINAL
uint8_t asociated_selector
AUDIO_ASFormatTypeDescTypeDef * FormatTypeDesc