Example of wake up detection for LSM6DSL in X-NUCLEO-IKS01A2

Dependencies:   X_NUCLEO_IKS01A2 mbed

Fork of WakeUp_IKS01A2 by ST Expansion SW Team

Wake up Demo Application based on sensor expansion board X-NUCLEO-IKS01A2

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

Revision:
6:06f4a71c4743
Parent:
5:105294c9bfd2
Child:
7:6ad7b6ae4b93
--- a/main.cpp	Wed Nov 23 15:55:10 2016 +0000
+++ b/main.cpp	Wed Nov 23 16:46:48 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_int2(IKS01A2_PIN_LSM6DSL_INT2);
 InterruptIn mybutton(USER_BUTTON);
 DigitalOut myled(LED1);
 
@@ -61,8 +60,8 @@
 int main() {
   /* Attach callback to User button press */
   mybutton.fall(&pressed);
-  /* Attach callback to LSM6DSL INT1 */
-  lsm6dsl_int2.rise(&wakeup);
+  /* Attach callback to LSM6DSL INT2 */
+  acc_gyro->AttachINT2IRQ(&wakeup);
   
   /* Enable LSM6DSL accelerometer */
   acc_gyro->Enable_X();