Hardware Abstraction Layer for FreeRTOS
i2c_prv.h File Reference
#include <FreeRTOS.h>
#include <semphr.h>
#include <stdint.h>
#include <stdbool.h>
#include <hal.h>
Include dependency graph for i2c_prv.h:

Go to the source code of this file.

Macros

#define I2C_ALREDY_INITED   1
 
#define i2c_lock(u, w, e)
 
#define i2c_unlock(u, e)
 
#define I2C_ADDDEV(ns, p)   HAL_ADDDEV(i2c, ns, p)
 
#define I2C_GET_DEV(index)   HAL_GET_DEV(i2c, index)
 
#define I2C_OPS(ns)
 
#define I2C_INIT_DEV(ns)
 
#define I2C_INIT(ns, index, mode)   struct i2c *i2c_init(uint32_t index, enum i2c_mode mode)
 
#define I2C_DEINIT(ns, i)   int32_t i2c_deinit(struct i2c *i)
 
#define I2C_SEND(ns, i, id, data, len, waittime)   int32_t i2c_send(struct i2c *i, uint16_t id, uint8_t *data, uint32_t len, TickType_t waittime)
 
#define I2C_RECV(ns, i, id, data, len, waittime)   int32_t i2c_recv(struct i2c *i, uint16_t id, uint8_t *data, uint32_t len, TickType_t waittime)
 
#define I2C_TRANSFER(ns, i, id, sendData, sendLen, recvData, recvLen, waittime)   int32_t i2c_transfer(struct i2c *i, uint16_t id, uint8_t *sendData, uint32_t sendLen, uint8_t *recvData, uint32_t recvLen, TickType_t waittime)
 
#define I2C_SEND_ISR(ns, i, id, data, len)   int32_t i2c_sendISR(struct i2c *i, uint16_t id, uint8_t *data, uint32_t len)
 
#define I2C_RECV_ISR(ns, i, id, data, len)   int32_t i2c_recvISR(struct i2c *i, uint16_t id, uint8_t *data, uint32_t len)
 
#define I2C_TRANSFER_ISR(ns, i, id, sendData, sendLen, recvData, recvLen)   int32_t i2c_transferISR(struct i2c *i, uint16_t id, uint8_t *sendData, uint32_t sendLen, uint8_t *recvData, uint32_t recvLen)
 

Functions

int32_t i2c_genericInit (struct i2c *i2c)
 
 HAL_DEFINE_GLOBAL_ARRAY (i2c)
 

Macro Definition Documentation

◆ I2C_ADDDEV

#define I2C_ADDDEV (   ns,
 
)    HAL_ADDDEV(i2c, ns, p)

◆ I2C_ALREDY_INITED

#define I2C_ALREDY_INITED   1

◆ I2C_DEINIT

#define I2C_DEINIT (   ns,
 
)    int32_t i2c_deinit(struct i2c *i)

◆ I2C_GET_DEV

#define I2C_GET_DEV (   index)    HAL_GET_DEV(i2c, index)

◆ I2C_INIT

#define I2C_INIT (   ns,
  index,
  mode 
)    struct i2c *i2c_init(uint32_t index, enum i2c_mode mode)

◆ I2C_INIT_DEV

#define I2C_INIT_DEV (   ns)

◆ i2c_lock

#define i2c_lock (   u,
  w,
 
)

◆ I2C_OPS

#define I2C_OPS (   ns)

◆ I2C_RECV

#define I2C_RECV (   ns,
  i,
  id,
  data,
  len,
  waittime 
)    int32_t i2c_recv(struct i2c *i, uint16_t id, uint8_t *data, uint32_t len, TickType_t waittime)

◆ I2C_RECV_ISR

#define I2C_RECV_ISR (   ns,
  i,
  id,
  data,
  len 
)    int32_t i2c_recvISR(struct i2c *i, uint16_t id, uint8_t *data, uint32_t len)

◆ I2C_SEND

#define I2C_SEND (   ns,
  i,
  id,
  data,
  len,
  waittime 
)    int32_t i2c_send(struct i2c *i, uint16_t id, uint8_t *data, uint32_t len, TickType_t waittime)

◆ I2C_SEND_ISR

#define I2C_SEND_ISR (   ns,
  i,
  id,
  data,
  len 
)    int32_t i2c_sendISR(struct i2c *i, uint16_t id, uint8_t *data, uint32_t len)

◆ I2C_TRANSFER

#define I2C_TRANSFER (   ns,
  i,
  id,
  sendData,
  sendLen,
  recvData,
  recvLen,
  waittime 
)    int32_t i2c_transfer(struct i2c *i, uint16_t id, uint8_t *sendData, uint32_t sendLen, uint8_t *recvData, uint32_t recvLen, TickType_t waittime)

◆ I2C_TRANSFER_ISR

#define I2C_TRANSFER_ISR (   ns,
  i,
  id,
  sendData,
  sendLen,
  recvData,
  recvLen 
)    int32_t i2c_transferISR(struct i2c *i, uint16_t id, uint8_t *sendData, uint32_t sendLen, uint8_t *recvData, uint32_t recvLen)

◆ i2c_unlock

#define i2c_unlock (   u,
 
)

Function Documentation

◆ HAL_DEFINE_GLOBAL_ARRAY()

HAL_DEFINE_GLOBAL_ARRAY ( i2c  )

◆ i2c_genericInit()

int32_t i2c_genericInit ( struct i2c *  i2c)