|
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) |
|
bool | iic_set_slave_mode (const iic_index_t iic, const uint8_t addr, uint32_t *register_map, const uint32_t rm_length) |
|
void | iic_slave_mode_handler (const iic_index_t iic) |
|
void | iic_reset (const iic_index_t iic) |
|
Functions to use the Inter-Integrated Circuit (IIC).
High-level functions to read/write to clients connected to the two integrated IIC modules.
◆ 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.
◆ iic_destroy()
Close the shared memory handle for the specified IIC index.
- Parameters
-
uart | The 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 124 of file iic.c.
◆ iic_init()
Initialize the IIC specified by the index with a shared memory handle and a buffer size of 4096 bytes.
- Parameters
-
uart | The 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 108 of file iic.c.
◆ 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
-
iic | The IIC index to initialize. |
addr | The IIC address of the client to access. |
reg | The clients register address. |
data | Buffer where the register content is stored. [out] |
length | The amount of data to read. |
Reads the content of the register into data.
- Returns
- 0 if successful, 1 on error
Definition at line 327 of file iic.c.
◆ iic_reset()
- Parameters
-
iic | The IIC index of the hardware to use. Return the IIC module into its default mode. This way it can be used as master. |
Definition at line 314 of file iic.c.
◆ iic_set_slave_mode()
bool iic_set_slave_mode |
( |
const iic_index_t |
iic, |
|
|
const uint8_t |
addr, |
|
|
uint32_t * |
register_map, |
|
|
const uint32_t |
rm_length |
|
) |
| |
◆ iic_slave_mode_handler()
- Parameters
-
iic | The IIC index of the hardware to use. |
This handles requests that came in to the IIC unit when it is in slave mode.
Definition at line 302 of file iic.c.
◆ 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
-
iic | The IIC index to initialize. |
addr | The IIC address of the client to access. |
reg | The clients register address. |
data | Buffer where new the register content is stored. |
length | The amount of data to write. |
Writes data to register.
- Returns
- 0 if successful, 1 on error
Definition at line 344 of file iic.c.