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);