STSW-STLKT01: Projects/SensorTile/Applications/AudioLoop/Src/usbd_audio_if.c File Reference

STSW-STLKT01

usbd_audio_if.c File Reference

USB Device Audio interface file. More...

#include "usbd_audio_if.h"

Go to the source code of this file.

Functions

static int8_t Audio_Init (uint32_t AudioFreq, uint32_t BitRes, uint32_t ChnlNbr)
 Initializes the AUDIO media low layer. More...
 
static int8_t Audio_DeInit (uint32_t options)
 De-Initializes the AUDIO media low layer. More...
 
static int8_t Audio_Record (void)
 Start audio recording engine. More...
 
static int8_t Audio_VolumeCtl (int16_t Volume)
 Controls AUDIO Volume. More...
 
static int8_t Audio_MuteCtl (uint8_t cmd)
 Controls AUDIO Mute. More...
 
static int8_t Audio_Stop (void)
 Stops audio acquisition. More...
 
static int8_t Audio_Pause (void)
 Pauses audio acquisition. More...
 
static int8_t Audio_Resume (void)
 Resumes audio acquisition. More...
 
static int8_t Audio_CommandMgr (uint8_t cmd)
 Manages command from usb. More...
 
void Send_Audio_to_USB (int16_t *audioData, uint16_t PCMSamples)
 Fills USB audio buffer with the right amount of data, depending on the channel/frequency configuration. More...
 

Variables

USBD_HandleTypeDef hUSBDDevice
 
USBD_AUDIO_ItfTypeDef USBD_AUDIO_fops
 

Detailed Description

USB Device Audio interface file.

Author
Central Labs
Version
V1.1.0
Date
11-Jan-2016
Attention

© COPYRIGHT(c) 2014 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

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file usbd_audio_if.c.

Function Documentation

◆ Audio_CommandMgr()

static int8_t Audio_CommandMgr ( uint8_t  cmd)
static

Manages command from usb.

Parameters
None
Return values
AUDIO_OKin case of success, AUDIO_ERROR otherwise

Definition at line 169 of file usbd_audio_if.c.

◆ Audio_DeInit()

static int8_t Audio_DeInit ( uint32_t  options)
static

De-Initializes the AUDIO media low layer.

Parameters
optionsReserved for future use
Return values
AUDIO_OKin case of success, AUDIO_ERROR otherwise

Definition at line 95 of file usbd_audio_if.c.

◆ Audio_Init()

static int8_t Audio_Init ( uint32_t  AudioFreq,
uint32_t  BitRes,
uint32_t  ChnlNbr 
)
static

Initializes the AUDIO media low layer.

Parameters
AudioFreqAudio frequency used to play the audio stream.
BitResdesired bit resolution
ChnlNbrnumber of channel to be configured
Return values
AUDIO_OKin case of success, AUDIO_ERROR otherwise

Definition at line 84 of file usbd_audio_if.c.

◆ Audio_MuteCtl()

static int8_t Audio_MuteCtl ( uint8_t  cmd)
static

Controls AUDIO Mute.

Parameters
cmdCommand opcode
Return values
AUDIO_OKin case of success, AUDIO_ERROR otherwise

Definition at line 125 of file usbd_audio_if.c.

◆ Audio_Pause()

static int8_t Audio_Pause ( void  )
static

Pauses audio acquisition.

Parameters
none
Return values
AUDIO_OKin case of success, AUDIO_ERROR otherwise

Definition at line 147 of file usbd_audio_if.c.

◆ Audio_Record()

static int8_t Audio_Record ( void  )
static

Start audio recording engine.

Return values
AUDIO_OKin case of success, AUDIO_ERROR otherwise

Definition at line 104 of file usbd_audio_if.c.

◆ Audio_Resume()

static int8_t Audio_Resume ( void  )
static

Resumes audio acquisition.

Parameters
none
Return values
AUDIO_OKin case of success, AUDIO_ERROR otherwise

Definition at line 158 of file usbd_audio_if.c.

◆ Audio_Stop()

static int8_t Audio_Stop ( void  )
static

Stops audio acquisition.

Parameters
none
Return values
AUDIO_OKin case of success, AUDIO_ERROR otherwise

Definition at line 136 of file usbd_audio_if.c.

◆ Audio_VolumeCtl()

static int8_t Audio_VolumeCtl ( int16_t  Volume)
static

Controls AUDIO Volume.

Parameters
volVolume level
Return values
AUDIO_OKin case of success, AUDIO_ERROR otherwise

Definition at line 114 of file usbd_audio_if.c.

◆ Send_Audio_to_USB()

void Send_Audio_to_USB ( int16_t *  audioData,
uint16_t  PCMSamples 
)

Fills USB audio buffer with the right amount of data, depending on the channel/frequency configuration.

Parameters
audioDatapointer to the PCM audio data
PCMSamplesnumber of PCM samples to be passed to USB engine
Note
Depending on the calling frequency, a coherent amount of samples must be passed to the function. E.g.: assuming a Sampling frequency of 16 KHz and 1 channel, you can pass 16 PCM samples if the function is called each millisecond, 32 samples if called every 2 milliseconds and so on.

Definition at line 183 of file usbd_audio_if.c.

Variable Documentation

◆ USBD_AUDIO_fops

USBD_AUDIO_ItfTypeDef USBD_AUDIO_fops
Initial value:
= {
}
static int8_t Audio_DeInit(uint32_t options)
De-Initializes the AUDIO media low layer.
Definition: usbd_audio_if.c:95
static int8_t Audio_Resume(void)
Resumes audio acquisition.
static int8_t Audio_Stop(void)
Stops audio acquisition.
static int8_t Audio_VolumeCtl(int16_t Volume)
Controls AUDIO Volume.
static int8_t Audio_MuteCtl(uint8_t cmd)
Controls AUDIO Mute.
static int8_t Audio_CommandMgr(uint8_t cmd)
Manages command from usb.
static int8_t Audio_Record(void)
Start audio recording engine.
static int8_t Audio_Init(uint32_t AudioFreq, uint32_t BitRes, uint32_t ChnlNbr)
Initializes the AUDIO media low layer.
Definition: usbd_audio_if.c:84
static int8_t Audio_Pause(void)
Pauses audio acquisition.

Definition at line 63 of file usbd_audio_if.c.

Generated by   doxygen 1.8.13