STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
usbh_audio.h File Reference

This file contains all the prototypes for the usbh_audio.c. More...

#include "usbh_core.h"

Go to the source code of this file.

Data Structures

struct  AUDIO_FormatTypeDef
 
struct  AUDIO_STREAMING_IN_HandleTypeDef
 
struct  AUDIO_STREAMING_OUT_HandleTypeDef
 
struct  AUDIO_ControlAttributeTypeDef
 
struct  AUDIO_InterfaceStreamPropTypeDef
 
struct  AUDIO_InterfaceControlPropTypeDef
 
struct  AUDIO_ASGeneralDescTypeDef
 
struct  AUDIO_ASFormatTypeDescTypeDef
 
struct  AUDIO_ASDescTypeDef
 
struct  AUDIO_HeaderDescTypeDef
 
struct  AUDIO_ITDescTypeDef
 
struct  AUDIO_OTDescTypeDef
 
struct  AUDIO_FeatureDescTypeDef
 
struct  AUDIO_MixerDescTypeDef
 
struct  AUDIO_SelectorDescTypeDef
 
struct  AUDIO_ACDescTypeDef
 
struct  AUDIO_ClassSpecificDescTypedef
 
struct  _AUDIO_Process
 

Macros

#define AUDIO_MAX_AUDIO_STD_INTERFACE   0x05
 
#define AUDIO_MAX_FREQ_SUPPORTED   0x05
 
#define AUDIO_MAX_STREAMING_INTERFACE   0x05
 
#define AUDIO_MAX_NUM_IN_TERMINAL   0x04
 
#define AUDIO_MAX_NUM_OUT_TERMINAL   0x04
 
#define AUDIO_MAX_NUM_FEATURE_UNIT   0x04
 
#define AUDIO_MAX_NUM_MIXER_UNIT   0x04
 
#define AUDIO_MAX_NUM_SELECTOR_UNIT   0x04
 
#define HEADPHONE_SUPPORTED   0x01
 
#define MICROPHONE_SUPPORTED   0x02
 
#define HEADSET_SUPPORTED   0x03
 
#define AUDIO_MAX_SAMFREQ_NBR   5
 
#define AUDIO_MAX_INTERFACE_NBR   5
 
#define AUDIO_MAX_CONTROLS_NBR   5
 
#define AC_CLASS   0x01
 
#define USB_SUBCLASS_AUDIOCONTROL   0x01
 
#define USB_SUBCLASS_AUDIOSTREAMING   0x02
 
#define USB_SUBCLASS_MIDISTREAMING   0x03
 
#define USB_DESC_TYPE_CS_INTERFACE   0x24
 
#define USB_DESC_TYPE_CS_ENDPOINT   0x25
 
#define UAC_HEADER   0x01
 
#define UAC_INPUT_TERMINAL   0x02
 
#define UAC_OUTPUT_TERMINAL   0x03
 
#define UAC_MIXER_UNIT   0x04
 
#define UAC_SELECTOR_UNIT   0x05
 
#define UAC_FEATURE_UNIT   0x06
 
#define UAC_PROCESSING_UNIT   0x07
 
#define UAC_EXTENSION_UNIT   0x08
 
#define EP_CONTROL_UNDEFINED   0x00
 
#define SAMPLING_FREQ_CONTROL   0x01
 
#define PITCH_CONTROL   0x02
 
#define FU_CONTROL_UNDEFINED   0x00
 
#define MUTE_CONTROL   0x01
 
#define VOLUME_CONTROL   0x02
 
#define BASS_CONTROL   0x03
 
#define MID_CONTROL   0x04
 
#define TREBLE_CONTROL   0x05
 
#define GRAPHIC_EQUALIZER_CONTROL   0x06
 
#define AUTOMATIC_GAIN_CONTROL   0x07
 
#define DELAY_CONTROL   0x08
 
#define BASS_BOOST_CONTROL   0x09
 
#define LOUDNESS_CONTROL   0x0A
 
#define TE_CONTROL_UNDEFINED   0x00
 
#define COPY_PROTECT_CONTROL   0x01
 
#define UAC_AS_GENERAL   0x01
 
#define UAC_FORMAT_TYPE   0x02
 
#define UAC_FORMAT_SPECIFIC   0x03
 
#define UAC_EP_GENERAL   0x01
 
#define UAC_SET_   0x00
 
#define UAC_GET_   0x80
 
#define UAC__CUR   0x1
 
#define UAC__MIN   0x2
 
#define UAC__MAX   0x3
 
#define UAC__RES   0x4
 
#define UAC__MEM   0x5
 
#define UAC_SET_CUR   (UAC_SET_ | UAC__CUR)
 
#define UAC_GET_CUR   (UAC_GET_ | UAC__CUR)
 
#define UAC_SET_MIN   (UAC_SET_ | UAC__MIN)
 
#define UAC_GET_MIN   (UAC_GET_ | UAC__MIN)
 
#define UAC_SET_MAX   (UAC_SET_ | UAC__MAX)
 
#define UAC_GET_MAX   (UAC_GET_ | UAC__MAX)
 
#define UAC_SET_RES   (UAC_SET_ | UAC__RES)
 
#define UAC_GET_RES   (UAC_GET_ | UAC__RES)
 
#define UAC_SET_MEM   (UAC_SET_ | UAC__MEM)
 
#define UAC_GET_MEM   (UAC_GET_ | UAC__MEM)
 
#define UAC_GET_STAT   0xff
 
#define UAC_MS_HEADER   0x01
 
#define UAC_MIDI_IN_JACK   0x02
 
#define UAC_MIDI_OUT_JACK   0x03
 
#define UAC_MS_GENERAL   0x01
 
#define UAC_TERMINAL_UNDEFINED   0x100
 
#define UAC_TERMINAL_STREAMING   0x101
 
#define UAC_TERMINAL_VENDOR_SPEC   0x1FF
 
#define USBH_AUDIO_CLASS   &AUDIO_Class
 
#define USBH_AUDIO_FrequencySetCallback   USBH_AUDIO_FrequencySet
 

Typedefs

typedef struct _AUDIO_Process AUDIO_HandleTypeDef
 

Enumerations

enum  AUDIO_StateTypeDef {
  AUDIO_INIT = 0, AUDIO_IDLE, AUDIO_CS_REQUESTS, AUDIO_SET_DEFAULT_FEATURE_UNIT,
  AUDIO_SET_INTERFACE, AUDIO_SET_STREAMING_INTERFACE, AUDIO_SET_CUR1, AUDIO_GET_MIN,
  AUDIO_GET_MAX, AUDIO_GET_RES, AUDIO_GET_CUR1, AUDIO_SET_CUR2,
  AUDIO_GET_CUR2, AUDIO_SET_CUR3, AUDIO_SET_INTERFACE0, AUDIO_SET_INTERFACE1,
  AUDIO_SET_INTERFACE2, AUDIO_ISOC_OUT, AUDIO_ISOC_IN, AUDIO_ISOC_POLL,
  AUDIO_ERROR
}
 
enum  AUDIO_ReqStateTypeDef {
  AUDIO_REQ_INIT = 1, AUDIO_REQ_IDLE, AUDIO_REQ_SET_DEFAULT_IN_INTERFACE, AUDIO_REQ_SET_DEFAULT_OUT_INTERFACE,
  AUDIO_REQ_SET_IN_INTERFACE, AUDIO_REQ_SET_OUT_INTERFACE, AUDIO_REQ_CS_REQUESTS
}
 
enum  AUDIO_CSReqStateTypeDef {
  AUDIO_REQ_SET_VOLUME = 1, AUDIO_REQ_SET_MUTE, AUDIO_REQ_GET_CURR_VOLUME, AUDIO_REQ_GET_MIN_VOLUME,
  AUDIO_REQ_GET_MAX_VOLUME, AUDIO_REQ_GET_VOLUME, AUDIO_REQ_GET_RESOLUTION, AUDIO_REQ_CS_IDLE
}
 
enum  AUDIO_PlayStateTypeDef {
  AUDIO_PLAYBACK_INIT = 1, AUDIO_PLAYBACK_SET_EP, AUDIO_PLAYBACK_SET_EP_FREQ, AUDIO_PLAYBACK_PLAY,
  AUDIO_PLAYBACK_IDLE
}
 
enum  AUDIO_VolumeCtrlTypeDef { VOLUME_UP = 1, VOLUME_DOWN = 2 }
 
enum  AUDIO_ControlStateTypeDef {
  AUDIO_CONTROL_INIT = 1, AUDIO_CONTROL_CHANGE, AUDIO_CONTROL_IDLE, AUDIO_CONTROL_VOLUME_UP,
  AUDIO_CONTROL_VOLUME_DOWN
}
 
enum  AUDIO_ProcessingTypeDef { AUDIO_DATA_START_OUT = 1, AUDIO_DATA_OUT }
 

Functions

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. More...
 
USBH_StatusTypeDef USBH_AUDIO_Play (USBH_HandleTypeDef *phost, uint8_t *buf, uint32_t length)
 USBH_AUDIO_Play Start playback process. More...
 
USBH_StatusTypeDef USBH_AUDIO_Stop (USBH_HandleTypeDef *phost)
 USBH_AUDIO_Pause Stop the playback process. More...
 
USBH_StatusTypeDef USBH_AUDIO_Suspend (USBH_HandleTypeDef *phost)
 USBH_AUDIO_Suspend Suspend the playback process. More...
 
USBH_StatusTypeDef USBH_AUDIO_Resume (USBH_HandleTypeDef *phost)
 USBH_AUDIO_Resume Resume the playback process. More...
 
USBH_StatusTypeDef USBH_AUDIO_SetVolume (USBH_HandleTypeDef *phost, AUDIO_VolumeCtrlTypeDef volume_ctl)
 USBH_AUDIO_SetVolume Set Volume. More...
 
USBH_StatusTypeDef USBH_AUDIO_ChangeOutBuffer (USBH_HandleTypeDef *phost, uint8_t *buf)
 USBH_AUDIO_ChangeOutBuffer Change audio data buffer address. More...
 
int32_t USBH_AUDIO_GetOutOffset (USBH_HandleTypeDef *phost)
 USBH_AUDIO_GetOutOffset return the current buffer pointer for OUT process. More...
 
void USBH_AUDIO_FrequencySet (USBH_HandleTypeDef *phost)
 The function informs user that Settings have been changed. More...
 
void USBH_AUDIO_BufferEmptyCallback (USBH_HandleTypeDef *phost)
 The function informs user that User data are processed. More...
 

Variables

USBH_ClassTypeDef AUDIO_Class
 

Detailed Description

This file contains all the prototypes for the usbh_audio.c.

Author
MCD Application Team
Version
V3.2.2
Date
07-July-2015
Attention

© COPYRIGHT 2015 STMicroelectronics

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at:

   http://www.st.com/software_license_agreement_liberty_v2

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition in file usbh_audio.h.