Functions | Variables
Exported Functions
Collaboration diagram for Exported Functions:

Functions

void AUDIO_IO_DeInit (void)
 DeInitializes Audio low level. More...
 
void AUDIO_IO_Delay (uint32_t Delay)
 AUDIO Codec delay. More...
 
void AUDIO_IO_Init (void)
 Initializes Audio low level. More...
 
void wm8994_DeInit (void)
 Deinitializes the audio codec. More...
 
int32_t WM8994_DeInit (WM8994_Object_t *pObj)
 Deinitializes the audio codec. More...
 
static int32_t WM8994_Delay (WM8994_Object_t *pObj, uint32_t Delay)
 This function provides accurate delay (in milliseconds) More...
 
int32_t WM8994_GetFrequency (WM8994_Object_t *pObj, uint32_t *AudioFreq)
 Get frequency. More...
 
int32_t WM8994_GetProtocol (WM8994_Object_t *pObj, uint32_t *Protocol)
 Get Audio Protocol. More...
 
int32_t WM8994_GetResolution (WM8994_Object_t *pObj, uint32_t *Resolution)
 Get Audio resolution. More...
 
int32_t WM8994_GetVolume (WM8994_Object_t *pObj, uint32_t InputOutput, uint8_t *Volume)
 Get higher or lower the codec volume level. More...
 
uint32_t wm8994_Init (uint16_t DeviceAddr, uint16_t OutputInputDevice, uint8_t Volume, uint32_t AudioFreq)
 Initializes the audio codec and the control interface. More...
 
int32_t WM8994_Init (WM8994_Object_t *pObj, WM8994_Init_t *pInit)
 Initializes the audio codec and the control interface. More...
 
uint32_t wm8994_Pause (uint16_t DeviceAddr)
 Pauses playing on the audio codec. More...
 
int32_t WM8994_Pause (WM8994_Object_t *pObj)
 Pauses playing on the audio codec. More...
 
uint32_t wm8994_Play (uint16_t DeviceAddr, uint16_t *pBuffer, uint16_t Size)
 Start the audio Codec play feature. More...
 
int32_t WM8994_Play (WM8994_Object_t *pObj)
 Start the audio Codec play feature. More...
 
uint32_t wm8994_ReadID (uint16_t DeviceAddr)
 Get the WM8994 ID. More...
 
int32_t WM8994_ReadID (WM8994_Object_t *pObj, uint32_t *Id)
 Get the WM8994 ID. More...
 
static int32_t WM8994_ReadRegWrap (void *handle, uint16_t Reg, uint8_t *pData, uint16_t Length)
 Function. More...
 
int32_t WM8994_RegisterBusIO (WM8994_Object_t *pObj, WM8994_IO_t *pIO)
 Function. More...
 
uint32_t wm8994_Reset (uint16_t DeviceAddr)
 Resets wm8994 registers. More...
 
int32_t WM8994_Reset (WM8994_Object_t *pObj)
 Resets wm8994 registers. More...
 
uint32_t wm8994_Resume (uint16_t DeviceAddr)
 Resumes playing on the audio codec. More...
 
int32_t WM8994_Resume (WM8994_Object_t *pObj)
 Resumes playing on the audio codec. More...
 
uint32_t wm8994_SetFrequency (uint16_t DeviceAddr, uint32_t AudioFreq)
 Sets new frequency. More...
 
int32_t WM8994_SetFrequency (WM8994_Object_t *pObj, uint32_t AudioFreq)
 Sets new frequency. More...
 
uint32_t wm8994_SetMute (uint16_t DeviceAddr, uint32_t Cmd)
 Enables or disables the mute feature on the audio codec. More...
 
int32_t WM8994_SetMute (WM8994_Object_t *pObj, uint32_t Cmd)
 Enables or disables the mute feature on the audio codec. More...
 
uint32_t wm8994_SetOutputMode (uint16_t DeviceAddr, uint8_t Output)
 Switch dynamically (while audio file is played) the output target (speaker or headphone). More...
 
int32_t WM8994_SetOutputMode (WM8994_Object_t *pObj, uint32_t Output)
 Switch dynamically (while audio file is played) the output target (speaker or headphone). More...
 
int32_t WM8994_SetProtocol (WM8994_Object_t *pObj, uint32_t Protocol)
 Set Audio Protocol. More...
 
int32_t WM8994_SetResolution (WM8994_Object_t *pObj, uint32_t Resolution)
 Set Audio resolution. More...
 
uint32_t wm8994_SetVolume (uint16_t DeviceAddr, uint8_t Volume)
 Sets higher or lower the codec volume level. More...
 
int32_t WM8994_SetVolume (WM8994_Object_t *pObj, uint32_t InputOutput, uint8_t Volume)
 Set higher or lower the codec volume level. More...
 
uint32_t wm8994_Stop (uint16_t DeviceAddr, uint32_t Cmd)
 Stops audio Codec playing. It powers down the codec. More...
 
int32_t WM8994_Stop (WM8994_Object_t *pObj, uint32_t CodecPdwnMode)
 Stops audio Codec playing. It powers down the codec. More...
 
static int32_t WM8994_WriteRegWrap (void *handle, uint16_t Reg, uint8_t *pData, uint16_t Length)
 Function. More...
 

Variables

AUDIO_DrvTypeDef wm8994_drv
 

Detailed Description

Function Documentation

◆ AUDIO_IO_DeInit()

void AUDIO_IO_DeInit ( void  )

DeInitializes Audio low level.

Definition at line 658 of file stm32f4_discovery.c.

◆ AUDIO_IO_Delay()

void AUDIO_IO_Delay ( uint32_t  Delay)

AUDIO Codec delay.

Parameters
DelayDelay in ms

Definition at line 783 of file stm32469i_discovery.c.

◆ AUDIO_IO_Init()

void AUDIO_IO_Init ( void  )

Initializes Audio low level.

Definition at line 626 of file stm32f4_discovery.c.

◆ wm8994_DeInit()

void wm8994_DeInit ( void  )

Deinitializes the audio codec.

Parameters
None
Return values
None

Definition at line 638 of file stm32f769/stm32f769i-disco/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_DeInit()

int32_t WM8994_DeInit ( WM8994_Object_t pObj)

Deinitializes the audio codec.

Parameters
pObjpointer to component object
Return values
Componentstatus

Definition at line 611 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_Delay()

static int32_t WM8994_Delay ( WM8994_Object_t pObj,
uint32_t  Delay 
)
static

This function provides accurate delay (in milliseconds)

Parameters
pObjpointer to component object
Delayspecifies the delay time length, in milliseconds
Return values
Componentstatus

Definition at line 1367 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_GetFrequency()

int32_t WM8994_GetFrequency ( WM8994_Object_t pObj,
uint32_t *  AudioFreq 
)

Get frequency.

Parameters
pObjpointer to component object
AudioFreqAudio frequency
Return values
Componentstatus

Definition at line 1258 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_GetProtocol()

int32_t WM8994_GetProtocol ( WM8994_Object_t pObj,
uint32_t *  Protocol 
)

Get Audio Protocol.

Parameters
pObjpointer to component object
Return values
Componentstatus

Definition at line 1169 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_GetResolution()

int32_t WM8994_GetResolution ( WM8994_Object_t pObj,
uint32_t *  Resolution 
)

Get Audio resolution.

Parameters
pObjpointer to component object
Return values
Audioresolution

Definition at line 1110 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_GetVolume()

int32_t WM8994_GetVolume ( WM8994_Object_t pObj,
uint32_t  InputOutput,
uint8_t *  Volume 
)

Get higher or lower the codec volume level.

Parameters
pObjpointer to component object
InputOutputInput or Output volume
Volumeaudio volume
Return values
Componentstatus

Definition at line 838 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ wm8994_Init()

uint32_t wm8994_Init ( uint16_t  DeviceAddr,
uint16_t  OutputInputDevice,
uint8_t  Volume,
uint32_t  AudioFreq 
)

Initializes the audio codec and the control interface.

Parameters
DeviceAddrDevice address on communication Bus.
OutputInputDevicecan be OUTPUT_DEVICE_SPEAKER, OUTPUT_DEVICE_HEADPHONE, OUTPUT_DEVICE_BOTH, OUTPUT_DEVICE_AUTO, INPUT_DEVICE_DIGITAL_MICROPHONE_1, INPUT_DEVICE_DIGITAL_MICROPHONE_2, INPUT_DEVICE_DIGITAL_MIC1_MIC2, INPUT_DEVICE_INPUT_LINE_1 or INPUT_DEVICE_INPUT_LINE_2.
VolumeInitial volume level (from 0 (Mute) to 100 (Max))
AudioFreqAudio Frequency
Return values
0if correct communication, else wrong communication

Definition at line 137 of file stm32f769/stm32f769i-disco/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_Init()

int32_t WM8994_Init ( WM8994_Object_t pObj,
WM8994_Init_t pInit 
)

Initializes the audio codec and the control interface.

Parameters
pObjpointer to component object
pInitpointer de component init structure
Return values
0if correct communication, else wrong communication

Definition at line 88 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ wm8994_Pause()

uint32_t wm8994_Pause ( uint16_t  DeviceAddr)

Pauses playing on the audio codec.

Parameters
DeviceAddrDevice address on communication Bus.
Return values
0if correct communication, else wrong communication

Definition at line 679 of file stm32f769/stm32f769i-disco/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_Pause()

int32_t WM8994_Pause ( WM8994_Object_t pObj)

Pauses playing on the audio codec.

Parameters
pObjpointer to component object
Return values
Componentstatus

Definition at line 656 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ wm8994_Play()

uint32_t wm8994_Play ( uint16_t  DeviceAddr,
uint16_t *  pBuffer,
uint16_t  Size 
)

Start the audio Codec play feature.

Note
For this codec no Play options are required.
Parameters
DeviceAddrDevice address on communication Bus.
Return values
0if correct communication, else wrong communication

Definition at line 663 of file stm32f769/stm32f769i-disco/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_Play()

int32_t WM8994_Play ( WM8994_Object_t pObj)

Start the audio Codec play feature.

Note
For this codec no Play options are required.
Parameters
pObjpointer to component object
Return values
Componentstatus

Definition at line 644 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ wm8994_ReadID()

uint32_t wm8994_ReadID ( uint16_t  DeviceAddr)

Get the WM8994 ID.

Parameters
DeviceAddrDevice address on communication Bus.
Return values
TheWM8994 ID

Definition at line 649 of file stm32f769/stm32f769i-disco/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_ReadID()

int32_t WM8994_ReadID ( WM8994_Object_t pObj,
uint32_t *  Id 
)

Get the WM8994 ID.

Parameters
pObjpointer to component object
Idcomponent ID
Return values
Componentstatus

Definition at line 623 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_ReadRegWrap()

static int32_t WM8994_ReadRegWrap ( void *  handle,
uint16_t  Reg,
uint8_t *  pData,
uint16_t  Length 
)
static

Function.

Parameters
handleComponent object handle
RegThe target register address to write
pDataThe target register value to be written
Lengthbuffer size to be written
Return values
errorstatus

Definition at line 1386 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_RegisterBusIO()

int32_t WM8994_RegisterBusIO ( WM8994_Object_t pObj,
WM8994_IO_t pIO 
)

Function.

Parameters
Componentobject pointer
Return values
errorstatus

Definition at line 1327 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ wm8994_Reset()

uint32_t wm8994_Reset ( uint16_t  DeviceAddr)

Resets wm8994 registers.

Parameters
DeviceAddrDevice address on communication Bus.
Return values
0if correct communication, else wrong communication

Definition at line 1026 of file stm32f769/stm32f769i-disco/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_Reset()

int32_t WM8994_Reset ( WM8994_Object_t pObj)

Resets wm8994 registers.

Parameters
pObjpointer to component object
Return values
Componentstatus if correct communication, else wrong communication

Definition at line 1308 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ wm8994_Resume()

uint32_t wm8994_Resume ( uint16_t  DeviceAddr)

Resumes playing on the audio codec.

Parameters
DeviceAddrDevice address on communication Bus.
Return values
0if correct communication, else wrong communication

Definition at line 698 of file stm32f769/stm32f769i-disco/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_Resume()

int32_t WM8994_Resume ( WM8994_Object_t pObj)

Resumes playing on the audio codec.

Parameters
pObjpointer to component object
Return values
Componentstatus

Definition at line 684 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ wm8994_SetFrequency()

uint32_t wm8994_SetFrequency ( uint16_t  DeviceAddr,
uint32_t  AudioFreq 
)

Sets new frequency.

Parameters
DeviceAddrDevice address on communication Bus.
AudioFreqAudio frequency used to play the audio stream.
Return values
0if correct communication, else wrong communication

Definition at line 966 of file stm32f769/stm32f769i-disco/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_SetFrequency()

int32_t WM8994_SetFrequency ( WM8994_Object_t pObj,
uint32_t  AudioFreq 
)

Sets new frequency.

Parameters
pObjpointer to component object
AudioFreqAudio frequency
Return values
Componentstatus

Definition at line 1192 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ wm8994_SetMute()

uint32_t wm8994_SetMute ( uint16_t  DeviceAddr,
uint32_t  Cmd 
)

Enables or disables the mute feature on the audio codec.

Parameters
DeviceAddrDevice address on communication Bus.
CmdAUDIO_MUTE_ON to enable the mute or AUDIO_MUTE_OFF to disable the mute mode.
Return values
0if correct communication, else wrong communication

Definition at line 844 of file stm32f769/stm32f769i-disco/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_SetMute()

int32_t WM8994_SetMute ( WM8994_Object_t pObj,
uint32_t  Cmd 
)

Enables or disables the mute feature on the audio codec.

Parameters
pObjpointer to component object
CmdWM8994_MUTE_ON to enable the mute or WM8994_MUTE_OFF to disable the mute mode.
Return values
0if correct communication, else wrong communication

Definition at line 877 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ wm8994_SetOutputMode()

uint32_t wm8994_SetOutputMode ( uint16_t  DeviceAddr,
uint8_t  Output 
)

Switch dynamically (while audio file is played) the output target (speaker or headphone).

Parameters
DeviceAddrDevice address on communication Bus.
Outputspecifies the audio output target: OUTPUT_DEVICE_SPEAKER, OUTPUT_DEVICE_HEADPHONE, OUTPUT_DEVICE_BOTH or OUTPUT_DEVICE_AUTO
Return values
0if correct communication, else wrong communication

Definition at line 879 of file stm32f769/stm32f769i-disco/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_SetOutputMode()

int32_t WM8994_SetOutputMode ( WM8994_Object_t pObj,
uint32_t  Output 
)

Switch dynamically (while audio file is played) the output target (speaker or headphone).

Parameters
pObjpointer to component object
Outputspecifies the audio output target: WM8994_OUT_SPEAKER, WM8994_OUT_HEADPHONE, WM8994_OUT_BOTH or WM8994_OUT_AUTO
Return values
0if correct communication, else wrong communication

Definition at line 918 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_SetProtocol()

int32_t WM8994_SetProtocol ( WM8994_Object_t pObj,
uint32_t  Protocol 
)

Set Audio Protocol.

Parameters
pObjpointer to component object
ProtocolAudio Protocol. Can be: WM8994_PROTOCOL_R_JUSTIFIED, WM8994_PROTOCOL_L_JUSTIFIED, WM8994_PROTOCOL_I2S or WM8994_PROTOCOL_DSP
Return values
Componentstatus

Definition at line 1152 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_SetResolution()

int32_t WM8994_SetResolution ( WM8994_Object_t pObj,
uint32_t  Resolution 
)

Set Audio resolution.

Parameters
pObjpointer to component object
ResolutionAudio resolution. Can be: WM8994_RESOLUTION_16b, WM8994_RESOLUTION_20b, WM8994_RESOLUTION_24b or WM8994_RESOLUTION_32b
Return values
Componentstatus

Definition at line 1093 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ wm8994_SetVolume()

uint32_t wm8994_SetVolume ( uint16_t  DeviceAddr,
uint8_t  Volume 
)

Sets higher or lower the codec volume level.

Parameters
DeviceAddrDevice address on communication Bus.
Volumea byte value from 0 to 255 (refer to codec registers description for more details).
Return values
0if correct communication, else wrong communication

Definition at line 768 of file stm32f769/stm32f769i-disco/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_SetVolume()

int32_t WM8994_SetVolume ( WM8994_Object_t pObj,
uint32_t  InputOutput,
uint8_t  Volume 
)

Set higher or lower the codec volume level.

Parameters
pObjpointer to component object
InputOutputInput or Output volume
Volumea byte value from 0 to 63 for output and from 0 to 240 for input (refer to codec registers description for more details).
Return values
Componentstatus

Definition at line 755 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ wm8994_Stop()

uint32_t wm8994_Stop ( uint16_t  DeviceAddr,
uint32_t  CodecPdwnMode 
)

Stops audio Codec playing. It powers down the codec.

Parameters
DeviceAddrDevice address on communication Bus.
CodecPdwnModeselects the power down mode.
  • CODEC_PDWN_SW: only mutes the audio codec. When resuming from this mode the codec keeps the previous initialization (no need to re-Initialize the codec registers).
  • CODEC_PDWN_HW: Physically power down the codec. When resuming from this mode, the codec is set to default configuration (user should re-Initialize the codec in order to play again the audio stream).
Return values
0if correct communication, else wrong communication

Definition at line 722 of file stm32f769/stm32f769i-disco/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_Stop()

int32_t WM8994_Stop ( WM8994_Object_t pObj,
uint32_t  CodecPdwnMode 
)

Stops audio Codec playing. It powers down the codec.

Parameters
pObjpointer to component object
CodecPdwnModeselects the power down mode.
  • WM8994_PDWN_SW: only mutes the audio codec. When resuming from this mode the codec keeps the previous initialization (no need to re-Initialize the codec registers).
  • WM8994_PDWN_HW: Physically power down the codec. When resuming from this mode, the codec is set to default configuration (user should re-Initialize the codec in order to play again the audio stream).
Return values
0if correct communication, else wrong communication

Definition at line 704 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

◆ WM8994_WriteRegWrap()

static int32_t WM8994_WriteRegWrap ( void *  handle,
uint16_t  Reg,
uint8_t *  pData,
uint16_t  Length 
)
static

Function.

Parameters
handleComponent object handle
RegThe target register address to write
pDataThe target register value to be written
Lengthbuffer size to be written
Return values
errorstatus

Definition at line 1401 of file stm32h747/stm32h747i-disco/CM7/Drivers/BSP/Components/wm8994/wm8994.c.

Variable Documentation

◆ wm8994_drv

AUDIO_DrvTypeDef wm8994_drv


picovoice_driver
Author(s):
autogenerated on Fri Apr 1 2022 02:15:08