Kinetis SDK v.1.2 Demo Applications User's Guide  Rev. 0
Freescale Semiconductor, Inc.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
audio.h File Reference
#include <stdint.h>
#include "fsl_soundcard.h"
#include "fsl_sai_driver.h"
#include "equalizer.h"

Go to the source code of this file.

Data Structures

struct  wave_header_t
 Standard Windows PCM wave file header structure. More...
 
struct  wave_file_t
 Wave file structure. More...
 

Macros

#define WAVE_FILE_HEADER_SIZE
 Standard Winodws PCM wave file header length. More...
 
#define HP_GAIN_POS_12_0
 
#define HP_GAIN_POS_11_5
 
#define HP_GAIN_POS_11_0
 
#define HP_GAIN_POS_10_5
 
#define HP_GAIN_POS_10_0
 
#define HP_GAIN_POS_09_5
 
#define HP_GAIN_POS_09_0
 
#define HP_GAIN_POS_08_5
 
#define HP_GAIN_POS_08_0
 
#define HP_GAIN_POS_07_5
 
#define HP_GAIN_POS_07_0
 
#define HP_GAIN_POS_06_5
 
#define HP_GAIN_POS_06_0
 
#define HP_GAIN_POS_05_5
 
#define HP_GAIN_POS_05_0
 
#define HP_GAIN_POS_04_5
 
#define HP_GAIN_POS_04_0
 
#define HP_GAIN_POS_03_5
 
#define HP_GAIN_POS_03_0
 
#define HP_GAIN_POS_02_5
 
#define HP_GAIN_POS_02_0
 
#define HP_GAIN_POS_01_5
 
#define HP_GAIN_POS_01_0
 
#define HP_GAIN_POS_00_5
 
#define HP_GAIN_POS_00_0
 
#define HP_GAIN_NEG_00_5
 
#define HP_GAIN_NEG_01_0
 
#define HP_GAIN_NEG_01_5
 
#define HP_GAIN_NEG_02_0
 
#define HP_GAIN_NEG_02_5
 
#define HP_GAIN_NEG_03_0
 
#define HP_GAIN_NEG_03_5
 
#define HP_GAIN_NEG_04_0
 
#define HP_GAIN_NEG_04_5
 
#define HP_GAIN_NEG_05_0
 
#define HP_GAIN_NEG_05_5
 
#define HP_GAIN_NEG_06_0
 
#define HP_GAIN_NEG_06_5
 
#define HP_GAIN_NEG_07_0
 
#define HP_GAIN_NEG_07_5
 
#define HP_GAIN_NEG_08_0
 
#define HP_GAIN_NEG_08_5
 
#define HP_GAIN_NEG_09_0
 
#define HP_GAIN_NEG_09_5
 
#define HP_GAIN_NEG_10_0
 
#define HP_GAIN_NEG_10_5
 
#define HP_GAIN_NEG_11_0
 
#define HP_GAIN_NEG_11_5
 
#define HP_GAIN_NEG_12_0
 
#define HP_GAIN_NEG_12_5
 
#define HP_GAIN_NEG_13_0
 
#define HP_GAIN_NEG_13_5
 
#define HP_GAIN_NEG_14_0
 
#define HP_GAIN_NEG_14_5
 
#define HP_GAIN_NEG_15_0
 
#define HP_GAIN_NEG_15_5
 
#define HP_GAIN_NEG_16_0
 
#define HP_GAIN_NEG_16_5
 
#define HP_GAIN_NEG_17_0
 
#define HP_GAIN_NEG_17_5
 
#define HP_GAIN_NEG_18_0
 
#define HP_GAIN_NEG_18_5
 
#define HP_GAIN_NEG_19_0
 
#define HP_GAIN_NEG_19_5
 
#define HP_GAIN_NEG_20_0
 
#define HP_GAIN_NEG_20_5
 
#define HP_GAIN_NEG_21_0
 
#define HP_GAIN_NEG_21_5
 
#define HP_GAIN_NEG_22_0
 
#define HP_GAIN_NEG_22_5
 
#define HP_GAIN_NEG_23_0
 
#define HP_GAIN_NEG_23_5
 
#define HP_GAIN_NEG_24_0
 
#define HP_GAIN_NEG_24_5
 
#define HP_GAIN_NEG_25_0
 
#define HP_GAIN_NEG_25_5
 
#define HP_GAIN_NEG_26_0
 
#define HP_GAIN_NEG_26_5
 
#define HP_GAIN_NEG_27_0
 
#define HP_GAIN_NEG_27_5
 
#define HP_GAIN_NEG_28_0
 
#define HP_GAIN_NEG_28_5
 
#define HP_GAIN_NEG_29_0
 
#define HP_GAIN_NEG_29_5
 
#define HP_GAIN_NEG_30_0
 
#define HP_GAIN_NEG_30_5
 
#define HP_GAIN_NEG_31_0
 
#define HP_GAIN_NEG_31_5
 
#define HP_GAIN_NEG_32_0
 
#define HP_GAIN_NEG_32_5
 
#define HP_GAIN_NEG_33_0
 
#define HP_GAIN_NEG_33_5
 
#define HP_GAIN_NEG_34_0
 
#define HP_GAIN_NEG_34_5
 
#define HP_GAIN_NEG_35_0
 
#define HP_GAIN_NEG_35_5
 
#define HP_GAIN_NEG_36_0
 
#define HP_GAIN_NEG_36_5
 
#define HP_GAIN_NEG_37_0
 
#define HP_GAIN_NEG_37_5
 
#define HP_GAIN_NEG_38_0
 
#define HP_GAIN_NEG_38_5
 
#define HP_GAIN_NEG_39_0
 
#define HP_GAIN_NEG_39_5
 
#define HP_GAIN_NEG_40_0
 
#define HP_GAIN_NEG_40_5
 
#define HP_GAIN_NEG_41_0
 
#define HP_GAIN_NEG_41_5
 
#define HP_GAIN_NEG_42_0
 
#define HP_GAIN_NEG_42_5
 
#define HP_GAIN_NEG_43_0
 
#define HP_GAIN_NEG_43_5
 
#define HP_GAIN_NEG_44_0
 
#define HP_GAIN_NEG_44_5
 
#define HP_GAIN_NEG_45_0
 
#define HP_GAIN_NEG_45_5
 
#define HP_GAIN_NEG_46_0
 
#define HP_GAIN_NEG_46_5
 
#define HP_GAIN_NEG_47_0
 
#define HP_GAIN_NEG_47_5
 
#define HP_GAIN_NEG_48_0
 
#define HP_GAIN_NEG_48_5
 
#define HP_GAIN_NEG_49_0
 
#define HP_GAIN_NEG_49_5
 
#define HP_GAIN_NEG_50_0
 
#define HP_GAIN_NEG_50_5
 
#define HP_GAIN_NEG_51_0
 
#define HP_GAIN_NEG_51_5
 

Functions

void audio_stream_init (void)
 Initialize I2S, I2C, & TWR-AUDIO-SGTL board. More...
 
void audio_wav_init (wave_file_t *newWav)
 Initialize audio WAV. More...
 
uint32_t config_volume (sgtl_handler_t *handler, sgtl_module_t module, uint32_t volumeCtrl)
 Sets volume from user input. More...
 
snd_status_t stream_audio (dsp_types_t dspType, uint8_t volumeCtrl)
 Plays a stream of audio. More...
 
snd_status_t get_wav_data (wave_file_t *waveFile)
 Collects data from wav file header. More...
 
snd_status_t play_wav (uint32_t *pcmBuffer, uint8_t volumeCtrl)
 Play PCM audio data from wav format array. More...
 
void send_wav (uint8_t *dataBuffer, uint32_t length, sai_data_format_t *dataFormat)
 Send audio data to sound card. More...
 

Data Structure Documentation

struct wave_header_t
Data Fields
uint16_t bitSamp
uint16_t blockAlign
uint32_t byteRate
uint16_t channels
uint8_t dataFlag[4]
uint8_t fmt[4]
uint32_t fmtLen
uint32_t length
uint8_t riff[4]
uint32_t sampFreq
uint32_t size
uint16_t tag
uint8_t waveFlag[4]
struct wave_file_t
Data Fields
uint32_t * data
wave_header_t header

Macro Definition Documentation

#define HP_GAIN_NEG_00_5
#define HP_GAIN_NEG_01_0
#define HP_GAIN_NEG_01_5
#define HP_GAIN_NEG_02_0
#define HP_GAIN_NEG_02_5
#define HP_GAIN_NEG_03_0
#define HP_GAIN_NEG_03_5
#define HP_GAIN_NEG_04_0
#define HP_GAIN_NEG_04_5
#define HP_GAIN_NEG_05_0
#define HP_GAIN_NEG_05_5
#define HP_GAIN_NEG_06_0
#define HP_GAIN_NEG_06_5
#define HP_GAIN_NEG_07_0
#define HP_GAIN_NEG_07_5
#define HP_GAIN_NEG_08_0
#define HP_GAIN_NEG_08_5
#define HP_GAIN_NEG_09_0
#define HP_GAIN_NEG_09_5
#define HP_GAIN_NEG_10_0
#define HP_GAIN_NEG_10_5
#define HP_GAIN_NEG_11_0
#define HP_GAIN_NEG_11_5
#define HP_GAIN_NEG_12_0
#define HP_GAIN_NEG_12_5
#define HP_GAIN_NEG_13_0
#define HP_GAIN_NEG_13_5
#define HP_GAIN_NEG_14_0
#define HP_GAIN_NEG_14_5
#define HP_GAIN_NEG_15_0
#define HP_GAIN_NEG_15_5
#define HP_GAIN_NEG_16_0
#define HP_GAIN_NEG_16_5
#define HP_GAIN_NEG_17_0
#define HP_GAIN_NEG_17_5
#define HP_GAIN_NEG_18_0
#define HP_GAIN_NEG_18_5
#define HP_GAIN_NEG_19_0
#define HP_GAIN_NEG_19_5
#define HP_GAIN_NEG_20_0
#define HP_GAIN_NEG_20_5
#define HP_GAIN_NEG_21_0
#define HP_GAIN_NEG_21_5
#define HP_GAIN_NEG_22_0
#define HP_GAIN_NEG_22_5
#define HP_GAIN_NEG_23_0
#define HP_GAIN_NEG_23_5
#define HP_GAIN_NEG_24_0
#define HP_GAIN_NEG_24_5
#define HP_GAIN_NEG_25_0
#define HP_GAIN_NEG_25_5
#define HP_GAIN_NEG_26_0
#define HP_GAIN_NEG_26_5
#define HP_GAIN_NEG_27_0
#define HP_GAIN_NEG_27_5
#define HP_GAIN_NEG_28_0
#define HP_GAIN_NEG_28_5
#define HP_GAIN_NEG_29_0
#define HP_GAIN_NEG_29_5
#define HP_GAIN_NEG_30_0
#define HP_GAIN_NEG_30_5
#define HP_GAIN_NEG_31_0
#define HP_GAIN_NEG_31_5
#define HP_GAIN_NEG_32_0
#define HP_GAIN_NEG_32_5
#define HP_GAIN_NEG_33_0
#define HP_GAIN_NEG_33_5
#define HP_GAIN_NEG_34_0
#define HP_GAIN_NEG_34_5
#define HP_GAIN_NEG_35_0
#define HP_GAIN_NEG_35_5
#define HP_GAIN_NEG_36_0
#define HP_GAIN_NEG_36_5
#define HP_GAIN_NEG_37_0
#define HP_GAIN_NEG_37_5
#define HP_GAIN_NEG_38_0
#define HP_GAIN_NEG_38_5
#define HP_GAIN_NEG_39_0
#define HP_GAIN_NEG_39_5
#define HP_GAIN_NEG_40_0
#define HP_GAIN_NEG_40_5
#define HP_GAIN_NEG_41_0
#define HP_GAIN_NEG_41_5
#define HP_GAIN_NEG_42_0
#define HP_GAIN_NEG_42_5
#define HP_GAIN_NEG_43_0
#define HP_GAIN_NEG_43_5
#define HP_GAIN_NEG_44_0
#define HP_GAIN_NEG_44_5
#define HP_GAIN_NEG_45_0
#define HP_GAIN_NEG_45_5
#define HP_GAIN_NEG_46_0
#define HP_GAIN_NEG_46_5
#define HP_GAIN_NEG_47_0
#define HP_GAIN_NEG_47_5
#define HP_GAIN_NEG_48_0
#define HP_GAIN_NEG_48_5
#define HP_GAIN_NEG_49_0
#define HP_GAIN_NEG_49_5
#define HP_GAIN_NEG_50_0
#define HP_GAIN_NEG_50_5
#define HP_GAIN_NEG_51_0
#define HP_GAIN_NEG_51_5
#define HP_GAIN_POS_00_0
#define HP_GAIN_POS_00_5
#define HP_GAIN_POS_01_0
#define HP_GAIN_POS_01_5
#define HP_GAIN_POS_02_0
#define HP_GAIN_POS_02_5
#define HP_GAIN_POS_03_0
#define HP_GAIN_POS_03_5
#define HP_GAIN_POS_04_0
#define HP_GAIN_POS_04_5
#define HP_GAIN_POS_05_0
#define HP_GAIN_POS_05_5
#define HP_GAIN_POS_06_0
#define HP_GAIN_POS_06_5
#define HP_GAIN_POS_07_0
#define HP_GAIN_POS_07_5
#define HP_GAIN_POS_08_0
#define HP_GAIN_POS_08_5
#define HP_GAIN_POS_09_0
#define HP_GAIN_POS_09_5
#define HP_GAIN_POS_10_0
#define HP_GAIN_POS_10_5
#define HP_GAIN_POS_11_0
#define HP_GAIN_POS_11_5
#define HP_GAIN_POS_12_0
#define WAVE_FILE_HEADER_SIZE

Function Documentation

void audio_stream_init ( void  )
void audio_wav_init ( wave_file_t newWav)
Parameters
[in]newWavPointer to a WAV file.
uint32_t config_volume ( sgtl_handler_t *  handler,
sgtl_module_t  module,
uint32_t  volumeCtrl 
)
Parameters
[in]handlerPointer to SGTL handler.
[in]moduleSGTL module.
[in]volumeCtrlInput data from terminal menu.
Return values
kStatus_Successif function completed successfully.
kStatusFailif function failed.
snd_status_t get_wav_data ( wave_file_t waveFile)
Parameters
[in]waveFileData structure of pcm data array.
Return values
kStatus_Successif function completed successfully.
kStatusFailif function failed.
snd_status_t play_wav ( uint32_t *  pcmBuffer,
uint8_t  volumeCtrl 
)
Parameters
[in]pcmBufferPointer to data array containing wav formatted audio data.
[in]volumeCtrlInput data from terminal menu.
Return values
kStatus_Successif function completed successfully.
kStatusFailif function failed.
void send_wav ( uint8_t *  dataBuffer,
uint32_t  length,
sai_data_format_t *  dataFormat 
)
Parameters
[in]dataBufferPointer to data array containing wav formatted audio data.
[in]lengthLength of the dataBuffer
[in]dataFormatPoint to audio_data_format_t for sound card.
snd_status_t stream_audio ( dsp_types_t  dspType,
uint8_t  volumeCtrl 
)
Parameters
[in]dspTypeUsed to select one DSP function to perform on the data
[in]volumeCtrlInput data from terminal menu.
Returns
soundcard status.