HAL I2S types

HAL I2S types

group I2S_Exported_Types

Typedefs

typedef struct hal_i2s_handle_s hal_i2s_handle_t

HAL I2S handler type

typedef void ( * hal_i2s_cb_t ) ( hal_i2s_handle_t * hi2s )

HAL I2S Generic I2S callback Type HAL I2S pointer

Enums

enum hal_i2s_t

HAL I2S instances enumeration definition.

Values:

enumerator HAL_I2S1

I2S1 instance

enumerator HAL_I2S2

I2S2 instance

enumerator HAL_I2S3

I2S3 instance

enum hal_i2s_mode_t

HAL I2S mode enumeration definition.

Values:

enumerator HAL_I2S_MODE_SLAVE_TX

Slave transmit mode Slave transmit mode

enumerator HAL_I2S_MODE_SLAVE_RX

Slave receive mode Slave receive mode

enumerator HAL_I2S_MODE_MASTER_TX

Master transmit mode Master transmit mode

enumerator HAL_I2S_MODE_MASTER_RX

Master receive mode Master receive mode

enumerator HAL_I2S_MODE_SLAVE_FULL_DUPLEX

Slave full duplex mode Slave full duplex mode

enumerator HAL_I2S_MODE_MASTER_FULL_DUPLEX

Master full duplex mode Master full duplex mode

enum hal_i2s_standard_t

HAL I2S standard.

Values:

enumerator HAL_I2S_STANDARD_PHILIPS

PHILIPS standard PHILIPS standard

enumerator HAL_I2S_STANDARD_MSB

MSB-justified standard MSB-justified standard

enumerator HAL_I2S_STANDARD_LSB

LSB-justified standard LSB-justified standard

enumerator HAL_I2S_STANDARD_PCM_SHORT

PCM standard with short frame synchronization PCM standard with short frame synchronization

enumerator HAL_I2S_STANDARD_PCM_LONG

PCM standard with long frame synchronization PCM standard with long frame synchronization

enum hal_i2s_data_format_t

HAL I2S data format.

Values:

enumerator HAL_I2S_DATA_FORMAT_16_BIT

16-bit on 16-bit channel 16-bit on 16-bit channel

enumerator HAL_I2S_DATA_FORMAT_16_BIT_EXTENDED

16-bit on 32-bit channel 16-bit on 32-bit channel

enumerator HAL_I2S_DATA_FORMAT_24_BIT

24-bit on 32-bit channel right aligned 24-bit on 32-bit channel

enumerator HAL_I2S_DATA_FORMAT_32_BIT

32-bit on 32-bit channel 32-bit on 32-bit channel

enum hal_i2s_master_audio_frequency_t

HAL I2S audio frequency enumeration definition.

Values:

enumerator HAL_I2S_MASTER_AUDIO_FREQ_192_KHZ

Audio Frequency configuration 192000 Hz Frequency 192kHz

enumerator HAL_I2S_MASTER_AUDIO_FREQ_96_KHZ

Audio Frequency configuration 96000 Hz Frequency 96kHz

enumerator HAL_I2S_MASTER_AUDIO_FREQ_48_KHZ

Audio Frequency configuration 48000 Hz Frequency 48kHz

enumerator HAL_I2S_MASTER_AUDIO_FREQ_44_KHZ

Audio Frequency configuration 44100 Hz Frequency 44kHz

enumerator HAL_I2S_MASTER_AUDIO_FREQ_32_KHZ

Audio Frequency configuration 32000 Hz Frequency 32kHz

enumerator HAL_I2S_MASTER_AUDIO_FREQ_22_KHZ

Audio Frequency configuration 22050 Hz Frequency 22kHz

enumerator HAL_I2S_MASTER_AUDIO_FREQ_16_KHZ

Audio Frequency configuration 16000 Hz Frequency 16kHz

enumerator HAL_I2S_MASTER_AUDIO_FREQ_11_KHZ

Audio Frequency configuration 11025 Hz Frequency 11kHz

enumerator HAL_I2S_MASTER_AUDIO_FREQ_8_KHZ

Audio Frequency configuration 8000 Hz Frequency 8kHz

enum hal_i2s_clock_polarity_t

HAL I2S clock polarity enumeration definition.

Values:

enumerator HAL_I2S_CLOCK_POLARITY_LOW

SCK signal is at 0 when idle SCK signal is at 0 when idle

enumerator HAL_I2S_CLOCK_POLARITY_HIGH

SCK signal is at 1 when idle SCK signal is at 1 when idle

enum hal_i2s_bit_order_t

HAL I2S MSB/LSB transmission enumeration definition.

Values:

enumerator HAL_I2S_MSB_FIRST

MSB transmitted first MSB transmitted first

enumerator HAL_I2S_LSB_FIRST

LSB transmitted first LSB transmitted first

enum hal_i2s_fifo_threshold_t

HAL I2S FIFO threshold level enumeration definition.

Values:

enumerator HAL_I2S_FIFO_THRESHOLD_1_DATA

1-data Threshold level set to 1 data sample

enumerator HAL_I2S_FIFO_THRESHOLD_2_DATA

2-data Threshold level set to 2 data sample

enumerator HAL_I2S_FIFO_THRESHOLD_3_DATA

3-data Threshold level set to 3 data sample

enumerator HAL_I2S_FIFO_THRESHOLD_4_DATA

4-data Threshold level set to 4 data sample

enumerator HAL_I2S_FIFO_THRESHOLD_5_DATA

5-data Threshold level set to 5 data sample

enumerator HAL_I2S_FIFO_THRESHOLD_6_DATA

6-data Threshold level set to 6 data sample

enumerator HAL_I2S_FIFO_THRESHOLD_7_DATA

7-data Threshold level set to 7 data sample

enumerator HAL_I2S_FIFO_THRESHOLD_8_DATA

8-data Threshold level set to 8 data sample

enum hal_i2s_state_t

HAL I2S state structure definition.

Values:

enumerator HAL_I2S_STATE_RESET

I2S is not yet initialized or de-initialized

enumerator HAL_I2S_STATE_INIT

I2S is initialized but not yet configured

enumerator HAL_I2S_STATE_IDLE

I2S is initialized and global config applied

enumerator HAL_I2S_STATE_TX_ACTIVE

Data Transmission process is ongoing

enumerator HAL_I2S_STATE_RX_ACTIVE

Data Reception process is ongoing

enumerator HAL_I2S_STATE_TX_RX_ACTIVE

Data Transmission and Reception process is ongoing

enumerator HAL_I2S_STATE_PAUSED

Data process is paused

enumerator HAL_I2S_STATE_ABORT

I2S abort is ongoing

enum hal_i2s_master_clk_output_status_t

HAL I2S MCLK enumeration definition.

Values:

enumerator HAL_I2S_MASTER_CLK_OUTPUT_DISABLED

Master clock output disabled

enumerator HAL_I2S_MASTER_CLK_OUTPUT_ENABLED

Master clock output enabled

enum hal_i2s_ws_inversion_status_t

HAL I2S word select inversion enumeration definition.

Values:

enumerator HAL_I2S_WS_INVERSION_DISABLED

Word select inversion disabled

enumerator HAL_I2S_WS_INVERSION_ENABLED

Word select inversion enabled

enum hal_i2s_master_keep_io_state_status_t

HAL I2S master keep IO state enumeration definition.

Values:

enumerator HAL_I2S_MASTER_KEEP_IO_STATE_DISABLED

Master keep IO state disabled

enumerator HAL_I2S_MASTER_KEEP_IO_STATE_ENABLED

Master keep IO state enabled

enum hal_i2s_io_swap_status_t

HAL I2S swap IO state enumeration definition.

Values:

enumerator HAL_I2S_IO_SWAP_DISABLED

IO swap feature disabled

enumerator HAL_I2S_IO_SWAP_ENABLED

IO swap feature enabled

enum hal_i2s_slave_length_detection_error_status_t

HAL I2S slave channel length state enumeration definition.

Values:

enumerator HAL_I2S_SLAVE_LEN_DETECT_ERR_DISABLED

Slave channel length detection error disabled

enumerator HAL_I2S_SLAVE_LEN_DETECT_ERR_ENABLED

Slave channel length detection error enabled

enum hal_i2s_io_cfg_status_t

HAL I2S IO configuration feature status enumeration definition.

Values:

enumerator HAL_I2S_IO_CFG_UNLOCKED

IO configuration feature unlocked

enumerator HAL_I2S_IO_CFG_LOCKED

IO configuration feature locked

struct hal_i2s_master_config_t
#include <stm32c5xx_hal_i2s.h>

HAL I2S Master configuration structure definition.

Public Members

hal_i2s_mode_t mode

The I2S operating mode.

hal_i2s_standard_t standard

The I2S standard.

hal_i2s_data_format_t data_format

The I2S data format.

hal_i2s_clock_polarity_t clock_polarity

The serial steady state.

hal_i2s_bit_order_t bit_order

Specifies whether data transfers start from MSB or LSB bit.

hal_i2s_master_audio_frequency_t audio_frequency

The audio frequency selected, configurable in Master mode.

struct hal_i2s_slave_config_t
#include <stm32c5xx_hal_i2s.h>

HAL I2S Slave configuration structure definition.

Public Members

hal_i2s_mode_t mode

The I2S operating mode.

hal_i2s_standard_t standard

The I2S standard.

hal_i2s_data_format_t data_format

The I2S data format.

hal_i2s_clock_polarity_t clock_polarity

The serial steady state.

hal_i2s_bit_order_t bit_order

Specifies whether data transfers start from MSB or LSB bit.

struct hal_i2s_handle_s
#include <stm32c5xx_hal_i2s.h>

I2S handle structure definition.

Public Members

hal_i2s_t instance

I2S instance

volatile hal_i2s_state_t global_state

I2S state

volatile hal_i2s_state_t pause_state

I2S pause state

volatile uint32_t last_error_codes

I2S Error code

hal_os_semaphore_t semaphore

I2S OS semaphore

const uint16_t * p_tx_buff

Pointer to I2S Tx transfer buffer

uint16_t tx_xfer_size

I2S Tx transfer size

volatile uint16_t tx_xfer_count

I2S Tx transfer counter

uint16_t * p_rx_buff

Pointer to I2S Rx transfer buffer

uint16_t rx_xfer_size

I2S Rx transfer size

volatile uint16_t rx_xfer_count

I2S Rx transfer counter

void ( * p_rx_isr ) ( struct hal_i2s_handle_s * hi2s )

Function pointer on Rx ISR

void ( * p_tx_isr ) ( struct hal_i2s_handle_s * hi2s )

Function pointer on Tx ISR

hal_dma_handle_t * hdma_tx

I2S Tx DMA handle parameters

hal_dma_handle_t * hdma_rx

I2S Rx DMA handle parameters

const void * p_user_data

User data pointer

void ( * p_tx_cplt_cb ) ( struct hal_i2s_handle_s * hi2s )

I2S Tx complete callback

void ( * p_rx_cplt_cb ) ( struct hal_i2s_handle_s * hi2s )

I2S Rx complete callback

void ( * p_tx_rx_cplt_cb ) ( struct hal_i2s_handle_s * hi2s )

I2S TxRx complete callback

void ( * p_tx_half_cplt_cb ) ( struct hal_i2s_handle_s * hi2s )

I2S Tx half complete callback

void ( * p_rx_half_cplt_cb ) ( struct hal_i2s_handle_s * hi2s )

I2S Rx half complete callback

void ( * p_tx_rx_half_cplt_cb ) ( struct hal_i2s_handle_s * hi2s )

I2S TxRx half complete callback

void ( * p_error_cb ) ( struct hal_i2s_handle_s * hi2s )

I2S error callback

void ( * p_abort_cplt_cb ) ( struct hal_i2s_handle_s * hi2s )

I2S abort callback