-
Notifications
You must be signed in to change notification settings - Fork 970
LSM6DSL
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
-
Advanced usages