101 #define AUDIO_SAMPLE_FREQ(frq) (uint8_t)(frq), (uint8_t)((frq >> 8)), (uint8_t)((frq >> 16)) 103 #define AUDIO_PACKET_SZE(frq) (uint8_t)(((frq * 2 * 2)/1000) & 0xFF), \ 104 (uint8_t)((((frq * 2 * 2)/1000) >> 8) & 0xFF) 125 static uint8_t *USBD_AUDIO_GetCfgDesc (uint16_t *length);
127 static uint8_t *USBD_AUDIO_GetDeviceQualifierDesc (uint16_t *length);
160 USBD_AUDIO_EP0_TxReady,
161 USBD_AUDIO_EP0_RxReady,
165 USBD_AUDIO_IsoINIncomplete,
166 USBD_AUDIO_IsoOutIncomplete,
167 USBD_AUDIO_GetCfgDesc,
168 USBD_AUDIO_GetCfgDesc,
169 USBD_AUDIO_GetCfgDesc,
170 USBD_AUDIO_GetDeviceQualifierDesc,
446 AUDIO_REQ_GetCurrent(pdev, req);
450 AUDIO_REQ_SetCurrent(pdev, req);
465 pbuf = USBD_AUDIO_CfgDesc + 18;
509 static uint8_t *USBD_AUDIO_GetCfgDesc (uint16_t *length)
511 *length =
sizeof (USBD_AUDIO_CfgDesc);
512 return USBD_AUDIO_CfgDesc;
696 haudio->
wr_ptr = remSamples;
772 static uint8_t *USBD_AUDIO_GetDeviceQualifierDesc (uint16_t *length)
774 *length =
sizeof (USBD_AUDIO_DeviceQualifierDesc);
775 return USBD_AUDIO_DeviceQualifierDesc;
#define AUDIO_ENDPOINT_DESCRIPTOR_TYPE
#define AUDIO_ENDPOINT_GENERAL
USBD_StatusTypeDef USBD_LL_CloseEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
Closes an endpoint of the Low Level Driver.
#define AUDIO_STREAMING_ENDPOINT_DESC_SIZE
#define AUDIO_PROTOCOL_UNDEFINED
#define AUDIO_REQ_SET_CUR
#define AUDIO_CONTROL_FEATURE_UNIT
#define AUDIO_CONTROL_OUTPUT_TERMINAL
#define USB_LEN_DEV_QUALIFIER_DESC
#define AUDIO_INTERFACE_DESC_SIZE
__IO uint32_t alt_setting
#define USB_REQ_GET_DESCRIPTOR
#define AUDIO_REQ_GET_CUR
#define AUDIO_DESCRIPTOR_TYPE
#define USB_REQ_GET_INTERFACE
#define AUDIO_STREAMING_FORMAT_TYPE
#define USB_AUDIO_CONFIG_DESC_SIZ
USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, uint16_t size)
Prepares an endpoint for reception.
USBD_ClassTypeDef USBD_AUDIO
#define AUDIO_CONTROL_HEADER
#define AUDIO_TOTAL_BUF_SIZE
#define USB_DEVICE_CLASS_AUDIO
#define USB_REQ_SET_INTERFACE
void USBD_CtlError(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
USBD_CtlError Handle USB low level Error.
#define USB_DESC_TYPE_ENDPOINT
#define USB_DESC_TYPE_INTERFACE
#define AUDIO_INPUT_TERMINAL_DESC_SIZE
#define USB_REQ_TYPE_CLASS
#define USB_DESC_TYPE_CONFIGURATION
AUDIO_OffsetTypeDef offset
#define USB_REQ_TYPE_STANDARD
#define AUDIO_INTERFACE_DESCRIPTOR_TYPE
uint8_t buffer[AUDIO_TOTAL_BUF_SIZE+4+176]
#define AUDIO_PACKET_SZE(frq)
USBD_StatusTypeDef USBD_CtlPrepareRx(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint16_t len)
USBD_CtlPrepareRx receive data on the ctl pipe.
#define AUDIO_SAMPLE_FREQ(frq)
#define USBD_MAX_NUM_INTERFACES
uint8_t USBD_AUDIO_RegisterInterface(USBD_HandleTypeDef *pdev, USBD_AUDIO_ItfTypeDef *fops)
USBD_AUDIO_RegisterInterface.
#define AUDIO_STANDARD_ENDPOINT_DESC_SIZE
#define USBD_EP_TYPE_ISOC
USBD_StatusTypeDef USBD_CtlSendData(USBD_HandleTypeDef *pdev, uint8_t *buf, uint16_t len)
USBD_CtlSendData send data on the ctl pipe.
#define USB_DESC_TYPE_DEVICE_QUALIFIER
header file for the usbd_audio.c file.
uint8_t data[USB_MAX_EP0_SIZE]
#define AUDIO_STREAMING_INTERFACE_DESC_SIZE
#define AUDIO_CONTROL_MUTE
#define USB_REQ_TYPE_MASK
USBD_StatusTypeDef USBD_LL_OpenEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t ep_type, uint16_t ep_mps)
Opens an endpoint of the Low Level Driver.
#define AUDIO_SUBCLASS_AUDIOCONTROL
#define AUDIO_DEFAULT_VOLUME
#define AUDIO_CONTROL_INPUT_TERMINAL
#define AUDIO_OUT_STREAMING_CTRL
#define USB_AUDIO_DESC_SIZ
void USBD_AUDIO_Sync(USBD_HandleTypeDef *pdev, AUDIO_OffsetTypeDef offset)
USBD_AUDIO_SOF handle SOF event.
USBD_AUDIO_ControlTypeDef control
#define AUDIO_FORMAT_TYPE_III
#define AUDIO_SUBCLASS_AUDIOSTREAMING
#define AUDIO_STREAMING_GENERAL
void AUDIO_Player_CpyBuf(uint8_t *buf)
Copy USB input buffer to SAI output buffer.