OPTIGA™ Trust M
Host Library Documentation
ifx_i2c_data_link_layer.h File Reference

This file defines the API prototype for data link layer of the Infineon I2C Protocol Stack library. More...

#include "ifx_i2c_config.h"
Include dependency graph for ifx_i2c_data_link_layer.h:

Go to the source code of this file.

#define IFX_I2C_DL_EVENT_ERROR   (0x01)
 Error event propagated to upper layer. More...
 
#define IFX_I2C_DL_EVENT_TX_SUCCESS   (0x02)
 Transmit success event propagated to upper layer (bit field 1) More...
 
#define IFX_I2C_DL_EVENT_RX_SUCCESS   (0x04)
 Receive success event propagated to upper layer (bit field 3) More...
 
optiga_lib_status_t ifx_i2c_dl_init (ifx_i2c_context_t *p_ctx, ifx_i2c_event_handler_t handler)
 Function for initializing the module. More...
 
optiga_lib_status_t ifx_i2c_dl_send_frame (ifx_i2c_context_t *p_ctx, uint16_t frame_len)
 Function for sending a frame. More...
 
optiga_lib_status_t ifx_i2c_dl_receive_frame (ifx_i2c_context_t *p_ctx)
 Function for receiving a frame. More...
 

Detailed Description

This file defines the API prototype for data link layer of the Infineon I2C Protocol Stack library.

Author
Infineon Technologies AG

Definition in file ifx_i2c_data_link_layer.h.

Macro Definition Documentation

◆ IFX_I2C_DL_EVENT_ERROR

#define IFX_I2C_DL_EVENT_ERROR   (0x01)

Error event propagated to upper layer.

Definition at line 48 of file ifx_i2c_data_link_layer.h.

◆ IFX_I2C_DL_EVENT_RX_SUCCESS

#define IFX_I2C_DL_EVENT_RX_SUCCESS   (0x04)

Receive success event propagated to upper layer (bit field 3)

Definition at line 52 of file ifx_i2c_data_link_layer.h.

◆ IFX_I2C_DL_EVENT_TX_SUCCESS

#define IFX_I2C_DL_EVENT_TX_SUCCESS   (0x02)

Transmit success event propagated to upper layer (bit field 1)

Definition at line 50 of file ifx_i2c_data_link_layer.h.

Function Documentation

◆ ifx_i2c_dl_init()

optiga_lib_status_t ifx_i2c_dl_init ( ifx_i2c_context_t p_ctx,
ifx_i2c_event_handler_t  handler 
)

Function for initializing the module.

Function initializes and enables the module and registers an event handler to receive events from this module.

Precondition
  • This function must be called before using the module.
Note
  • None
Parameters
[in,out]p_ctxPointer to ifx i2c context.
[in]handlerFunction pointer to the event handler of the upper layer.
Return values
IFX_I2C_STACK_SUCCESSIf initialization was successful.
IFX_I2C_STACK_ERRORIf the module is already initialized.

◆ ifx_i2c_dl_receive_frame()

optiga_lib_status_t ifx_i2c_dl_receive_frame ( ifx_i2c_context_t p_ctx)

Function for receiving a frame.

Asynchronous function to receive a frame

  • The function returns immediately.
  • One of the following events is propagated to the event handler registered with ifx_i2c_dl_init.
Precondition
  • None
Note
  • None
Parameters
[in,out]p_ctxPointer to ifx i2c context.
Return values
IFX_I2C_STACK_SUCCESSIf function was successful.
IFX_I2C_STACK_ERRORIf the module is busy.

◆ ifx_i2c_dl_send_frame()

optiga_lib_status_t ifx_i2c_dl_send_frame ( ifx_i2c_context_t p_ctx,
uint16_t  frame_len 
)

Function for sending a frame.

Asynchronous function to send a frame

  • The function returns immediately.
  • One of the following events is propagated to the event handler registered with ifx_i2c_dl_init.
Precondition
  • None
Note
  • None
Parameters
[in,out]p_ctxPointer to ifx i2c context.
[in]frame_lenFrame length.
Return values
IFX_I2C_STACK_SUCCESSIf function was successful.
IFX_I2C_STACK_ERRORIf the module is busy.