ChibiOS/EX 1.3.0
|
LIS302DL data structures and types | |
enum | lis302dl_acc_fs_t { LIS302DL_ACC_FS_2G = 0x00 , LIS302DL_ACC_FS_8G = 0x20 } |
LIS302DL full scale. More... | |
enum | lis302dl_acc_odr_t { LIS302DL_ACC_ODR_100HZ = 0x00 , LIS302DL_ACC_ODR_400HZ = 0x80 } |
LIS302DL output data rate and bandwidth. More... | |
enum | lis302dl_acc_hp_t { LIS302DL_ACC_HP_DISABLED = 0x00 , LIS302DL_ACC_HP_0 = 0x10 , LIS302DL_ACC_HP_1 = 0x11 , LIS302DL_ACC_HP_2 = 0x12 , LIS302DL_ACC_HP_3 = 0x13 } |
LIS302DL high pass filtering. More... | |
enum | lis302dl_state_t { LIS302DL_UNINIT = 0 , LIS302DL_STOP = 1 , LIS302DL_READY = 2 } |
Driver state machine possible states. More... | |
typedef struct LIS302DLDriver | LIS302DLDriver |
Structure representing a LIS302DL driver. | |
#define | _lis302dl_methods_alone |
LIS302DL specific methods. | |
#define | _lis302dl_methods |
LIS302DL specific methods with inherited ones. | |
#define | _lis302dl_data |
LIS302DLDriver specific data. |
Version identification | |
#define | EX_LIS302DL_VERSION "1.1.2" |
LIS302DL driver version string. | |
#define | EX_LIS302DL_MAJOR 1 |
LIS302DL driver version major number. | |
#define | EX_LIS302DL_MINOR 1 |
LIS302DL driver version minor number. | |
#define | EX_LIS302DL_PATCH 2 |
LIS302DL driver version patch number. | |
#define | LIS302DL_ACC_NUMBER_OF_AXES 3U |
LIS302DL accelerometer subsystem characteristics. | |
#define | LIS302DL_ACC_2G 2.0f |
#define | LIS302DL_ACC_8G 8.0f |
#define | LIS302DL_ACC_SENS_2G 18.0f |
#define | LIS302DL_ACC_SENS_8G 72.0f |
#define | LIS302DL_ACC_BIAS 0.0f |
LIS302DL communication interfaces related bit masks | |
#define | LIS302DL_DI_MASK 0xFF |
#define | LIS302DL_DI(n) |
#define | LIS302DL_AD_MASK 0x3F |
#define | LIS302DL_AD(n) |
#define | LIS302DL_MS (1 << 6) |
#define | LIS302DL_RW (1 << 7) |
LIS302DL register addresses | |
#define | LIS302DL_AD_WHO_AM_I 0x0F |
#define | LIS302DL_AD_CTRL_REG1 0x20 |
#define | LIS302DL_AD_CTRL_REG2 0x21 |
#define | LIS302DL_AD_CTRL_REG3 0x22 |
#define | LIS302DL_AD_HP_FILER_RESET 0x23 |
#define | LIS302DL_AD_STATUS_REG 0x27 |
#define | LIS302DL_AD_OUT_X 0x29 |
#define | LIS302DL_AD_OUT_Y 0x2B |
#define | LIS302DL_AD_OUT_Z 0x2D |
#define | LIS302DL_AD_FF_WU_CFG_1 0x30 |
#define | LIS302DL_AD_FF_WU_SRC_1 0x31 |
#define | LIS302DL_AD_FF_WU_THS_1 0x32 |
#define | LIS302DL_AD_FF_WU_DURATION_1 0x33 |
#define | LIS302DL_AD_FF_WU_CFG_2 0x34 |
#define | LIS302DL_AD_FF_WU_SRC_2 0x35 |
#define | LIS302DL_AD_FF_WU_THS_2 0x36 |
#define | LIS302DL_AD_FF_WU_DURATION_2 0x37 |
#define | LIS302DL_AD_CLICK_CFG 0x38 |
#define | LIS302DL_AD_CLICK_SRC 0x39 |
#define | LIS302DL_AD_CLICK_THSY_X 0x3B |
#define | LIS302DL_AD_CLICK_THSZ 0x3C |
#define | LIS302DL_AD_CLICK_TIME_LIMIT 0x3D |
#define | LIS302DL_AD_CLICK_LATENCY 0x3E |
#define | LIS302DL_AD_CLICK_WINDOW 0x3F |
LIS302DL_CTRL_REG1 register bits definitions | |
#define | LIS302DL_CTRL_REG1_MASK 0xFF |
#define | LIS302DL_CTRL_REG1_XEN (1 << 0) |
#define | LIS302DL_CTRL_REG1_YEN (1 << 1) |
#define | LIS302DL_CTRL_REG1_ZEN (1 << 2) |
#define | LIS302DL_CTRL_REG1_STM (1 << 3) |
#define | LIS302DL_CTRL_REG1_STP (1 << 4) |
#define | LIS302DL_CTRL_REG1_FS_MASK 0x20 |
#define | LIS302DL_CTRL_REG1_FS (1 << 5) |
#define | LIS302DL_CTRL_REG1_PD (1 << 6) |
#define | LIS302DL_CTRL_REG1_DR (1 << 7) |
LIS302DL_CTRL_REG2 register bits definitions | |
#define | LIS302DL_CTRL_REG2_MASK 0xDF |
#define | LIS302DL_CTRL_REG2_HPCF1 (1 << 0) |
#define | LIS302DL_CTRL_REG2_HPCF2 (1 << 1) |
#define | LIS302DL_CTRL_REG2_HPFFWU1 (1 << 2) |
#define | LIS302DL_CTRL_REG2_HPFFWU2 (1 << 3) |
#define | LIS302DL_CTRL_REG2_FDS (1 << 4) |
#define | LIS302DL_CTRL_REG2_BOOT (1 << 6) |
#define | LIS302DL_CTRL_REG2_SIM (1 << 7) |
LIS302DL_CTRL_REG3 register bits definitions | |
#define | LIS302DL_CTRL_REG3_MASK 0xFF |
#define | LIS302DL_CTRL_REG3_I1CFG0 (1 << 0) |
#define | LIS302DL_CTRL_REG3_I1CFG1 (1 << 1) |
#define | LIS302DL_CTRL_REG3_I1CFG2 (1 << 2) |
#define | LIS302DL_CTRL_REG3_I2CFG0 (1 << 3) |
#define | LIS302DL_CTRL_REG3_I2CFG1 (1 << 4) |
#define | LIS302DL_CTRL_REG3_I2CFG2 (1 << 5) |
#define | LIS302DL_CTRL_REG3_PP_OD (1 << 6) |
#define | LIS302DL_CTRL_REG3_IHL (1 << 7) |
Configuration options | |
#define | LIS302DL_USE_SPI TRUE |
LIS302DL SPI interface switch. | |
#define | LIS302DL_SHARED_SPI FALSE |
LIS302DL shared SPI switch. | |
#define | LIS302DL_USE_I2C FALSE |
LIS302DL I2C interface switch. | |
#define | LIS302DL_SHARED_I2C FALSE |
LIS302DL shared I2C switch. | |
#define | LIS302DL_USE_ADVANCED FALSE |
LIS302DL advanced configurations switch. |
Data Structures | |
struct | LIS302DLConfig |
LIS302DL configuration structure. More... | |
struct | LIS302DLVMT |
LIS302DL accelerometer virtual methods table. More... | |
struct | LIS302DLDriver |
LIS302DL 3-axis accelerometer class. More... |
Macros | |
#define | lis302dlAccelerometerGetAxesNumber(devp) |
Return the number of axes of the BaseAccelerometer. | |
#define | lis302dlAccelerometerReadRaw(devp, axes) |
Retrieves raw data from the BaseAccelerometer. | |
#define | lis302dlAccelerometerReadCooked(devp, axes) |
Retrieves cooked data from the BaseAccelerometer. | |
#define | lis302dlAccelerometerSetBias(devp, bp) |
Set bias values for the BaseAccelerometer. | |
#define | lis302dlAccelerometerResetBias(devp) |
Reset bias values for the BaseAccelerometer. | |
#define | lis302dlAccelerometerSetSensitivity(devp, sp) |
Set sensitivity values for the BaseAccelerometer. | |
#define | lis302dlAccelerometerResetSensitivity(devp) |
Reset sensitivity values for the BaseAccelerometer. | |
#define | lis302dlAccelerometerSetFullScale(devp, fs) |
Changes the LIS302DLDriver accelerometer fullscale value. |
Functions | |
static void | lis302dlSPIReadRegister (SPIDriver *spip, uint8_t reg, size_t n, uint8_t *b) |
Reads a generic register value using SPI. | |
static void | lis302dlSPIWriteRegister (SPIDriver *spip, uint8_t reg, size_t n, uint8_t *b) |
Writes a value into a generic register using SPI. | |
static size_t | acc_get_axes_number (void *ip) |
Return the number of axes of the BaseAccelerometer. | |
static msg_t | acc_read_raw (void *ip, int32_t axes[]) |
Retrieves raw data from the BaseAccelerometer. | |
static msg_t | acc_read_cooked (void *ip, float axes[]) |
Retrieves cooked data from the BaseAccelerometer. | |
static msg_t | acc_set_bias (void *ip, float *bp) |
Set bias values for the BaseAccelerometer. | |
static msg_t | acc_reset_bias (void *ip) |
Reset bias values for the BaseAccelerometer. | |
static msg_t | acc_set_sensivity (void *ip, float *sp) |
Set sensitivity values for the BaseAccelerometer. | |
static msg_t | acc_reset_sensivity (void *ip) |
Reset sensitivity values for the BaseAccelerometer. | |
static msg_t | acc_set_full_scale (LIS302DLDriver *devp, lis302dl_acc_fs_t fs) |
Changes the LIS302DLDriver accelerometer fullscale value. | |
void | lis302dlObjectInit (LIS302DLDriver *devp) |
Initializes an instance. | |
void | lis302dlStart (LIS302DLDriver *devp, const LIS302DLConfig *config) |
Configures and activates LIS302DL Complex Driver peripheral. | |
void | lis302dlStop (LIS302DLDriver *devp) |
Deactivates the LIS302DL Complex Driver peripheral. |
Variables | |
static const struct LIS302DLVMT | vmt_device |
static const struct BaseAccelerometerVMT | vmt_accelerometer |
#define EX_LIS302DL_VERSION "1.1.2" |
LIS302DL driver version string.
Definition at line 46 of file lis302dl.h.
#define EX_LIS302DL_MAJOR 1 |
LIS302DL driver version major number.
Definition at line 51 of file lis302dl.h.
#define EX_LIS302DL_MINOR 1 |
LIS302DL driver version minor number.
Definition at line 56 of file lis302dl.h.
#define EX_LIS302DL_PATCH 2 |
LIS302DL driver version patch number.
Definition at line 61 of file lis302dl.h.
#define LIS302DL_ACC_NUMBER_OF_AXES 3U |
LIS302DL accelerometer subsystem characteristics.
Definition at line 72 of file lis302dl.h.
Referenced by acc_get_axes_number(), acc_read_cooked(), acc_read_raw(), acc_reset_bias(), acc_reset_sensivity(), acc_set_bias(), acc_set_full_scale(), acc_set_sensivity(), lis302dlObjectInit(), and lis302dlStart().
#define LIS302DL_ACC_2G 2.0f |
Definition at line 74 of file lis302dl.h.
Referenced by acc_set_full_scale(), and lis302dlStart().
#define LIS302DL_ACC_8G 8.0f |
Definition at line 75 of file lis302dl.h.
Referenced by acc_set_full_scale(), and lis302dlStart().
#define LIS302DL_ACC_SENS_2G 18.0f |
Definition at line 77 of file lis302dl.h.
Referenced by acc_reset_sensivity(), and lis302dlStart().
#define LIS302DL_ACC_SENS_8G 72.0f |
Definition at line 78 of file lis302dl.h.
Referenced by acc_reset_sensivity(), and lis302dlStart().
#define LIS302DL_ACC_BIAS 0.0f |
Definition at line 80 of file lis302dl.h.
Referenced by acc_reset_bias(), and lis302dlStart().
#define LIS302DL_DI_MASK 0xFF |
Definition at line 87 of file lis302dl.h.
#define LIS302DL_DI | ( | n | ) |
Definition at line 88 of file lis302dl.h.
#define LIS302DL_AD_MASK 0x3F |
Definition at line 89 of file lis302dl.h.
#define LIS302DL_AD | ( | n | ) |
Definition at line 90 of file lis302dl.h.
#define LIS302DL_MS (1 << 6) |
Definition at line 91 of file lis302dl.h.
Referenced by lis302dlSPIReadRegister(), and lis302dlSPIWriteRegister().
#define LIS302DL_RW (1 << 7) |
Definition at line 92 of file lis302dl.h.
Referenced by lis302dlSPIReadRegister().
#define LIS302DL_AD_WHO_AM_I 0x0F |
Definition at line 99 of file lis302dl.h.
#define LIS302DL_AD_CTRL_REG1 0x20 |
Definition at line 100 of file lis302dl.h.
Referenced by acc_set_full_scale(), lis302dlStart(), and lis302dlStop().
#define LIS302DL_AD_CTRL_REG2 0x21 |
Definition at line 101 of file lis302dl.h.
#define LIS302DL_AD_CTRL_REG3 0x22 |
Definition at line 102 of file lis302dl.h.
#define LIS302DL_AD_HP_FILER_RESET 0x23 |
Definition at line 103 of file lis302dl.h.
#define LIS302DL_AD_STATUS_REG 0x27 |
Definition at line 104 of file lis302dl.h.
#define LIS302DL_AD_OUT_X 0x29 |
Definition at line 105 of file lis302dl.h.
Referenced by acc_read_raw().
#define LIS302DL_AD_OUT_Y 0x2B |
Definition at line 106 of file lis302dl.h.
#define LIS302DL_AD_OUT_Z 0x2D |
Definition at line 107 of file lis302dl.h.
#define LIS302DL_AD_FF_WU_CFG_1 0x30 |
Definition at line 108 of file lis302dl.h.
#define LIS302DL_AD_FF_WU_SRC_1 0x31 |
Definition at line 109 of file lis302dl.h.
#define LIS302DL_AD_FF_WU_THS_1 0x32 |
Definition at line 110 of file lis302dl.h.
#define LIS302DL_AD_FF_WU_DURATION_1 0x33 |
Definition at line 111 of file lis302dl.h.
#define LIS302DL_AD_FF_WU_CFG_2 0x34 |
Definition at line 112 of file lis302dl.h.
#define LIS302DL_AD_FF_WU_SRC_2 0x35 |
Definition at line 113 of file lis302dl.h.
#define LIS302DL_AD_FF_WU_THS_2 0x36 |
Definition at line 114 of file lis302dl.h.
#define LIS302DL_AD_FF_WU_DURATION_2 0x37 |
Definition at line 115 of file lis302dl.h.
#define LIS302DL_AD_CLICK_CFG 0x38 |
Definition at line 116 of file lis302dl.h.
#define LIS302DL_AD_CLICK_SRC 0x39 |
Definition at line 117 of file lis302dl.h.
#define LIS302DL_AD_CLICK_THSY_X 0x3B |
Definition at line 118 of file lis302dl.h.
#define LIS302DL_AD_CLICK_THSZ 0x3C |
Definition at line 119 of file lis302dl.h.
#define LIS302DL_AD_CLICK_TIME_LIMIT 0x3D |
Definition at line 120 of file lis302dl.h.
#define LIS302DL_AD_CLICK_LATENCY 0x3E |
Definition at line 121 of file lis302dl.h.
#define LIS302DL_AD_CLICK_WINDOW 0x3F |
Definition at line 122 of file lis302dl.h.
#define LIS302DL_CTRL_REG1_MASK 0xFF |
Definition at line 129 of file lis302dl.h.
#define LIS302DL_CTRL_REG1_XEN (1 << 0) |
Definition at line 130 of file lis302dl.h.
Referenced by lis302dlStart().
#define LIS302DL_CTRL_REG1_YEN (1 << 1) |
Definition at line 131 of file lis302dl.h.
Referenced by lis302dlStart().
#define LIS302DL_CTRL_REG1_ZEN (1 << 2) |
Definition at line 132 of file lis302dl.h.
Referenced by lis302dlStart().
#define LIS302DL_CTRL_REG1_STM (1 << 3) |
Definition at line 133 of file lis302dl.h.
#define LIS302DL_CTRL_REG1_STP (1 << 4) |
Definition at line 134 of file lis302dl.h.
#define LIS302DL_CTRL_REG1_FS_MASK 0x20 |
Definition at line 135 of file lis302dl.h.
Referenced by acc_set_full_scale().
#define LIS302DL_CTRL_REG1_FS (1 << 5) |
Definition at line 136 of file lis302dl.h.
#define LIS302DL_CTRL_REG1_PD (1 << 6) |
Definition at line 137 of file lis302dl.h.
Referenced by lis302dlStart().
#define LIS302DL_CTRL_REG1_DR (1 << 7) |
Definition at line 138 of file lis302dl.h.
#define LIS302DL_CTRL_REG2_MASK 0xDF |
Definition at line 145 of file lis302dl.h.
#define LIS302DL_CTRL_REG2_HPCF1 (1 << 0) |
Definition at line 146 of file lis302dl.h.
#define LIS302DL_CTRL_REG2_HPCF2 (1 << 1) |
Definition at line 147 of file lis302dl.h.
#define LIS302DL_CTRL_REG2_HPFFWU1 (1 << 2) |
Definition at line 148 of file lis302dl.h.
#define LIS302DL_CTRL_REG2_HPFFWU2 (1 << 3) |
Definition at line 149 of file lis302dl.h.
#define LIS302DL_CTRL_REG2_FDS (1 << 4) |
Definition at line 150 of file lis302dl.h.
#define LIS302DL_CTRL_REG2_BOOT (1 << 6) |
Definition at line 151 of file lis302dl.h.
#define LIS302DL_CTRL_REG2_SIM (1 << 7) |
Definition at line 152 of file lis302dl.h.
#define LIS302DL_CTRL_REG3_MASK 0xFF |
Definition at line 159 of file lis302dl.h.
#define LIS302DL_CTRL_REG3_I1CFG0 (1 << 0) |
Definition at line 160 of file lis302dl.h.
#define LIS302DL_CTRL_REG3_I1CFG1 (1 << 1) |
Definition at line 161 of file lis302dl.h.
#define LIS302DL_CTRL_REG3_I1CFG2 (1 << 2) |
Definition at line 162 of file lis302dl.h.
#define LIS302DL_CTRL_REG3_I2CFG0 (1 << 3) |
Definition at line 163 of file lis302dl.h.
#define LIS302DL_CTRL_REG3_I2CFG1 (1 << 4) |
Definition at line 164 of file lis302dl.h.
#define LIS302DL_CTRL_REG3_I2CFG2 (1 << 5) |
Definition at line 165 of file lis302dl.h.
#define LIS302DL_CTRL_REG3_PP_OD (1 << 6) |
Definition at line 166 of file lis302dl.h.
#define LIS302DL_CTRL_REG3_IHL (1 << 7) |
Definition at line 167 of file lis302dl.h.
#define LIS302DL_USE_SPI TRUE |
LIS302DL SPI interface switch.
If set to TRUE
the support for SPI is included.
TRUE
. Definition at line 184 of file lis302dl.h.
#define LIS302DL_SHARED_SPI FALSE |
LIS302DL shared SPI switch.
If set to TRUE
the device acquires SPI bus ownership on each transaction.
FALSE
. Requires SPI_USE_MUTUAL_EXCLUSION. Definition at line 194 of file lis302dl.h.
#define LIS302DL_USE_I2C FALSE |
LIS302DL I2C interface switch.
If set to TRUE
the support for I2C is included.
FALSE
. Definition at line 203 of file lis302dl.h.
#define LIS302DL_SHARED_I2C FALSE |
LIS302DL shared I2C switch.
If set to TRUE
the device acquires I2C bus ownership on each transaction.
FALSE
. Requires I2C_USE_MUTUAL_EXCLUSION. Definition at line 213 of file lis302dl.h.
#define LIS302DL_USE_ADVANCED FALSE |
LIS302DL advanced configurations switch.
If set to TRUE
more configurations are available.
FALSE
. Definition at line 222 of file lis302dl.h.
#define _lis302dl_methods_alone |
LIS302DL
specific methods.
Definition at line 358 of file lis302dl.h.
#define _lis302dl_methods |
LIS302DL
specific methods with inherited ones.
Definition at line 366 of file lis302dl.h.
#define _lis302dl_data |
LIS302DLDriver
specific data.
Definition at line 382 of file lis302dl.h.
#define lis302dlAccelerometerGetAxesNumber | ( | devp | ) |
Return the number of axes of the BaseAccelerometer.
[in] | devp | pointer to LIS302DLDriver . |
Definition at line 421 of file lis302dl.h.
#define lis302dlAccelerometerReadRaw | ( | devp, | |
axes ) |
Retrieves raw data from the BaseAccelerometer.
[in] | devp | pointer to LIS302DLDriver . |
[out] | axes | a buffer which would be filled with raw data. |
MSG_OK | if the function succeeded. |
MSG_RESET | if one or more I2C errors occurred, the errors can be retrieved using i2cGetErrors() . |
MSG_TIMEOUT | if a timeout occurred before operation end. |
Definition at line 442 of file lis302dl.h.
#define lis302dlAccelerometerReadCooked | ( | devp, | |
axes ) |
Retrieves cooked data from the BaseAccelerometer.
[in] | devp | pointer to LIS302DLDriver . |
[out] | axes | a buffer which would be filled with cooked data. |
MSG_OK | if the function succeeded. |
MSG_RESET | if one or more I2C errors occurred, the errors can be retrieved using i2cGetErrors() . |
MSG_TIMEOUT | if a timeout occurred before operation end. |
Definition at line 464 of file lis302dl.h.
#define lis302dlAccelerometerSetBias | ( | devp, | |
bp ) |
Set bias values for the BaseAccelerometer.
[in] | devp | pointer to LIS302DLDriver . |
[in] | bp | a buffer which contains biases. |
MSG_OK | if the function succeeded. |
Definition at line 481 of file lis302dl.h.
#define lis302dlAccelerometerResetBias | ( | devp | ) |
Reset bias values for the BaseAccelerometer.
[in] | devp | pointer to LIS302DLDriver . |
MSG_OK | if the function succeeded. |
Definition at line 496 of file lis302dl.h.
#define lis302dlAccelerometerSetSensitivity | ( | devp, | |
sp ) |
Set sensitivity values for the BaseAccelerometer.
[in] | devp | pointer to LIS302DLDriver . |
[in] | sp | a buffer which contains sensitivities. |
MSG_OK | if the function succeeded. |
Definition at line 513 of file lis302dl.h.
#define lis302dlAccelerometerResetSensitivity | ( | devp | ) |
Reset sensitivity values for the BaseAccelerometer.
[in] | devp | pointer to LIS302DLDriver . |
MSG_OK | if the function succeeded. |
MSG_RESET | otherwise. |
Definition at line 528 of file lis302dl.h.
#define lis302dlAccelerometerSetFullScale | ( | devp, | |
fs ) |
Changes the LIS302DLDriver accelerometer fullscale value.
[in] | devp | pointer to LIS302DLDriver . |
[in] | fs | new fullscale value. |
MSG_OK | if the function succeeded. |
MSG_RESET | otherwise. |
Definition at line 546 of file lis302dl.h.
typedef struct LIS302DLDriver LIS302DLDriver |
Structure representing a LIS302DL driver.
Definition at line 268 of file lis302dl.h.
enum lis302dl_acc_fs_t |
LIS302DL full scale.
Enumerator | |
---|---|
LIS302DL_ACC_FS_2G | Full scale �2g. |
LIS302DL_ACC_FS_8G | Full scale �8g. |
Definition at line 273 of file lis302dl.h.
enum lis302dl_acc_odr_t |
LIS302DL output data rate and bandwidth.
Enumerator | |
---|---|
LIS302DL_ACC_ODR_100HZ | ODR 100 Hz. |
LIS302DL_ACC_ODR_400HZ | ODR 400 Hz. |
Definition at line 281 of file lis302dl.h.
enum lis302dl_acc_hp_t |
LIS302DL high pass filtering.
Definition at line 289 of file lis302dl.h.
enum lis302dl_state_t |
Driver state machine possible states.
Enumerator | |
---|---|
LIS302DL_UNINIT | Not initialized. |
LIS302DL_STOP | Stopped. |
LIS302DL_READY | Ready. |
Definition at line 300 of file lis302dl.h.
|
static |
Reads a generic register value using SPI.
[in] | spip | pointer to the SPI interface |
[in] | reg | starting register address |
[in] | n | number of adjacent registers to write |
[in] | b | pointer to a buffer. |
Definition at line 59 of file lis302dl.c.
References LIS302DL_MS, and LIS302DL_RW.
Referenced by acc_read_raw(), and acc_set_full_scale().
|
static |
Writes a value into a generic register using SPI.
[in] | spip | pointer to the SPI interface |
[in] | reg | starting register address |
[in] | n | number of adjacent registers to write |
[in] | b | pointer to a buffer of values. |
Definition at line 78 of file lis302dl.c.
References LIS302DL_MS.
Referenced by acc_set_full_scale(), lis302dlStart(), and lis302dlStop().
|
static |
Return the number of axes of the BaseAccelerometer.
[in] | ip | pointer to BaseAccelerometer interface. |
Definition at line 96 of file lis302dl.c.
References LIS302DL_ACC_NUMBER_OF_AXES.
|
static |
Retrieves raw data from the BaseAccelerometer.
[in] | ip | pointer to BaseAccelerometer interface. |
[out] | axes | a buffer which would be filled with raw data. |
MSG_OK | if the function succeeded. |
MSG_RESET | if one or more I2C errors occurred, the errors can be retrieved using i2cGetErrors() . |
MSG_TIMEOUT | if a timeout occurred before operation end. |
Definition at line 118 of file lis302dl.c.
References LIS302DL_ACC_NUMBER_OF_AXES, LIS302DL_AD_OUT_X, LIS302DL_READY, and lis302dlSPIReadRegister().
Referenced by acc_read_cooked().
|
static |
Retrieves cooked data from the BaseAccelerometer.
[in] | ip | pointer to BaseAccelerometer interface. |
[out] | axes | a buffer which would be filled with cooked data. |
MSG_OK | if the function succeeded. |
MSG_RESET | if one or more I2C errors occurred, the errors can be retrieved using i2cGetErrors() . |
MSG_TIMEOUT | if a timeout occurred before operation end. |
Definition at line 171 of file lis302dl.c.
References acc_read_raw(), LIS302DL_ACC_NUMBER_OF_AXES, and LIS302DL_READY.
|
static |
Set bias values for the BaseAccelerometer.
[in] | ip | pointer to BaseAccelerometer interface. |
[in] | bp | a buffer which contains biases. |
MSG_OK | if the function succeeded. |
Definition at line 204 of file lis302dl.c.
References LIS302DL_ACC_NUMBER_OF_AXES, and LIS302DL_READY.
|
static |
Reset bias values for the BaseAccelerometer.
[in] | ip | pointer to BaseAccelerometer interface. |
MSG_OK | if the function succeeded. |
Definition at line 233 of file lis302dl.c.
References LIS302DL_ACC_BIAS, LIS302DL_ACC_NUMBER_OF_AXES, and LIS302DL_READY.
|
static |
Set sensitivity values for the BaseAccelerometer.
[in] | ip | pointer to BaseAccelerometer interface. |
[in] | sp | a buffer which contains sensitivities. |
MSG_OK | if the function succeeded. |
Definition at line 263 of file lis302dl.c.
References LIS302DL_ACC_NUMBER_OF_AXES, and LIS302DL_READY.
|
static |
Reset sensitivity values for the BaseAccelerometer.
[in] | ip | pointer to BaseAccelerometer interface. |
MSG_OK | if the function succeeded. |
MSG_RESET | otherwise. |
Definition at line 292 of file lis302dl.c.
References LIS302DL_ACC_FS_2G, LIS302DL_ACC_FS_8G, LIS302DL_ACC_NUMBER_OF_AXES, LIS302DL_ACC_SENS_2G, LIS302DL_ACC_SENS_8G, and LIS302DL_READY.
|
static |
Changes the LIS302DLDriver accelerometer fullscale value.
[in] | devp | pointer to LIS302DLDriver interface. |
[in] | fs | new fullscale value. |
MSG_OK | if the function succeeded. |
MSG_RESET | otherwise. |
Definition at line 332 of file lis302dl.c.
References LIS302DL_ACC_2G, LIS302DL_ACC_8G, LIS302DL_ACC_FS_2G, LIS302DL_ACC_FS_8G, LIS302DL_ACC_NUMBER_OF_AXES, LIS302DL_AD_CTRL_REG1, LIS302DL_CTRL_REG1_FS_MASK, LIS302DL_READY, lis302dlSPIReadRegister(), and lis302dlSPIWriteRegister().
void lis302dlObjectInit | ( | LIS302DLDriver * | devp | ) |
Initializes an instance.
[out] | devp | pointer to the LIS302DLDriver object |
Definition at line 427 of file lis302dl.c.
References LIS302DLDriver::acc_if, LIS302DL_ACC_NUMBER_OF_AXES, LIS302DL_STOP, BaseAccelerometer::vmt, LIS302DLDriver::vmt, vmt_accelerometer, and vmt_device.
void lis302dlStart | ( | LIS302DLDriver * | devp, |
const LIS302DLConfig * | config ) |
Configures and activates LIS302DL Complex Driver peripheral.
[in] | devp | pointer to the LIS302DLDriver object |
[in] | config | pointer to the LIS302DLConfig object |
Definition at line 446 of file lis302dl.c.
References LIS302DL_ACC_2G, LIS302DL_ACC_8G, LIS302DL_ACC_BIAS, LIS302DL_ACC_FS_2G, LIS302DL_ACC_FS_8G, LIS302DL_ACC_NUMBER_OF_AXES, LIS302DL_ACC_SENS_2G, LIS302DL_ACC_SENS_8G, LIS302DL_AD_CTRL_REG1, LIS302DL_CTRL_REG1_PD, LIS302DL_CTRL_REG1_XEN, LIS302DL_CTRL_REG1_YEN, LIS302DL_CTRL_REG1_ZEN, LIS302DL_READY, LIS302DL_STOP, lis302dlSPIWriteRegister(), and LIS302DLConfig::spip.
void lis302dlStop | ( | LIS302DLDriver * | devp | ) |
Deactivates the LIS302DL Complex Driver peripheral.
[in] | devp | pointer to the LIS302DLDriver object |
Definition at line 530 of file lis302dl.c.
References LIS302DL_AD_CTRL_REG1, LIS302DL_READY, LIS302DL_STOP, and lis302dlSPIWriteRegister().
|
static |
Definition at line 405 of file lis302dl.c.
|
static |
Definition at line 410 of file lis302dl.c.