Repository navigation
LSM6DSL
New documentation: View the migrated page.
Arduino library to support the LSM6DSL 3D accelerometer and 3D gyroscope.
-
LSM6DSLSensor(TwoWire*, uint8_t): class constructor
Params pointer to the I2C instance
Params (optional) address of the component's instance -
Enable_X: enable accelerometer
Enable_G: enable gyroscope
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Disable_X: disable accelerometer
Disable_G: disable gyroscope
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
ReadID(uint8_t*): read ID address
Params pointer where store the ID of the device
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Get_X_Axes(int32_t*): read accelerometer data
Get_G_Axes(int32_t*): read gyroscope data
Params pointer where store the data
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Get_X_Sensitivity(float*): read accelerometer sensitivity
Get_G_Sensitivity(float*): read gyroscope sensitivity
Params pointer where store the data
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Get_X_AxesRaw(float*): read accelerometer raw data
Get_G_AxesRaw(float*): read gyroscope raw data
Params pointer where store the data
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Get_X_ODR(float*): read the accelerometer output data rate
Get_G_ODR(float*): read the gyroscope output data rate
Params pointer where to store data
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Set_X_ODR(float): set the accelerometer output data rate
Set_G_ODR(float): set the gyroscope output data rate
Params data rate to be set
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Get_X_FS(float*): read the accelerometer full scale
Get_G_FS(float*): read the gyroscope full scale
Params pointer where to store data
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Set_X_FS(float): set the accelerometer full scale
Set_G_FS(float): set the gyroscope full scale
Params full scale to be set
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Enable_Free_Fall_Detection(LSM6DSL_Interrupt_Pin_t): enable free fall detection. Accelerometer ODR sets to 416Hz and full scale to 2g.
Params (optional) interrupt pin to be used
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Disable_Free_Fall_Detection: disable free fall detection
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Set_Free_Fall_Threshold(uint8_t): set the accelerometer free fall detection threshold
Params the threshold to be set
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Enable_Pedometer: enable the pedometer feature. Accelerometer ODR sets to 26Hz and full scale to 2g.
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Disable_Pedometer: disable the pedometer feature
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Get_Step_Counter(uint16_t*): read step counter
Params pointer where to store data
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Reset_Step_Counter: reset step counter
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Set_Pedometer_Threshold(uint8_t): set the pedometer threshold
Params the threshold to be set
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Enable_Tilt_Detection(LSM6DSL_Interrupt_Pin_t): enable tilt detection. Accelerometer ODR sets to 26Hz and full scale to 2g.
Params (optional) interrupt pin to be used
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Disable_Tilt_Detection: disable tilt detection
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Enable_Wake_Up_Detection(LSM6DSL_Interrupt_Pin_t): enable wake up detection. Accelerometer ODR sets to 416Hz and full scale to 2g.
Params (optional) interrupt pin to be used
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Disable_Wake_Up_Detection: disable wake up detection
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Set_Wake_Up_Threshold(uint8_t): set the wake up threshold
Params the threshold to be set
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Enable_Single_Tap_Detection(LSM6DSL_Interrupt_Pin_t): enable the single tap detection. Accelerometer ODR sets to 416Hz and full scale to 2g.
Params (optional) interrupt pin to be used
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Disable_Single_Tap_Detection: disable single tap detection
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Enable_Double_Tap_Detection(LSM6DSL_Interrupt_Pin_t): enable the double tap detection. Accelerometer ODR sets to 416Hz and full scale to 2g.
Params (optional) interrupt pin to be used
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Disable_Double_Tap_Detection: disable double tap detection
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Set_Tap_Threshold(uint8_t): set the tap threshold
Params the threshold to be set
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Set_Tap_Shock_Time(uint8_t): set the tap shock time window
Params the shock time window to be set
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Set_Tap_Quiet_Time(uint8_t): set the tap quiet time window
Params the quiet time window to be set
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Set_Tap_Duration_Time(uint8_t): set the tap duration of the time window
Params the duration of the time window to be set
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Enable_6D_Orientation(LSM6DSL_Interrupt_Pin_t): enable the 6D orientation detection. Accelerometer ODR sets to 416Hz and full scale to 2g.
Params (optional) interrupt pin to be used
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Disable_6D_Orientation: disable the 6D orientation detection
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Get_6D_Orientation_XL(uint8_t*): read the XL axis data
Params pointer where to store the data
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Get_6D_Orientation_XH(uint8_t*): read the XH axis data
Params pointer where to store the data
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Get_6D_Orientation_YL(uint8_t*): read the YL axis data
Params pointer where to store the data
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Get_6D_Orientation_YH(uint8_t*): read the YH axis data
Params pointer where to store the data
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Get_6D_Orientation_ZL(uint8_t*): read the ZL axis data
Params pointer where to store the data
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Get_6D_Orientation_ZH(uint8_t*): read the ZH axis data
Params pointer where to store the data
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
Get_Event_Status(LSM6DSL_Event_Status_t*): read the status of all hardware events Params pointer where to store the event status Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise
-
ReadReg(uint8_t, uint8_t*): read data from register
Params register address
Params pointer to register data
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise -
WriteReg(uint8_t, uint8_t): write data to register
Params register address
Params register data
Returns LSM6DSL_STATUS_OK in case of success, an error code otherwise
Note
This library uses the Wire library presents in the STM32 core by default.
- DISCO_IOT_6DOrientation: detects and prints 6D orientation event
- DISCO_IOT_DoubleTap: detects and prints double tap event
- DISCO_IOT_FreeFall: detects and prints free fall event
- DISCO_IOT_LS6DSL_DataLog_Terminal: reads accelerometer and gyroscope values and prints them
- DISCO_IOT_MultiEvent: detects and prints free fall, tap, double tap, tilt, wake up, 6D orientation and step events
- DISCO_IOT_Pedometer: detects and prints step event
- DISCO_IOT_Tap: detects and prints single tap event
- DISCO_IOT_Tilt: detects and prints tilt event
- DISCO_IOT_WakeUp: detects and prints wakeup event
You can find the source files at
https://github.com/stm32duino/LSM6DSL
The LSM6DSL datasheet is available at
http://www.st.com/content/st_com/en/products/mems-and-sensors/inemo-inertial-modules/lsm6dsl.html
Documentation moved The documentation has migrated to stm32duino.github.io and this wiki is no longer updated. The wiki will be disabled soon. Please contribute in the relevant repository that publishes its documentation through GitHub Pages (
gh-pages).
-
Advanced usages