2019-02-18 22:17:54 +08:00
|
|
|
# ST Microelectronics LSM6DSO 6-axis IMU sensor driver
|
2019-11-01 20:45:29 +08:00
|
|
|
|
2019-02-18 22:17:54 +08:00
|
|
|
# Copyright (c) 2019 STMicroelectronics
|
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
2019-11-01 20:45:29 +08:00
|
|
|
|
2019-02-18 22:17:54 +08:00
|
|
|
menuconfig LSM6DSO
|
|
|
|
bool "LSM6DSO I2C/SPI accelerometer and gyroscope Chip"
|
2019-09-10 22:16:16 +08:00
|
|
|
depends on (I2C && HAS_DTS_I2C) || SPI
|
2019-02-18 22:17:54 +08:00
|
|
|
select HAS_STMEMSC
|
|
|
|
select USE_STDC_LSM6DSO
|
|
|
|
help
|
|
|
|
Enable driver for LSM6DSO accelerometer and gyroscope
|
|
|
|
sensor.
|
|
|
|
|
|
|
|
if LSM6DSO
|
|
|
|
|
|
|
|
choice LSM6DSO_TRIGGER_MODE
|
|
|
|
prompt "Trigger mode"
|
|
|
|
help
|
|
|
|
Specify the type of triggering to be used by the driver.
|
|
|
|
|
|
|
|
config LSM6DSO_TRIGGER_NONE
|
|
|
|
bool "No trigger"
|
|
|
|
|
|
|
|
config LSM6DSO_TRIGGER_GLOBAL_THREAD
|
|
|
|
bool "Use global thread"
|
|
|
|
depends on GPIO
|
|
|
|
select LSM6DSO_TRIGGER
|
|
|
|
|
|
|
|
config LSM6DSO_TRIGGER_OWN_THREAD
|
|
|
|
bool "Use own thread"
|
|
|
|
depends on GPIO
|
|
|
|
select LSM6DSO_TRIGGER
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
config LSM6DSO_TRIGGER
|
|
|
|
bool
|
|
|
|
|
|
|
|
if LSM6DSO_TRIGGER
|
|
|
|
|
|
|
|
config LSM6DSO_THREAD_PRIORITY
|
|
|
|
int "Thread priority"
|
|
|
|
depends on LSM6DSO_TRIGGER_OWN_THREAD
|
|
|
|
default 10
|
|
|
|
help
|
|
|
|
Priority of thread used by the driver to handle interrupts.
|
|
|
|
|
|
|
|
config LSM6DSO_THREAD_STACK_SIZE
|
|
|
|
int "Thread stack size"
|
|
|
|
depends on LSM6DSO_TRIGGER_OWN_THREAD
|
|
|
|
default 1024
|
|
|
|
help
|
|
|
|
Stack size of thread used by the driver to handle interrupts.
|
|
|
|
|
|
|
|
choice LSM6DSO_INT_PIN
|
|
|
|
prompt "Sensor INT pin number"
|
|
|
|
default LSM6DSO_INT_PIN_1
|
|
|
|
help
|
|
|
|
The number of LSM6DSO int pin used to generate interrupt to cpu.
|
|
|
|
Supported values are int1 or int2
|
|
|
|
|
|
|
|
config LSM6DSO_INT_PIN_1
|
|
|
|
bool "int1"
|
|
|
|
|
|
|
|
config LSM6DSO_INT_PIN_2
|
|
|
|
bool "int2"
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
endif # LSM6DSO_TRIGGER
|
|
|
|
|
|
|
|
config LSM6DSO_ENABLE_TEMP
|
|
|
|
bool "Enable temperature"
|
|
|
|
help
|
|
|
|
Enable/disable temperature
|
|
|
|
|
|
|
|
config LSM6DSO_SENSORHUB
|
|
|
|
bool "Enable I2C sensorhub feature"
|
|
|
|
help
|
|
|
|
Enable/disable internal sensorhub. You can enable
|
|
|
|
a maximum of two external sensors (if more than two are enabled
|
|
|
|
the system would enumerate only the first two found)
|
|
|
|
|
|
|
|
if LSM6DSO_SENSORHUB
|
|
|
|
|
|
|
|
config LSM6DSO_EXT_LIS2MDL
|
|
|
|
bool "Enable LIS2MDL as external sensor"
|
|
|
|
default y
|
|
|
|
|
|
|
|
config LSM6DSO_EXT_LPS22HH
|
|
|
|
bool "Enable LPS22HH as external sensor"
|
|
|
|
default y
|
|
|
|
|
|
|
|
config LSM6DSO_EXT_HTS221
|
|
|
|
bool "Enable HTS221 as external sensor"
|
|
|
|
|
|
|
|
config LSM6DSO_EXT_LPS22HB
|
|
|
|
bool "Enable LPS22HB as external sensor"
|
|
|
|
|
2019-11-01 17:24:07 +08:00
|
|
|
endif # LSM6DSO_SENSORHUB
|
2019-02-18 22:17:54 +08:00
|
|
|
|
|
|
|
menu "Attributes"
|
|
|
|
|
|
|
|
config LSM6DSO_GYRO_FS
|
|
|
|
int "Gyroscope full-scale range"
|
|
|
|
default 0
|
|
|
|
help
|
|
|
|
Specify the default gyroscope full-scale range.
|
|
|
|
An X value for the config represents a range of +/- X degree per
|
|
|
|
second. Valid values are:
|
|
|
|
0: Full Scale selected at runtime
|
|
|
|
125: +/- 125dps
|
|
|
|
250: +/- 250dps
|
|
|
|
500: +/- 500dps
|
|
|
|
1000: +/- 1000dps
|
|
|
|
2000: +/- 2000dps
|
|
|
|
|
|
|
|
config LSM6DSO_GYRO_ODR
|
|
|
|
int "Gyroscope Output data rate frequency"
|
|
|
|
range 0 10
|
|
|
|
default 0
|
|
|
|
help
|
|
|
|
Specify the default accelerometer output data rate expressed in
|
|
|
|
samples per second (Hz).
|
|
|
|
0: ODR selected at runtime
|
|
|
|
1: 12.5Hz
|
|
|
|
2: 26Hz
|
|
|
|
3: 52Hz
|
|
|
|
4: 104Hz
|
|
|
|
5: 208Hz
|
|
|
|
6: 416Hz
|
|
|
|
7: 833Hz
|
|
|
|
8: 1660Hz
|
|
|
|
9: 3330Hz
|
|
|
|
10: 6660Hz
|
|
|
|
|
|
|
|
config LSM6DSO_ACCEL_FS
|
|
|
|
int "Accelerometer full-scale range"
|
|
|
|
default 0
|
|
|
|
help
|
|
|
|
Specify the default accelerometer full-scale range.
|
|
|
|
An X value for the config represents a range of +/- X G. Valid values
|
|
|
|
are:
|
|
|
|
0: Full Scale selected at runtime
|
|
|
|
2: +/- 2g
|
|
|
|
4: +/- 4g
|
|
|
|
8: +/- 8g
|
|
|
|
16: +/- 16g
|
|
|
|
|
|
|
|
config LSM6DSO_ACCEL_ODR
|
|
|
|
int "Accelerometer Output data rate frequency"
|
|
|
|
range 0 10
|
|
|
|
default 0
|
|
|
|
help
|
|
|
|
Specify the default accelerometer output data rate expressed in
|
|
|
|
samples per second (Hz).
|
|
|
|
0: ODR selected at runtime
|
|
|
|
1: 12.5Hz
|
|
|
|
2: 26Hz
|
|
|
|
3: 52Hz
|
|
|
|
4: 104Hz
|
|
|
|
5: 208Hz
|
|
|
|
6: 416Hz
|
|
|
|
7: 833Hz
|
|
|
|
8: 1660Hz
|
|
|
|
9: 3330Hz
|
|
|
|
10: 6660Hz
|
|
|
|
endmenu
|
|
|
|
|
|
|
|
endif # LSM6DSO
|