IZAR Flight Controller 1.0.0
IZAR Flight Controller running with an ESP32.
i2cdev.h File Reference
#include <driver/i2c.h>
#include <esp_err.h>
#include <esp_idf_lib_helpers.h>
#include <freertos/FreeRTOS.h>
#include <freertos/semphr.h>
#include <soc/i2c_reg.h>
Include dependency graph for i2cdev.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  i2c_dev_t

Macros

#define CONFIG_I2CDEV_TIMEOUT   1000
#define I2CDEV_MAX_STRETCH_TIME   I2C_TIME_OUT_REG_V
#define I2C_DEV_TAKE_MUTEX(dev)
#define I2C_DEV_GIVE_MUTEX(dev)
#define I2C_DEV_CHECK(dev, X)
#define I2C_DEV_CHECK_LOGE(dev, X, msg, ...)

Enumerations

enum  i2c_dev_type_t { I2C_DEV_WRITE = 0 , I2C_DEV_READ }

Functions

esp_err_t i2cdev_init ()
 Init library.
esp_err_t i2cdev_done ()
 Finish work with library.
esp_err_t i2c_dev_create_mutex (i2c_dev_t *dev)
 Create mutex for device descriptor.
esp_err_t i2c_dev_delete_mutex (i2c_dev_t *dev)
 Delete mutex for device descriptor.
esp_err_t i2c_dev_take_mutex (i2c_dev_t *dev)
 Take device mutex.
esp_err_t i2c_dev_give_mutex (i2c_dev_t *dev)
 Give device mutex.
esp_err_t i2c_dev_probe (const i2c_dev_t *dev, i2c_dev_type_t operation_type)
 Check the availability of the device.
esp_err_t i2c_dev_read (const i2c_dev_t *dev, const void *out_data, size_t out_size, void *in_data, size_t in_size)
 Read from slave device.
esp_err_t i2c_dev_write (const i2c_dev_t *dev, const void *out_reg, size_t out_reg_size, const void *out_data, size_t out_size)
 Write to slave device.
esp_err_t i2c_dev_read_reg (const i2c_dev_t *dev, uint8_t reg, void *in_data, size_t in_size)
 Read from register with an 8-bit address.
esp_err_t i2c_dev_write_reg (const i2c_dev_t *dev, uint8_t reg, const void *out_data, size_t out_size)
 Write to register with an 8-bit address.