Infineon Logo AIROC BTSDK v4.9 - Documentation
 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
wiced_hal_pcm.h File Reference

Defines the utilities for configuring the I2S. More...

Data Structures

struct  wiced_hal_pcm_param_t
 AIROC PCM parameter config. More...
 
struct  wiced_hal_pcm_config_t
 AIROC PCM/I2s config. More...
 

Enumerations

enum  wiced_hal_pcm_role_t { WICED_HAL_PCM_SLAVE = 0, WICED_HAL_PCM_MASTER }
 AIROC PCM/I2S role. More...
 
enum  wiced_hal_pcm_clk_t {
  WICED_HAL_PCM_RATE_128K = 0, WICED_HAL_PCM_RATE_256K, WICED_HAL_PCM_RATE_512K, WICED_HAL_PCM_RATE_1024K,
  WICED_HAL_PCM_RATE_2048K
}
 AIROC PCM/I2S clock rate. More...
 
enum  wiced_hal_pcm_data_order_t { WICED_HAL_PCM_MSB_FIRST = 0, WICED_HAL_PCM_LSB_FIRST }
 AIROC PCM/I2S data order. More...
 
enum  wiced_hal_pcm_sync_type_t { WICED_HAL_PCM_FRAME_TYPE_SHORT = 0, WICED_HAL_PCM_FRAME_TYPE_LONG }
 AIROC PCM/I2S frame type. More...
 
enum  wiced_hal_pcm_right_justify_t { WICED_HAL_PCM_DISABLE_RIGHT_JUSTIFY = 0, WICED_HAL_PCM_ENABLE_RIGHT_JUSTIFY }
 AIROC PCM/I2S Right justify. More...
 
enum  wiced_hal_pcm_fill_data_t { WICED_HAL_PCM_FILL_0S = 0, WICED_HAL_PCM_FILL_1S, WICED_HAL_PCM_FILL_SIGNED, WICED_HAL_PCM_FILL_PROG }
 AIROC PCM/I2S fillData. More...
 
enum  wiced_hal_pcm_path_t { WICED_HAL_I2S_MODE = 0, WICED_HAL_PCM_MODE }
 WICED HAL PCM/I2S path.
 

Functions

void wiced_hal_set_pcm_config (wiced_hal_pcm_config_t *pcm_config)
 Function wiced_hal_set_pcm_config. More...
 
wiced_hal_pcm_config_twiced_hal_get_pcm_config (void)
 Function wiced_hal_get_pcm_config. More...
 
void wiced_hal_pcm_select_pads (uint8_t pcm_clk, uint8_t pcm_sync, uint8_t pcm_out, uint8_t pcm_in)
 Function wiced_hal_pcm_select_pads. More...
 

Detailed Description

Defines the utilities for configuring the I2S.

Enumeration Type Documentation

AIROC PCM/I2S clock rate.

Enumerator
WICED_HAL_PCM_RATE_128K 

PCM clock rate (128Kbps)

WICED_HAL_PCM_RATE_256K 

PCM clock rate (256Kbps)

WICED_HAL_PCM_RATE_512K 

PCM clock rate (512Kbps)

WICED_HAL_PCM_RATE_1024K 

PCM clock rate (1024Kbps)

WICED_HAL_PCM_RATE_2048K 

PCM clock rate (2048bps)

AIROC PCM/I2S data order.

Enumerator
WICED_HAL_PCM_MSB_FIRST 

PCM data format config for MSB first out.

WICED_HAL_PCM_LSB_FIRST 

PCM data format config for LSB first out.

AIROC PCM/I2S fillData.

The total number of bits per slot is always sixteen. Unused bits will be filled as defined by fillData.

AIROC PCM/I2S Right justify.

Enumerator
WICED_HAL_PCM_DISABLE_RIGHT_JUSTIFY 

Used default data justify.

Fill data shifted out last

WICED_HAL_PCM_ENABLE_RIGHT_JUSTIFY 

Used right justify to sync data.

Fill data shifted out first

AIROC PCM/I2S role.

Enumerator
WICED_HAL_PCM_SLAVE 

PCM/I2S role type(slave)

WICED_HAL_PCM_MASTER 

[DEFAULT] PCM/I2S role type(master)

AIROC PCM/I2S frame type.

Enumerator
WICED_HAL_PCM_FRAME_TYPE_SHORT 

PCM data format config for short frame sync.

WICED_HAL_PCM_FRAME_TYPE_LONG 

PCM data format config for long frame sync.

Function Documentation

wiced_hal_pcm_config_t* wiced_hal_get_pcm_config ( void  )

Function wiced_hal_get_pcm_config.

To get the current pcm configuration

Parameters
[in]void
Returns
structure wiced_bt_pcm_config_t pointer

Default values : mode = WICED_BT_I2S_MODE role = WICED_BT_I2SPCM_MASTER pcm_param = NULL

void wiced_hal_pcm_select_pads ( uint8_t  pcm_clk,
uint8_t  pcm_sync,
uint8_t  pcm_out,
uint8_t  pcm_in 
)

Function wiced_hal_pcm_select_pads.

Selects the PCM clock, sync, data out and data in, LHL pins for the PCM peripheral to use.

Parameters
[in]pcm_clk: PCM Clock Pin
[in]pcm_sync: PCM Sync Pin
[in]pcm_out: PCM Data Out Pin
[in]pcm_in: PCM Data In Pin
Returns
: None
void wiced_hal_set_pcm_config ( wiced_hal_pcm_config_t pcm_config)

Function wiced_hal_set_pcm_config.

To set the pcm configuration parameter

Parameters
[in]pcm_config: strucure pointer
Returns
void