Device driver interface for the LSM6DSL 3D accelerometer/gyroscope. More...

Detailed Description

Author
Vincent Dupont vince.nosp@m.nt@o.nosp@m.takey.nosp@m.s.co.nosp@m.m

Definition in file lsm6dsl.h.

#include "periph/i2c.h"
+ Include dependency graph for lsm6dsl.h:

Go to the source code of this file.

Data Structures

struct  lsm6dsl_params_t
 LSM6DSL driver parameters. More...
 
struct  lsm6dsl_t
 LSM6DSL device descriptor. More...
 
struct  lsm6dsl_3d_data_t
 3D output data More...
 

Enumerations

enum  {
  LSM6DSL_DATA_RATE_POWER_DOWN = 0x0, LSM6DSL_DATA_RATE_1_6HZ = 0xB, LSM6DSL_DATA_RATE_12_5HZ = 0x1, LSM6DSL_DATA_RATE_26HZ = 0x2,
  LSM6DSL_DATA_RATE_52HZ = 0x3, LSM6DSL_DATA_RATE_104HZ = 0x4, LSM6DSL_DATA_RATE_208HZ = 0x5, LSM6DSL_DATA_RATE_416HZ = 0x6,
  LSM6DSL_DATA_RATE_833HZ = 0x7, LSM6DSL_DATA_RATE_1_66KHZ = 0x8, LSM6DSL_DATA_RATE_3_33KHZ = 0x9, LSM6DSL_DATA_RATE_6_66KHZ = 0xa
}
 Data rate.
 
enum  {
  LSM6DSL_DECIMATION_NOT_IN_FIFO = 0, LSM6DSL_DECIMATION_NO = 1, LSM6DSL_DECIMATION_2 = 2, LSM6DSL_DECIMATION_3 = 3,
  LSM6DSL_DECIMATION_4 = 4, LSM6DSL_DECIMATION_8 = 5, LSM6DSL_DECIMATION_16 = 6, LSM6DSL_DECIMATION_32 = 7
}
 Decimation.
 
enum  { LSM6DSL_ACC_FS_2G = 0, LSM6DSL_ACC_FS_4G = 2, LSM6DSL_ACC_FS_8G = 3, LSM6DSL_ACC_FS_16G = 1 }
 Accelerometer full scale.
 
enum  { LSM6DSL_GYRO_FS_245DPS = 0, LSM6DSL_GYRO_FS_500DPS = 1, LSM6DSL_GYRO_FS_1000DPS = 2, LSM6DSL_GYRO_FS_2000DPS = 3 }
 Gyroscope full scale.
 

Functions

int lsm6dsl_init (lsm6dsl_t *dev, const lsm6dsl_params_t *params)
 Initialize a LSM6DSL device. More...
 
int lsm6dsl_read_acc (const lsm6dsl_t *dev, lsm6dsl_3d_data_t *data)
 Read accelerometer data. More...
 
int lsm6dsl_read_gyro (const lsm6dsl_t *dev, lsm6dsl_3d_data_t *data)
 Read gyroscope data. More...
 
int lsm6dsl_read_temp (const lsm6dsl_t *dev, int16_t *data)
 Read temperature data. More...