|
#define | lis3dshAccelerometerGetAxesNumber(devp) accelerometerGetAxesNumber(&((devp)->acc_if)) |
| Return the number of axes of the BaseAccelerometer. More...
|
|
#define | lis3dshAccelerometerReadRaw(devp, axes) accelerometerReadRaw(&((devp)->acc_if), axes) |
| Retrieves raw data from the BaseAccelerometer. More...
|
|
#define | lis3dshAccelerometerReadCooked(devp, axes) accelerometerReadCooked(&((devp)->acc_if), axes) |
| Retrieves cooked data from the BaseAccelerometer. More...
|
|
#define | lis3dshAccelerometerSetBias(devp, bp) accelerometerSetBias(&((devp)->acc_if), bp) |
| Set bias values for the BaseAccelerometer. More...
|
|
#define | lis3dshAccelerometerResetBias(devp) accelerometerResetBias(&((devp)->acc_if)) |
| Reset bias values for the BaseAccelerometer. More...
|
|
#define | lis3dshAccelerometerSetSensitivity(devp, sp) accelerometerSetSensitivity(&((devp)->acc_if), sp) |
| Set sensitivity values for the BaseAccelerometer. More...
|
|
#define | lis3dshAccelerometerResetSensitivity(devp) accelerometerResetSensitivity(&((devp)->acc_if)) |
| Reset sensitivity values for the BaseAccelerometer. More...
|
|
#define | lis3dshAccelerometerSetFullScale(devp, fs) (devp)->vmt->acc_set_full_scale(devp, fs) |
| Changes the LIS3DSHDriver accelerometer fullscale value. More...
|
|
|
#define | LIS3DSH_CTRL_REG4_MASK 0xFF |
|
#define | LIS3DSH_CTRL_REG4_XEN (1 << 0) |
|
#define | LIS3DSH_CTRL_REG4_YEN (1 << 1) |
|
#define | LIS3DSH_CTRL_REG4_ZEN (1 << 2) |
|
#define | LIS3DSH_CTRL_REG4_BDU (1 << 3) |
|
#define | LIS3DSH_CTRL_REG4_ODR_0 (1 << 4) |
|
#define | LIS3DSH_CTRL_REG4_ODR_1 (1 << 5) |
|
#define | LIS3DSH_CTRL_REG4_ODR_2 (1 << 6) |
|
#define | LIS3DSH_CTRL_REG4_ODR_3 (1 << 7) |
|
|
#define | LIS3DSH_CTRL_REG5_MASK 0xFF |
|
#define | LIS3DSH_CTRL_REG5_SIM (1 << 0) |
|
#define | LIS3DSH_CTRL_REG5_ST1 (1 << 1) |
|
#define | LIS3DSH_CTRL_REG5_ST2 (1 << 2) |
|
#define | LIS3DSH_CTRL_REG5_FS_MASK 0x38 |
|
#define | LIS3DSH_CTRL_REG5_FS0 (1 << 3) |
|
#define | LIS3DSH_CTRL_REG5_FS1 (1 << 4) |
|
#define | LIS3DSH_CTRL_REG5_FS2 (1 << 5) |
|
#define | LIS3DSH_CTRL_REG5_BW1 (1 << 6) |
|
#define | LIS3DSH_CTRL_REG5_BW2 (1 << 7) |
|
|
#define | LIS3DSH_CTRL_REG6_MASK 0xFF |
|
#define | LIS3DSH_CTRL_REG6_P2_BOOT (1 << 0) |
|
#define | LIS3DSH_CTRL_REG6_P1_OVRUN (1 << 1) |
|
#define | LIS3DSH_CTRL_REG6_P1_WTM (1 << 2) |
|
#define | LIS3DSH_CTRL_REG6_P1_EMPTY (1 << 3) |
|
#define | LIS3DSH_CTRL_REG6_ADD_INC (1 << 4) |
|
#define | LIS3DSH_CTRL_REG6_WTM_EN (1 << 5) |
|
#define | LIS3DSH_CTRL_REG6_FIFO_EN (1 << 6) |
|
#define | LIS3DSH_CTRL_REG6_BOOT (1 << 7) |
|
|
enum | lis3dsh_acc_fs_t {
LIS3DSH_ACC_FS_2G = 0x00,
LIS3DSH_ACC_FS_4G = 0x08,
LIS3DSH_ACC_FS_6G = 0x10,
LIS3DSH_ACC_FS_8G = 0x18,
LIS3DSH_ACC_FS_16G = 0x20
} |
| LIS3DSH full scale. More...
|
|
enum | lis3dsh_acc_odr_t {
LIS3DSH_ACC_ODR_PD = 0x00,
LIS3DSH_ACC_ODR_3_125HZ = 0x10,
LIS3DSH_ACC_ODR_6_25HZ = 0x20,
LIS3DSH_ACC_ODR_12_5HZ = 0x30,
LIS3DSH_ACC_ODR_25HZ = 0x40,
LIS3DSH_ACC_ODR_50HZ = 0x50,
LIS3DSH_ACC_ODR_100HZ = 0x60,
LIS3DSH_ACC_ODR_400HZ = 0x70,
LIS3DSH_ACC_ODR_800HZ = 0x80,
LIS3DSH_ACC_ODR_1600HZ = 0x90
} |
| LIS3DSH output data rate. More...
|
|
enum | lis3dsh_acc_bw_t { LIS3DSH_ACC_BW_800HZ = 0x00,
LIS3DSH_ACC_BW_200HZ = 0x40,
LIS3DSH_ACC_BW_400HZ = 0x80,
LIS3DSH_ACC_BW_50HZ = 0xC0
} |
| LIS3DSH anti-aliasing bandwidth. More...
|
|
enum | lis3dsh_acc_bdu_t { LIS3DSH_ACC_BDU_CONTINUOUS = 0x00,
LIS3DSH_ACC_BDU_BLOCKED = 0x80
} |
| LIS3DSH block data update. More...
|
|
enum | lis3dsh_state_t { LIS3DSH_UNINIT = 0,
LIS3DSH_STOP = 1,
LIS3DSH_READY = 2
} |
| Driver state machine possible states. More...
|
|
typedef struct LIS3DSHDriver | LIS3DSHDriver |
| Structure representing a LIS3DSH driver. More...
|
|
#define | _lis3dsh_methods_alone |
| LIS3DSH specific methods. More...
|
|
#define | _lis3dsh_methods |
| LIS3DSH specific methods with inherited ones. More...
|
|
#define | _lis3dsh_data |
| LIS3DSHDriver specific data. More...
|
|
|
static void | lis3dshSPIReadRegister (SPIDriver *spip, uint8_t reg, size_t n, uint8_t *b) |
| Reads a generic register value using SPI. More...
|
|
static void | lis3dshSPIWriteRegister (SPIDriver *spip, uint8_t reg, size_t n, uint8_t *b) |
| Writes a value into a generic register using SPI. More...
|
|
static size_t | acc_get_axes_number (void *ip) |
| Return the number of axes of the BaseAccelerometer. More...
|
|
static msg_t | acc_read_raw (void *ip, int32_t axes[]) |
| Retrieves raw data from the BaseAccelerometer. More...
|
|
static msg_t | acc_read_cooked (void *ip, float axes[]) |
| Retrieves cooked data from the BaseAccelerometer. More...
|
|
static msg_t | acc_set_bias (void *ip, float *bp) |
| Set bias values for the BaseAccelerometer. More...
|
|
static msg_t | acc_reset_bias (void *ip) |
| Reset bias values for the BaseAccelerometer. More...
|
|
static msg_t | acc_set_sensivity (void *ip, float *sp) |
| Set sensitivity values for the BaseAccelerometer. More...
|
|
static msg_t | acc_reset_sensivity (void *ip) |
| Reset sensitivity values for the BaseAccelerometer. More...
|
|
static msg_t | acc_set_full_scale (LIS3DSHDriver *devp, lis3dsh_acc_fs_t fs) |
| Changes the LIS3DSHDriver accelerometer fullscale value. More...
|
|
void | lis3dshObjectInit (LIS3DSHDriver *devp) |
| Initializes an instance. More...
|
|
void | lis3dshStart (LIS3DSHDriver *devp, const LIS3DSHConfig *config) |
| Configures and activates LIS3DSH Complex Driver peripheral. More...
|
|
void | lis3dshStop (LIS3DSHDriver *devp) |
| Deactivates the LIS3DSH Complex Driver peripheral. More...
|
|
static msg_t acc_read_raw |
( |
void * |
ip, |
|
|
int32_t |
axes[] |
|
) |
| |
|
static |
Retrieves raw data from the BaseAccelerometer.
- Note
- This data is retrieved from MEMS register without any algebraical manipulation.
-
The axes array must be at least the same size of the BaseAccelerometer axes number.
- Parameters
-
[in] | ip | pointer to BaseAccelerometer interface. |
[out] | axes | a buffer which would be filled with raw data. |
- Returns
- The operation status.
- Return values
-
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 120 of file lis3dsh.c.
References LIS3DSH_ACC_NUMBER_OF_AXES, LIS3DSH_READY, lis3dshSPIReadRegister(), MSG_OK, objGetInstance, osalDbgAssert, osalDbgCheck, SPI_READY, spiAcquireBus(), and spiStart().
Referenced by acc_read_cooked().