no-OS
Loading...
Searching...
No Matches
no_os_i2c.h File Reference

Header file of I2C Interface. More...

#include <stdint.h>
Include dependency graph for no_os_i2c.h:

Classes

struct  no_os_i2c_init_param
 Structure holding the parameters for I2C initialization. More...
 
struct  no_os_i2cbus_desc
 Structure holding I2C bus descriptor. More...
 
struct  no_os_i2c_desc
 Structure holding I2C address descriptor. More...
 
struct  no_os_i2c_platform_ops
 Structure holding I2C function pointers that point to the platform specific function. More...
 

Macros

#define I2C_MAX_BUS_NUMBER   4
 

Functions

int32_t no_os_i2c_init (struct no_os_i2c_desc **desc, const struct no_os_i2c_init_param *param)
 Initialize the I2C communication peripheral.
 
int32_t no_os_i2c_remove (struct no_os_i2c_desc *desc)
 Free the resources allocated by no_os_i2c_init().
 
int32_t no_os_i2c_write (struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t stop_bit)
 I2C Write data to slave device.
 
int32_t no_os_i2c_read (struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t stop_bit)
 I2C Read data from slave device.
 
int32_t no_os_i2cbus_init (const struct no_os_i2c_init_param *param)
 Initialize the i2c bus communication peripheral.
 
void no_os_i2cbus_remove (uint32_t bus_number)
 Removes i2c bus instance.
 

Detailed Description

Header file of I2C Interface.

Author
DBogdan (drago.nosp@m.s.bo.nosp@m.gdan@.nosp@m.anal.nosp@m.og.co.nosp@m.m)

Copyright 2019(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Macro Definition Documentation

◆ I2C_MAX_BUS_NUMBER

#define I2C_MAX_BUS_NUMBER   4

Function Documentation

◆ no_os_i2c_init()

int32_t no_os_i2c_init ( struct no_os_i2c_desc ** desc,
const struct no_os_i2c_init_param * param )

Initialize the I2C communication peripheral.

Parameters
desc- The I2C descriptor.
param- The structure that contains the I2C parameters.
Returns
0 in case of success, -1 otherwise.

◆ no_os_i2c_read()

int32_t no_os_i2c_read ( struct no_os_i2c_desc * desc,
uint8_t * data,
uint8_t bytes_number,
uint8_t stop_bit )

I2C Read data from slave device.

Parameters
desc- The i2c descriptor.
data- The buffer with the transmitted/received data.
bytes_number- Number of bytes to read.
stop_bit- Stop conditional control. Example: 0 - A stop condition will not be generated. 1 - A stop condition will be generated.
Returns
0 in case of success, -1 otherwise.

◆ no_os_i2c_remove()

int32_t no_os_i2c_remove ( struct no_os_i2c_desc * desc)

Free the resources allocated by no_os_i2c_init().

Parameters
desc- The I2C descriptor.
Returns
0 in case of success, -1 otherwise.

◆ no_os_i2c_write()

int32_t no_os_i2c_write ( struct no_os_i2c_desc * desc,
uint8_t * data,
uint8_t bytes_number,
uint8_t stop_bit )

I2C Write data to slave device.

Parameters
desc- The I2C descriptor.
data- The buffer with the transmitted/received data.
bytes_number- Number of bytes to write.
stop_bit- Stop conditional control. Example: 0 - A stop condition will not be generated. 1 - A stop condition will be generated.
Returns
0 in case of success, -1 otherwise.

◆ no_os_i2cbus_init()

int32_t no_os_i2cbus_init ( const struct no_os_i2c_init_param * param)

Initialize the i2c bus communication peripheral.

Parameters
param- The structure that containes the i2c bus parameters
Returns
0 in case of success, error code otherwise

◆ no_os_i2cbus_remove()

void no_os_i2cbus_remove ( uint32_t bus_number)

Removes i2c bus instance.

Parameters
bus_number- i2c bus number