Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
i2c.c File Reference

Architecture independent I2C (Inter-Integrated Circuit Bus) API. More...

+ Include dependency graph for i2c.c:

Go to the source code of this file.

Macros

#define USE_I2C   (USE_I2C0 || USE_I2C1 || USE_I2C2 || USE_I2C3 || USE_I2C4)
 
#define USE_SOFT_I2C   (USE_SOFTI2C0 || USE_SOFTI2C1)
 

Functions

void i2c_init (struct i2c_periph *p)
 Initialize I2C peripheral.
 
bool i2c_transmit (struct i2c_periph *p, struct i2c_transaction *t, uint8_t s_addr, uint8_t len)
 Submit a write only transaction.
 
bool i2c_receive (struct i2c_periph *p, struct i2c_transaction *t, uint8_t s_addr, uint16_t len)
 Submit a read only transaction.
 
bool i2c_transceive (struct i2c_periph *p, struct i2c_transaction *t, uint8_t s_addr, uint8_t len_w, uint16_t len_r)
 Submit a write/read transaction.
 
static enum I2CTransactionStatus i2c_blocking_submit (struct i2c_periph *p, struct i2c_transaction *t, float timeout)
 
enum I2CTransactionStatus i2c_blocking_transmit (struct i2c_periph *p, struct i2c_transaction *t, uint8_t s_addr, uint8_t len, float timeout)
 Submit a write only transaction and wait for it to complete.
 
enum I2CTransactionStatus i2c_blocking_receive (struct i2c_periph *p, struct i2c_transaction *t, uint8_t s_addr, uint16_t len, float timeout)
 Submit a read only transaction and wait for it to complete.
 
enum I2CTransactionStatus i2c_blocking_transceive (struct i2c_periph *p, struct i2c_transaction *t, uint8_t s_addr, uint8_t len_w, uint16_t len_r, float timeout)
 Submit a write/read transaction and wait for it to complete.
 

Detailed Description

Architecture independent I2C (Inter-Integrated Circuit Bus) API.

Definition in file i2c.c.

Macro Definition Documentation

◆ USE_I2C

#define USE_I2C   (USE_I2C0 || USE_I2C1 || USE_I2C2 || USE_I2C3 || USE_I2C4)

Definition at line 31 of file i2c.c.

◆ USE_SOFT_I2C

#define USE_SOFT_I2C   (USE_SOFTI2C0 || USE_SOFTI2C1)

Definition at line 32 of file i2c.c.

Function Documentation

◆ i2c_blocking_submit()

static enum I2CTransactionStatus i2c_blocking_submit ( struct i2c_periph p,
struct i2c_transaction t,
float  timeout 
)
static

Definition at line 232 of file i2c.c.

References foo, i2c_submit(), I2CTransFailed, p, pprz_bsem_wait_timeout(), and timeout.

Referenced by i2c_blocking_receive(), i2c_blocking_transceive(), and i2c_blocking_transmit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: