example for forked FXOS8700CQ library that enables motion detection interrupts

Dependencies:   FXOS8700CQ mbed

Committer:
maclobdell
Date:
Sun Jan 10 21:21:32 2016 +0000
Revision:
0:2def406689b4
initial;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
maclobdell 0:2def406689b4 1 #include "mbed.h"
maclobdell 0:2def406689b4 2 #include "FXOS8700CQ.h"
maclobdell 0:2def406689b4 3
maclobdell 0:2def406689b4 4 DigitalOut led(LED_RED);
maclobdell 0:2def406689b4 5 InterruptIn accel_int_pin(PTC13); //FRDM-K64F
maclobdell 0:2def406689b4 6 Serial pc(USBTX, USBRX);
maclobdell 0:2def406689b4 7 FXOS8700CQ fxos(PTE25, PTE24, FXOS8700CQ_SLAVE_ADDR1); //FRDM-K64F
maclobdell 0:2def406689b4 8
maclobdell 0:2def406689b4 9 uint8_t motion_detected;
maclobdell 0:2def406689b4 10
maclobdell 0:2def406689b4 11 void accel_interrupt(void)
maclobdell 0:2def406689b4 12 {
maclobdell 0:2def406689b4 13 led = 0; //turn led on
maclobdell 0:2def406689b4 14 motion_detected = 1;
maclobdell 0:2def406689b4 15 fxos.clear_int();
maclobdell 0:2def406689b4 16 }
maclobdell 0:2def406689b4 17
maclobdell 0:2def406689b4 18 int main()
maclobdell 0:2def406689b4 19 {
maclobdell 0:2def406689b4 20 pc.baud(9600);
maclobdell 0:2def406689b4 21
maclobdell 0:2def406689b4 22 pc.printf("ready to rock!\n");
maclobdell 0:2def406689b4 23
maclobdell 0:2def406689b4 24 motion_detected = 0;
maclobdell 0:2def406689b4 25 accel_int_pin.fall(&accel_interrupt);
maclobdell 0:2def406689b4 26 accel_int_pin.mode(PullUp);
maclobdell 0:2def406689b4 27
maclobdell 0:2def406689b4 28 led = 1; //turn led off
maclobdell 0:2def406689b4 29
maclobdell 0:2def406689b4 30 fxos.config_int(); //enabled interrupts from accelerometer
maclobdell 0:2def406689b4 31 fxos.config_feature(); //turn on motion detection
maclobdell 0:2def406689b4 32 fxos.enable(); //enable accelerometer
maclobdell 0:2def406689b4 33
maclobdell 0:2def406689b4 34 while (true) {
maclobdell 0:2def406689b4 35
maclobdell 0:2def406689b4 36 if(motion_detected == 1)
maclobdell 0:2def406689b4 37 {
maclobdell 0:2def406689b4 38 wait(1);
maclobdell 0:2def406689b4 39
maclobdell 0:2def406689b4 40 led = 1; //turn led off
maclobdell 0:2def406689b4 41 motion_detected = 0;
maclobdell 0:2def406689b4 42
maclobdell 0:2def406689b4 43 sleep();
maclobdell 0:2def406689b4 44 }
maclobdell 0:2def406689b4 45 }
maclobdell 0:2def406689b4 46 }