Example of wake up detection for LSM6DSL in X-NUCLEO-IKS01A2
Dependencies: X_NUCLEO_IKS01A2 mbed
Fork of WakeUp_IKS01A2 by
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.
Diff: main.cpp
- Revision:
- 6:06f4a71c4743
- Parent:
- 5:105294c9bfd2
- Child:
- 7:6ad7b6ae4b93
diff -r 105294c9bfd2 -r 06f4a71c4743 main.cpp
--- 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();
