libpynq (release 5EWC0-2023 version 0.2.2 of 2023-09-24 22:22)
Loading...
Searching...
No Matches
IIC library

Enumerations

enum  iic_index_t { IIC0 = 0 , IIC1 = 1 , NUM_IICS = 2 }
 

Functions

void iic_init (const iic_index_t iic)
 
void iic_destroy (const iic_index_t iic)
 
bool iic_read_register (const iic_index_t iic, const uint8_t addr, const uint8_t reg, uint8_t *data, uint16_t length)
 
bool iic_write_register (const iic_index_t iic, const uint8_t addr, const uint8_t reg, uint8_t *data, uint16_t length)
 

Detailed Description

Functions to use the Inter-Integrated Circuit (IIC).

High-level functions to read/write to clients connected to the two integrated IIC modules.

Enumeration Type Documentation

◆ iic_index_t

Enum of IICs. Functions use a switch numbered from 0..NUM_IICS-1.

Enumerator
IIC0 
IIC1 
NUM_IICS 

Definition at line 42 of file iic.h.

Function Documentation

◆ iic_destroy()

void iic_destroy ( const iic_index_t  iic)

Close the shared memory handle for the specified IIC index.

Parameters
uartThe IIC index to remove from the shared memory space.
Warning
Fails with program exit if the IIC channel is outside valid range.

Definition at line 50 of file iic.c.

Here is the call graph for this function:

◆ iic_init()

void iic_init ( const iic_index_t  iic)

Initialize the IIC specified by the index with a shared memory handle and a buffer size of 4096 bytes.

Parameters
uartThe IIC index to initialize.
Warning
Fails with program exit if the IIC channel is outside valid range or when the shared memory system has not been instantiated.

Definition at line 37 of file iic.c.

Here is the call graph for this function:

◆ iic_read_register()

bool iic_read_register ( const iic_index_t  iic,
const uint8_t  addr,
const uint8_t  reg,
uint8_t *  data,
uint16_t  length 
)
Parameters
iicThe IIC index to initialize.
addrThe IIC address of the client to access.
regThe clients register address.
dataBuffer where the register content is stored. [out]
lengthThe amount of data to read.

Reads the content of the register into data.

Returns
0 if successful, 1 on error

Definition at line 58 of file iic.c.

Here is the call graph for this function:

◆ iic_write_register()

bool iic_write_register ( const iic_index_t  iic,
const uint8_t  addr,
const uint8_t  reg,
uint8_t *  data,
uint16_t  length 
)
Parameters
iicThe IIC index to initialize.
addrThe IIC address of the client to access.
regThe clients register address.
dataBuffer where new the register content is stored.
lengthThe amount of data to write.

Writes data to register.

Returns
0 if successful, 1 on error

Definition at line 69 of file iic.c.

Here is the call graph for this function: