STM32746G-Discovery board drivers V1.0.0

Dependents:   F746_SD_GraphicEqualizer_ren0620

Fork of BSP_DISCO_F746NG by ST

Embed: (wiki syntax)

« Back to documentation index

WM8994_Private_Functions

WM8994_Private_Functions
[Wm8994]

Functions

uint32_t wm8994_Init (uint16_t DeviceAddr, uint16_t OutputInputDevice, uint8_t Volume, uint32_t AudioFreq)
 Initializes the audio codec and the control interface.
void wm8994_DeInit (void)
 Deinitializes the audio codec.
uint32_t wm8994_ReadID (uint16_t DeviceAddr)
 Get the WM8994 ID.
uint32_t wm8994_Play (uint16_t DeviceAddr, uint16_t *pBuffer, uint16_t Size)
 Start the audio Codec play feature.
uint32_t wm8994_Pause (uint16_t DeviceAddr)
 Pauses playing on the audio codec.
uint32_t wm8994_Resume (uint16_t DeviceAddr)
 Resumes playing on the audio codec.
uint32_t wm8994_Stop (uint16_t DeviceAddr, uint32_t CodecPdwnMode)
 Stops audio Codec playing.
uint32_t wm8994_SetVolume (uint16_t DeviceAddr, uint8_t Volume)
 Sets higher or lower the codec volume level.
uint32_t wm8994_SetMute (uint16_t DeviceAddr, uint32_t Cmd)
 Enables or disables the mute feature on the audio codec.
uint32_t wm8994_SetOutputMode (uint16_t DeviceAddr, uint8_t Output)
 Switch dynamically (while audio file is played) the output target (speaker or headphone).
uint32_t wm8994_SetFrequency (uint16_t DeviceAddr, uint32_t AudioFreq)
 Sets new frequency.
uint32_t wm8994_Reset (uint16_t DeviceAddr)
 Resets wm8994 registers.
static uint8_t CODEC_IO_Write (uint8_t Addr, uint16_t Reg, uint16_t Value)
 Writes/Read a single data.

Function Documentation

static uint8_t CODEC_IO_Write ( uint8_t  Addr,
uint16_t  Reg,
uint16_t  Value 
) [static]

Writes/Read a single data.

Parameters:
Addr,:I2C address
Reg,:Reg address
Value,:Data to be written
Return values:
None

Definition at line 894 of file wm8994.c.

void wm8994_DeInit ( void   )

Deinitializes the audio codec.

Parameters:
None
Return values:
None

Definition at line 492 of file wm8994.c.

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:
DeviceAddr,:Device address on communication Bus.
OutputInputDevice,:can 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_INPUT_LINE_1 or INPUT_DEVICE_INPUT_LINE_2.
Volume,:Initial volume level (from 0 (Mute) to 100 (Max))
AudioFreq,:Audio Frequency
Return values:
0if correct communication, else wrong communication

Definition at line 135 of file wm8994.c.

uint32_t wm8994_Pause ( uint16_t  DeviceAddr )

Pauses playing on the audio codec.

Parameters:
DeviceAddr,:Device address on communication Bus.
Return values:
0if correct communication, else wrong communication

Definition at line 533 of file wm8994.c.

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:
DeviceAddr,:Device address on communication Bus.
Return values:
0if correct communication, else wrong communication

Definition at line 517 of file wm8994.c.

uint32_t wm8994_ReadID ( uint16_t  DeviceAddr )

Get the WM8994 ID.

Parameters:
DeviceAddr,:Device address on communication Bus.
Return values:
TheWM8994 ID

Definition at line 503 of file wm8994.c.

uint32_t wm8994_Reset ( uint16_t  DeviceAddr )

Resets wm8994 registers.

Parameters:
DeviceAddr,:Device address on communication Bus.
Return values:
0if correct communication, else wrong communication

Definition at line 875 of file wm8994.c.

uint32_t wm8994_Resume ( uint16_t  DeviceAddr )

Resumes playing on the audio codec.

Parameters:
DeviceAddr,:Device address on communication Bus.
Return values:
0if correct communication, else wrong communication

Definition at line 552 of file wm8994.c.

uint32_t wm8994_SetFrequency ( uint16_t  DeviceAddr,
uint32_t  AudioFreq 
)

Sets new frequency.

Parameters:
DeviceAddr,:Device address on communication Bus.
AudioFreq,:Audio frequency used to play the audio stream.
Return values:
0if correct communication, else wrong communication

Definition at line 820 of file wm8994.c.

uint32_t wm8994_SetMute ( uint16_t  DeviceAddr,
uint32_t  Cmd 
)

Enables or disables the mute feature on the audio codec.

Parameters:
DeviceAddr,:Device address on communication Bus.
Cmd,:AUDIO_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 698 of file wm8994.c.

uint32_t wm8994_SetOutputMode ( uint16_t  DeviceAddr,
uint8_t  Output 
)

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

Parameters:
DeviceAddr,:Device address on communication Bus.
Output,:specifies 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 733 of file wm8994.c.

uint32_t wm8994_SetVolume ( uint16_t  DeviceAddr,
uint8_t  Volume 
)

Sets higher or lower the codec volume level.

Parameters:
DeviceAddr,:Device address on communication Bus.
Volume,:a 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 622 of file wm8994.c.

uint32_t wm8994_Stop ( uint16_t  DeviceAddr,
uint32_t  CodecPdwnMode 
)

Stops audio Codec playing.

It powers down the codec.

Parameters:
DeviceAddr,:Device address on communication Bus.
CodecPdwnMode,:selects 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 576 of file wm8994.c.