Paparazzi UAS  v5.2.2_stable-0-gd6b9f29
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
adxl345_i2c.c File Reference

Driver for ADXL345 accelerometer using I2C. More...

#include "peripherals/adxl345_i2c.h"
#include "std.h"
+ Include dependency graph for adxl345_i2c.c:

Go to the source code of this file.

Macros

#define ADXL345_DATA_FORMAT   ((adxl->config.int_invert<<5)|(adxl->config.full_res<<3)|(adxl->config.justify_msb<<2)|(adxl->config.range))
 
#define Int16FromBuf(_buf, _idx)   ((int16_t)((_buf[_idx+1]<<8) | _buf[_idx]))
 

Functions

void adxl345_i2c_init (struct Adxl345_I2c *adxl, struct i2c_periph *i2c_p, uint8_t addr)
 
static void adxl345_i2c_tx_reg (struct Adxl345_I2c *adxl, uint8_t reg, uint8_t val)
 
static void adxl345_i2c_send_config (struct Adxl345_I2c *adxl)
 
void adxl345_i2c_start_configure (struct Adxl345_I2c *adxl)
 Start configuration if not already done. More...
 
void adxl345_i2c_read (struct Adxl345_I2c *adxl)
 
void adxl345_i2c_event (struct Adxl345_I2c *adxl)
 

Detailed Description

Driver for ADXL345 accelerometer using I2C.

Todo:
IRQ handling

Definition in file adxl345_i2c.c.

Macro Definition Documentation

#define ADXL345_DATA_FORMAT   ((adxl->config.int_invert<<5)|(adxl->config.full_res<<3)|(adxl->config.justify_msb<<2)|(adxl->config.range))

Definition at line 33 of file adxl345_i2c.c.

Referenced by adxl345_i2c_send_config().

#define Int16FromBuf (   _buf,
  _idx 
)    ((int16_t)((_buf[_idx+1]<<8) | _buf[_idx]))

Definition at line 112 of file adxl345_i2c.c.

Referenced by adxl345_i2c_event().

Function Documentation

void adxl345_i2c_init ( struct Adxl345_I2c adxl,
struct i2c_periph i2c_p,
uint8_t  addr 
)

Definition at line 36 of file adxl345_i2c.c.

References adxl345_set_default_config(), ADXL_CONF_UNINIT, Adxl345_I2c::config, FALSE, Adxl345_I2c::i2c_p, Adxl345_I2c::i2c_trans, I2CTransDone, Adxl345_I2c::init_status, Adxl345_I2c::initialized, i2c_transaction::slave_addr, and i2c_transaction::status.

Referenced by imu_impl_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void adxl345_i2c_read ( struct Adxl345_I2c adxl)
void adxl345_i2c_start_configure ( struct Adxl345_I2c adxl)

Start configuration if not already done.

Definition at line 90 of file adxl345_i2c.c.

References adxl345_i2c_send_config(), ADXL_CONF_UNINIT, Adxl345_I2c::i2c_trans, I2CTransDone, I2CTransSuccess, Adxl345_I2c::init_status, and i2c_transaction::status.

Referenced by adxl345_i2c_periodic().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void adxl345_i2c_tx_reg ( struct Adxl345_I2c adxl,
uint8_t  reg,
uint8_t  val 
)
static

Definition at line 49 of file adxl345_i2c.c.

References i2c_transaction::buf, Adxl345_I2c::i2c_p, i2c_submit(), Adxl345_I2c::i2c_trans, I2CTransTx, i2c_transaction::len_r, i2c_transaction::len_w, i2c_transaction::type, and val.

Referenced by adxl345_i2c_send_config().

+ Here is the call graph for this function:

+ Here is the caller graph for this function: