freefall-sleep

Dependencies:   MMA8451Q mbed

Files at this revision

API Documentation at this revision

Comitter:
zdenka
Date:
Mon Nov 13 15:40:25 2017 +0000
Parent:
0:97ddc2168412
Commit message:
freefall-sleep

Changed in this revision

MMA8451Q.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 97ddc2168412 -r 1b10921f4922 MMA8451Q.lib
--- a/MMA8451Q.lib	Sat Nov 11 09:41:19 2017 +0000
+++ b/MMA8451Q.lib	Mon Nov 13 15:40:25 2017 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/emilmont/code/MMA8451Q/#05700df05c8f
+https://os.mbed.com/users/zdenka/code/MMA8451Q/#05700df05c8f
diff -r 97ddc2168412 -r 1b10921f4922 main.cpp
--- a/main.cpp	Sat Nov 11 09:41:19 2017 +0000
+++ b/main.cpp	Mon Nov 13 15:40:25 2017 +0000
@@ -1,6 +1,7 @@
 #include "mbed.h"
 #include "MMA8451Q.h"
-
+#include "cmsis.h"
+#include "PeripheralPins.h"
 #if   defined (TARGET_KL25Z) || defined (TARGET_KL46Z)
   PinName const SDA = PTE25;
   PinName const SCL = PTE24;
@@ -19,6 +20,17 @@
 
     MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
 InterruptIn in(PTA15);
+
+
+
+void slleep()
+{
+    SMC->PMPROT = SMC_PMPROT_AVLLS_MASK | SMC_PMPROT_ALLS_MASK | SMC_PMPROT_AVLP_MASK;
+ 
+    //Normal sleep mode for ARM core:
+    SCB->SCR = 0;
+    __WFI();
+}
 void svojafunkcia(){
     uint8_t data[1];
     acc.readRegs(0x0C,data,1);
@@ -26,6 +38,7 @@
         uint8_t cokolvek[1];
         acc.readRegs(0x16,cokolvek,1);
                 pc.printf("prerusenie\r \n"); // print the value of variable i
+slleep();
 
         }
     }
@@ -65,22 +78,9 @@
     uint8_t data7[2]={0x2A,data[0]};
     data7[1]=data[0];
     acc.writeRegs(data7,2);
-    /*
-    PwmOut rled(LED1);
-    PwmOut gled(LED2);
-    PwmOut bled(LED3);
-*/
-  //  printf("MMA8451 ID: %d\n", acc.getWhoAmI());
+   
 
+slleep();
     while (true) {
-/*        float x, y, z;
-        x = abs(acc.getAccX());
-        y = abs(acc.getAccY());
-        z = abs(acc.getAccZ());
-        rled = 1.0f - x;
-        gled = 1.0f - y;
-        bled = 1.0f - z;
-        wait(0.1f);
-        printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n", x, y, z);
-   */ }
+ }
 }