Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
I2C EEPROM Target

Interfaces for I2C EEPROM target devices. More...

Typedefs

typedef void(* eeprom_target_changed_handler_t) (const struct device *dev, void *user_data)
 Define the application callback handler function signature.

Functions

void eeprom_target_set_changed_callback (const struct device *dev, eeprom_target_changed_handler_t handler, void *user_data)
 Set the EEPROM changed callback handler.
size_t eeprom_target_get_size (const struct device *dev)
 Get size of the virtual EEPROM.
int eeprom_target_read_data (const struct device *dev, off_t offset, void *data, size_t len)
 Read data from the virtual EEPROM.
int eeprom_target_write_data (const struct device *dev, off_t offset, const void *data, size_t len)
 Write data to the virtual EEPROM.
static int eeprom_target_program (const struct device *dev, const uint8_t *eeprom_data, unsigned int length)
 Program memory of the virtual EEPROM.
static int eeprom_target_read (const struct device *dev, uint8_t *eeprom_data, unsigned int offset)
 Read single byte of virtual EEPROM memory.
int eeprom_target_set_addr (const struct device *dev, uint8_t addr)
 Change the address of eeprom target at runtime.

Detailed Description

Interfaces for I2C EEPROM target devices.

Since
1.13
Version
1.0.0

Typedef Documentation

◆ eeprom_target_changed_handler_t

typedef void(* eeprom_target_changed_handler_t) (const struct device *dev, void *user_data)

#include <zephyr/drivers/i2c/target/eeprom.h>

Define the application callback handler function signature.

Parameters
devPointer to the device structure for the driver instance.
user_dataOptional user data provided when callback is set.

Function Documentation

◆ eeprom_target_get_size()

size_t eeprom_target_get_size ( const struct device * dev)

#include <zephyr/drivers/i2c/target/eeprom.h>

Get size of the virtual EEPROM.

Parameters
devPointer to the device structure for the driver instance.
Returns
Size of EEPROM in bytes

◆ eeprom_target_program()

int eeprom_target_program ( const struct device * dev,
const uint8_t * eeprom_data,
unsigned int length )
inlinestatic

#include <zephyr/drivers/i2c/target/eeprom.h>

Program memory of the virtual EEPROM.

Deprecated
Use eeprom_target_write_data instead.
Parameters
devPointer to the device structure for the driver instance.
eeprom_dataPointer of data to program into the virtual eeprom memory
lengthLength of data to program into the virtual eeprom memory
Return values
0If successful.
-EINVALInvalid data size

◆ eeprom_target_read()

int eeprom_target_read ( const struct device * dev,
uint8_t * eeprom_data,
unsigned int offset )
inlinestatic

#include <zephyr/drivers/i2c/target/eeprom.h>

Read single byte of virtual EEPROM memory.

Parameters
devPointer to the device structure for the driver instance.
eeprom_dataPointer of byte where to store the virtual eeprom memory
offsetOffset into EEPROM memory where to read the byte
Return values
0If successful.
-EINVALInvalid data pointer or offset

◆ eeprom_target_read_data()

int eeprom_target_read_data ( const struct device * dev,
off_t offset,
void * data,
size_t len )

#include <zephyr/drivers/i2c/target/eeprom.h>

Read data from the virtual EEPROM.

Parameters
devPointer to the device structure for the driver instance.
offsetAddress offset to read from.
dataBuffer to store read data.
lenNumber of bytes to read.
Returns
0 on success, negative errno code on failure.

◆ eeprom_target_set_addr()

int eeprom_target_set_addr ( const struct device * dev,
uint8_t addr )

#include <zephyr/drivers/i2c/target/eeprom.h>

Change the address of eeprom target at runtime.

Parameters
devPointer to the device structure for the driver instance.
addrNew address to assign to the eeprom target device
Return values
0Is successful
-EINVALIf parameters are invalid
-EIOGeneral input / output error during i2c_taget_register
-ENOSYSIf target mode is not implemented

◆ eeprom_target_set_changed_callback()

void eeprom_target_set_changed_callback ( const struct device * dev,
eeprom_target_changed_handler_t handler,
void * user_data )

#include <zephyr/drivers/i2c/target/eeprom.h>

Set the EEPROM changed callback handler.

Parameters
devPointer to the device structure for the driver instance.
handlerHandler to call on EEPROM changes
user_dataOptional user data passed to callback

◆ eeprom_target_write_data()

int eeprom_target_write_data ( const struct device * dev,
off_t offset,
const void * data,
size_t len )

#include <zephyr/drivers/i2c/target/eeprom.h>

Write data to the virtual EEPROM.

Parameters
devPointer to the device structure for the driver instance.
offsetAddress offset to write data to.
dataBuffer with data to write.
lenNumber of bytes to write.
Returns
0 on success, negative errno code on failure.