Example of free fall detection for LSM6DSL in X-NUCLEO-IKS01A2

Dependencies:   X_NUCLEO_IKS01A2 mbed

Fork of FreeFall_IKS01A2 by ST Expansion SW Team

Free Fall Detection Demo Application based on sensor expansion board X-NUCLEO-IKS01A2

Main function is to show how to detect the free fall event 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 leave falling the board and then view the notification using an hyper terminal. When the free fall is detected, the LED is switched on for a while.
- the user button can be used to enable/disable the free fall detection feature.

Revision:
6:f9bbe6142ac5
Parent:
4:6b137af9100e
Child:
7:8d01cc2032b8
--- a/main.cpp	Wed Nov 23 15:53:16 2016 +0000
+++ b/main.cpp	Wed Nov 23 16:45:16 2016 +0000
@@ -46,7 +46,6 @@
 /* Retrieve the composing elements of the expansion board */
 static LSM6DSLSensor *acc_gyro = mems_expansion_board->acc_gyro;
 
-InterruptIn lsm6dsl_int1(IKS01A2_PIN_LSM6DSL_INT1);
 InterruptIn mybutton(USER_BUTTON);
 DigitalOut myled(LED1);
 
@@ -62,7 +61,7 @@
   /* Attach callback to User button press */
   mybutton.fall(&pressed);
   /* Attach callback to LSM6DSL INT1 */
-  lsm6dsl_int1.rise(&freefall);
+  acc_gyro->AttachINT1IRQ(&freefall);
   
   /* Enable LSM6DSL accelerometer */
   acc_gyro->Enable_X();