Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
I2C Emulation Interface

I2C Emulation Interface. More...

Data Structures

struct  i2c_emul
 Node in a linked list of emulators for I2C devices. More...
 
struct  i2c_emul_api
 Definition of the emulator API. More...
 

Typedefs

typedef int(* i2c_emul_transfer_t) (const struct emul *target, struct i2c_msg *msgs, int num_msgs, int addr)
 Passes I2C messages to the emulator.
 

Functions

int i2c_emul_register (const struct device *dev, struct i2c_emul *emul)
 Register an emulated device on the controller.
 

Detailed Description

I2C Emulation Interface.

Typedef Documentation

◆ i2c_emul_transfer_t

typedef int(* i2c_emul_transfer_t) (const struct emul *target, struct i2c_msg *msgs, int num_msgs, int addr)

#include <include/zephyr/drivers/i2c_emul.h>

Passes I2C messages to the emulator.

The emulator updates the data with what was read back.

Parameters
targetThe device Emulator instance.
msgsArray of messages to transfer. For 'read' messages, this function updates the 'buf' member with the data that was read.
num_msgsNumber of messages to transfer.
addrAddress of the I2C target device.
Return values
0If successful.
-EIOGeneral input / output error.

Function Documentation

◆ i2c_emul_register()

int i2c_emul_register ( const struct device dev,
struct i2c_emul emul 
)

#include <include/zephyr/drivers/i2c_emul.h>

Register an emulated device on the controller.

Parameters
devDevice that will use the emulator
emulI2C emulator to use
Returns
0 indicating success (always)