|
ChibiOS 21.11.4
|

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, LIS302DL_RW, spiReceive(), spiSelect(), spiSend(), and spiUnselect().
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, spiSelect(), spiSend(), and spiUnselect().
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, lis302dlSPIReadRegister(), MSG_OK, objGetInstance, osalDbgAssert, osalDbgCheck, SPI_READY, spiAcquireBus(), spiReleaseBus(), and spiStart().
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, LIS302DL_READY, objGetInstance, osalDbgAssert, and osalDbgCheck.

|
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, LIS302DL_READY, MSG_OK, objGetInstance, osalDbgAssert, and osalDbgCheck.
|
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, LIS302DL_READY, MSG_OK, objGetInstance, osalDbgAssert, and osalDbgCheck.
|
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, LIS302DL_READY, MSG_OK, objGetInstance, osalDbgAssert, and osalDbgCheck.
|
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 FALSE, LIS302DL_ACC_FS_2G, LIS302DL_ACC_FS_8G, LIS302DL_ACC_NUMBER_OF_AXES, LIS302DL_ACC_SENS_2G, LIS302DL_ACC_SENS_8G, LIS302DL_READY, MSG_OK, MSG_RESET, objGetInstance, osalDbgAssert, and osalDbgCheck.
|
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(), lis302dlSPIWriteRegister(), MSG_OK, MSG_RESET, osalDbgAssert, osalDbgCheck, SPI_READY, spiAcquireBus(), spiReleaseBus(), and spiStart().

| 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 hal_spi_driver::config, FALSE, 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(), osalDbgAssert, osalDbgCheck, osalThreadSleepMilliseconds, spiAcquireBus(), LIS302DLConfig::spip, spiReleaseBus(), and spiStart().

| 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, lis302dlSPIWriteRegister(), osalDbgAssert, osalDbgCheck, spiAcquireBus(), spiReleaseBus(), spiStart(), and spiStop().

|
static |
Definition at line 405 of file lis302dl.c.
|
static |
Definition at line 410 of file lis302dl.c.