Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
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

◆ ADXL345_DATA_FORMAT

#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.

◆ Int16FromBuf

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

Definition at line 112 of file adxl345_i2c.c.

Function Documentation

◆ adxl345_i2c_event()

void adxl345_i2c_event ( struct Adxl345_I2c adxl)

◆ adxl345_i2c_init()

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, 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_aspirin_i2c_init().

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

◆ adxl345_i2c_read()

void adxl345_i2c_read ( struct Adxl345_I2c adxl)

◆ adxl345_i2c_send_config()

◆ adxl345_i2c_start_configure()

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:

◆ adxl345_i2c_tx_reg()

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: