Example of single tap and double tap detection for LSM6DSL in X-NUCLEO-IKS01A2
Dependencies: X_NUCLEO_IKS01A2 mbed
Fork of SingleDoubleTap_IKS01A2 by
Single and Double Tap Demo Application based on sensor expansion board X-NUCLEO-IKS01A2
Main function is to show how to detect the single and double tap events using the sensor expansion board and send a notification using UART to a connected PC or Desktop and display it on terminal applications like TeraTerm.
After connection has been established:
- the user can try to tap the board and then view the notification using an hyper terminal. When the single tap is detected,
the LED is switched on for a while.
- the user can press the user button to pass from the single tap detection to the double tap detection feature. The user can try to double tap the board and then view the notification using an hyper terminal. When the double tap is detected, the LED is switched on twice for a while.
- the user can press again the user button to disable the single and double tap detection feature.
- the user can press the user button to enable again the single tap detection feature and so on.
Diff: X_NUCLEO_IKS01A2/Components/LSM6DSLSensor/LSM6DSLSensor.cpp
- Revision:
- 6:2380444e4c75
- Parent:
- 5:7da0dc121ec6
- Child:
- 7:4f512b172555
--- a/X_NUCLEO_IKS01A2/Components/LSM6DSLSensor/LSM6DSLSensor.cpp Wed Nov 23 15:54:32 2016 +0000
+++ b/X_NUCLEO_IKS01A2/Components/LSM6DSLSensor/LSM6DSLSensor.cpp Wed Nov 23 16:46:14 2016 +0000
@@ -51,7 +51,7 @@
* @param i2c object of an helper class which handles the I2C peripheral
* @param address the address of the component's instance
*/
-LSM6DSLSensor::LSM6DSLSensor(DevI2C &i2c) : dev_i2c(i2c)
+LSM6DSLSensor::LSM6DSLSensor(DevI2C &i2c, PinName INT1_pin, PinName INT2_pin) : dev_i2c(i2c), INT1_irq(INT1_pin), INT2_irq(INT2_pin)
{
address = LSM6DSL_ACC_GYRO_I2C_ADDRESS_HIGH;
};
@@ -60,7 +60,7 @@
* @param i2c object of an helper class which handles the I2C peripheral
* @param address the address of the component's instance
*/
-LSM6DSLSensor::LSM6DSLSensor(DevI2C &i2c, uint8_t address) : dev_i2c(i2c), address(address)
+LSM6DSLSensor::LSM6DSLSensor(DevI2C &i2c, PinName INT1_pin, PinName INT2_pin, uint8_t address) : dev_i2c(i2c), INT1_irq(INT1_pin), INT2_irq(INT2_pin), address(address)
{
};
