iNEMO inertial module: 3D accelerometer and 3D gyroscope.
Dependencies: X_NUCLEO_COMMON ST_INTERFACES
Dependents: X_NUCLEO_IKS01A3 X_NUCLEO_IKS01A3
Diff: LSM6DSOSensor.h
- Revision:
- 4:77faf76e3cd8
- Parent:
- 3:4274d9103f1d
diff -r 4274d9103f1d -r 77faf76e3cd8 LSM6DSOSensor.h --- a/LSM6DSOSensor.h Wed Jul 24 14:19:35 2019 +0000 +++ b/LSM6DSOSensor.h Thu Oct 29 12:50:52 2020 +0000 @@ -48,6 +48,7 @@ #include "lsm6dso_reg.h" #include "MotionSensor.h" #include "GyroSensor.h" +#include "mbed.h" #include <assert.h> /* Defines -------------------------------------------------------------------*/ @@ -71,6 +72,19 @@ LSM6DSO_INT2_PIN, } LSM6DSO_Interrupt_Pin_t; +typedef enum +{ + LSM6DSO_ACC_HIGH_PERFORMANCE_MODE, + LSM6DSO_ACC_LOW_POWER_NORMAL_MODE, + LSM6DSO_ACC_ULTRA_LOW_POWER_MODE +} LSM6DSO_ACC_Operating_Mode_t; + +typedef enum +{ + LSM6DSO_GYRO_HIGH_PERFORMANCE_MODE, + LSM6DSO_GYRO_LOW_POWER_NORMAL_MODE +} LSM6DSO_GYRO_Operating_Mode_t; + typedef struct { unsigned int FreeFallStatus : 1; unsigned int TapStatus : 1; @@ -105,7 +119,9 @@ virtual int get_x_odr(float *odr); virtual int get_g_odr(float *odr); virtual int set_x_odr(float odr); + virtual int set_x_odr_with_mode(float odr, LSM6DSO_ACC_Operating_Mode_t mode); virtual int set_g_odr(float odr); + virtual int set_g_odr_with_mode(float odr, LSM6DSO_GYRO_Operating_Mode_t mode); virtual int get_x_fs(float *full_scale); virtual int get_g_fs(float *full_scale); virtual int set_x_fs(float full_scale);