|
ChibiOS/EX 1.3.0
|
ADXL355 MEMS interface module header. More...
#include "ex_accelerometer.h"Go to the source code of this file.
Data Structures | |
| struct | ADXL355Config |
| ADXL355 configuration structure. More... | |
| struct | ADXL355VMT |
ADXL355 virtual methods table. More... | |
| struct | ADXL355Driver |
| ADXL355 3-axis accelerometer class. More... | |
Macros | |
| #define | adxl355AccelerometerGetAxesNumber(devp) |
| Return the number of axes of the BaseAccelerometer. | |
| #define | adxl355AccelerometerReadRaw(devp, axes) |
| Retrieves raw data from the BaseAccelerometer. | |
| #define | adxl355AccelerometerReadCooked(devp, axes) |
| Retrieves cooked data from the BaseAccelerometer. | |
| #define | adxl355AccelerometerSetBias(devp, bp) |
| Set bias values for the BaseAccelerometer. | |
| #define | adxl355AccelerometerResetBias(devp) |
| Reset bias values for the BaseAccelerometer. | |
| #define | adxl355AccelerometerSetSensitivity(devp, sp) |
| Set sensitivity values for the BaseAccelerometer. | |
| #define | adxl355AccelerometerResetSensitivity(devp) |
| Reset sensitivity values for the BaseAccelerometer. | |
| #define | adxl355AccelerometerSetFullScale(devp, fs) |
| Changes the ADXL355Driver accelerometer fullscale value. | |
Version identification | |
| #define | EX_ADXL355_VERSION "1.1.0" |
| ADXL355 driver version string. | |
| #define | EX_ADXL355_MAJOR 1 |
| ADXL355 driver version major number. | |
| #define | EX_ADXL355_MINOR 1 |
| ADXL355 driver version minor number. | |
| #define | EX_ADXL355_PATCH 0 |
| ADXL355 driver version patch number. | |
| #define | ADXL355_ACC_NUMBER_OF_AXES 3U |
| ADXL355 accelerometer subsystem characteristics. | |
| #define | ADXL355_ACC_2G 2.048f |
| #define | ADXL355_ACC_4G 4.096f |
| #define | ADXL355_ACC_8G 8.0192f |
| #define | ADXL355_ACC_SENS_2G 0.003906f |
| #define | ADXL355_ACC_SENS_4G 0.007813f |
| #define | ADXL355_ACC_SENS_8G 0.015625f |
| #define | ADXL355_ACC_BIAS 0.0f |
ADXL355 communication interfaces related bit masks | |
| #define | ADXL355_DI_MASK 0xFF |
| #define | ADXL355_DI(n) |
| #define | ADXL355_AD_MASK 0xFE |
| #define | ADXL355_RW (1 << 0) |
| #define | ADXL355_AD(n) |
ADXL355 register addresses | |
| #define | ADXL355_AD_DEVID_AD 0x00 |
| #define | ADXL355_AD_DEVID_MST 0x01 |
| #define | ADXL355_AD_PARTID 0x02 |
| #define | ADXL355_AD_REVID 0x03 |
| #define | ADXL355_AD_STATUS 0x04 |
| #define | ADXL355_AD_FIFO_ENTRIES 0x05 |
| #define | ADXL355_AD_TEMP2 0x06 |
| #define | ADXL355_AD_TEMP1 0x07 |
| #define | ADXL355_AD_XDATA3 0x08 |
| #define | ADXL355_AD_XDATA2 0x09 |
| #define | ADXL355_AD_XDATA1 0x0A |
| #define | ADXL355_AD_YDATA3 0x0B |
| #define | ADXL355_AD_YDATA2 0x0C |
| #define | ADXL355_AD_YDATA1 0x0D |
| #define | ADXL355_AD_ZDATA3 0x0E |
| #define | ADXL355_AD_ZDATA2 0x0F |
| #define | ADXL355_AD_ZDATA1 0x10 |
| #define | ADXL355_AD_FIFO_DATA 0x11 |
| #define | ADXL355_AD_OFFSET_X_H 0x1E |
| #define | ADXL355_AD_OFFSET_X_L 0x1F |
| #define | ADXL355_AD_OFFSET_Y_H 0x20 |
| #define | ADXL355_AD_OFFSET_Y_L 0x21 |
| #define | ADXL355_AD_OFFSET_Z_H 0x22 |
| #define | ADXL355_AD_OFFSET_Z_L 0x23 |
| #define | ADXL355_AD_ACT_EN 0x24 |
| #define | ADXL355_AD_ACT_THRES_L 0x25 |
| #define | ADXL355_AD_ACT_THRES_H 0x26 |
| #define | ADXL355_AD_ACT_COUNTER 0x27 |
| #define | ADXL355_AD_FILTER 0x28 |
| #define | ADXL355_AD_FIFO_SAMPLES 0x29 |
| #define | ADXL355_AD_INT_MAP 0x2A |
| #define | ADXL355_AD_SYNC 0x2B |
| #define | ADXL355_AD_RANGE 0x2C |
| #define | ADXL355_AD_POWER_CTL 0x2D |
| #define | ADXL355_AD_SELF_TEST 0x2E |
| #define | ADXL355_AD_RESET 0x2F |
ADXL355 Device Identifier | |
| #define | ADXL355_DEVID_MST 0x1D |
ADXL355_FILTER register bits definitions | |
| #define | ADXL355_FILTER_MASK 0x7F |
| #define | ADXL355_FILTER_ORD_LPF_0 (1 << 0) |
| #define | ADXL355_FILTER_ORD_LPF_1 (1 << 1) |
| #define | ADXL355_FILTER_ORD_LPF_2 (1 << 2) |
| #define | ADXL355_FILTER_ORD_LPF_3 (1 << 3) |
| #define | ADXL355_FILTER_HPF_CORNER_0 (1 << 4) |
| #define | ADXL355_FILTER_HPF_CORNER_1 (1 << 5) |
| #define | ADXL355_FILTER_HPF_CORNER_2 (1 << 6) |
ADXL355_FIFO_SAMPLES register bits definitions | |
| #define | ADXL355_FIFO_SAMPLES_MASK 0x7F |
| #define | ADXL355_FIFO_SAMPLES_BIT_0 (1 << 0) |
| #define | ADXL355_FIFO_SAMPLES_BIT_1 (1 << 1) |
| #define | ADXL355_FIFO_SAMPLES_BIT_2 (1 << 2) |
| #define | ADXL355_FIFO_SAMPLES_BIT_3 (1 << 3) |
| #define | ADXL355_FIFO_SAMPLES_BIT_4 (1 << 4) |
| #define | ADXL355_FIFO_SAMPLES_BIT_5 (1 << 5) |
| #define | ADXL355_FIFO_SAMPLES_BIT_6 (1 << 6) |
ADXL355_INT_MAP register bits definitions | |
| #define | ADXL355_INT_MAP_MASK 0xFF |
| #define | ADXL355_INT_MAP_RDY_EN1 (1 << 0) |
| #define | ADXL355_INT_MAP_FULL_EN1 (1 << 1) |
| #define | ADXL355_INT_MAP_OVR_EN1 (1 << 2) |
| #define | ADXL355_INT_MAP_ACT_EN1 (1 << 3) |
| #define | ADXL355_INT_MAP_RDY_EN2 (1 << 4) |
| #define | ADXL355_INT_MAP_FULL_EN2 (1 << 5) |
| #define | ADXL355_INT_MAP_OVR_EN2 (1 << 6) |
| #define | ADXL355_INT_MAP_ACT_EN2 (1 << 7) |
ADXL355_SYNC register bits definitions | |
| #define | ADXL355_SYNC_MASK 0x07 |
| #define | ADXL355_SYNC_EXT_SYNC_0 (1 << 0) |
| #define | ADXL355_SYNC_EXT_SYNC_1 (1 << 1) |
| #define | ADXL355_SYNC_EXT_CLK (1 << 2) |
ADXL355_RANGE register bits definitions | |
| #define | ADXL355_RANGE_MASK 0xC3 |
| #define | ADXL355_RANGE_RANGE_MASK 0x03 |
| #define | ADXL355_RANGE_RANGE_1 (1 << 1) |
| #define | ADXL355_RANGE_RANGE_0 (1 << 0) |
| #define | ADXL355_RANGE_RANGE_1 (1 << 1) |
| #define | ADXL355_RANGE_INT_POL (1 << 6) |
| #define | ADXL355_RANGE_I2C_HS (1 << 7) |
ADXL355_POWER_CTL register bits definitions | |
| #define | ADXL355_POWER_CTL_MASK 0x07 |
| #define | ADXL355_POWER_CTL_STANDBY (1 << 0) |
| #define | ADXL355_POWER_CTL_TEMP_OFF (1 << 1) |
| #define | ADXL355_POWER_CTL_DRDY_OFF (1 << 2) |
ADXL355_SELT_TEST register bits definitions | |
| #define | ADXL355_SELF_TEST_MASK 0x03 |
| #define | ADXL355_SELF_TEST_ST1 (1 << 0) |
| #define | ADXL355_SELF_TEST_ST2 (1 << 1) |
Configuration options | |
| #define | ADXL355_USE_SPI TRUE |
| ADXL355 SPI interface switch. | |
| #define | ADXL355_SHARED_SPI FALSE |
| ADXL355 shared SPI switch. | |
| #define | ADXL355_USE_I2C FALSE |
| ADXL355 I2C interface switch. | |
| #define | ADXL355_SHARED_I2C FALSE |
| ADXL355 shared I2C switch. | |
| #define | ADXL355_USE_ADVANCED FALSE |
| ADXL355 advanced configurations switch. | |
| #define | ADXL355_COMM_BUFF_SIZE 32 |
| ADXL355 internal communication buffer sizes. | |
Functions | |
| void | adxl355SPIReadRegister (ADXL355Driver *devp, uint8_t reg, size_t n, uint8_t *b) |
| Reads a generic register value using SPI. | |
| void | adxl355SPIWriteRegister (ADXL355Driver *devp, uint8_t reg, size_t n, uint8_t *b) |
| Writes a value into a generic register using SPI. | |
| void | adxl355ObjectInit (ADXL355Driver *devp, uint8_t *txbp, uint8_t *rxbp) |
| Initializes an instance. | |
| void | adxl355Start (ADXL355Driver *devp, const ADXL355Config *config) |
| Configures and activates ADXL355 Complex Driver peripheral. | |
| void | adxl355Stop (ADXL355Driver *devp) |
| Deactivates the ADXL355 Complex Driver peripheral. | |
ADXL355 MEMS interface module header.
Definition in file adxl355.h.