ChibiOS/HAL 9.0.0
hal_i2s.h File Reference

I2S Driver macros and structures. More...

#include "hal_i2s_lld.h"

Go to the source code of this file.

Data Structures

struct  hal_i2s_driver
 Structure representing an I2S driver. More...
struct  hal_i2s_config
 Driver configuration structure. More...

Macros

I2S modes
#define I2S_MODE_SLAVE   0
#define I2S_MODE_MASTER   1
Macro Functions
#define i2sIsBufferComplete(i2sp)
 Buffer state.
#define i2sStartExchangeI(i2sp)
 Starts a I2S data exchange.
#define i2sStopExchangeI(i2sp)
 Stops the ongoing data exchange.
#define _i2s_isr_half_code(i2sp)
 Common ISR code, half buffer event.
#define _i2s_isr_full_code(i2sp)
 Common ISR code.

Typedefs

typedef struct hal_i2s_driver I2SDriver
 Type of a structure representing an I2S driver.
typedef struct hal_i2s_config I2SConfig
 Type of a structure representing an I2S driver configuration.
typedef void(* i2scallback_t) (I2SDriver *i2sp)
 I2S notification callback type.

Enumerations

enum  i2sstate_t {
  I2S_UNINIT = 0 , I2S_STOP = 1 , I2S_READY = 2 , I2S_ACTIVE = 3 ,
  I2S_COMPLETE = 4
}
 Driver state machine possible states. More...

Functions

void i2sInit (void)
 I2S Driver initialization.
void i2sObjectInit (I2SDriver *i2sp)
 Initializes the standard part of a I2SDriver structure.
msg_t i2sStart (I2SDriver *i2sp, const I2SConfig *config)
 Configures and activates the I2S peripheral.
void i2sStop (I2SDriver *i2sp)
 Deactivates the I2S peripheral.
void i2sStartExchange (I2SDriver *i2sp)
 Starts a I2S data exchange.
void i2sStopExchange (I2SDriver *i2sp)
 Stops the ongoing data exchange.

Detailed Description

I2S Driver macros and structures.

Definition in file hal_i2s.h.