summaryrefslogtreecommitdiff
path: root/src/components/motion/MotionController.cpp
diff options
context:
space:
mode:
authorJean-François Milants <jf@codingfield.com>2021-04-09 19:17:03 (GMT)
committerJean-François Milants <jf@codingfield.com>2021-04-09 19:17:03 (GMT)
commiteb769fb60ecb8f96ecf6901082ec3f0610842af8 (patch)
treec26870103f8baaa933399cfb86cca25aa7e60d8b /src/components/motion/MotionController.cpp
parent57b4c3f0edc6acfa31bd2160abdcd6091920ba63 (diff)
parent15b3b8e282dd5b2132b0095716cd9d88740d4579 (diff)
Merge branch 'motion-sensor' into develop
Diffstat (limited to 'src/components/motion/MotionController.cpp')
-rw-r--r--src/components/motion/MotionController.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/components/motion/MotionController.cpp b/src/components/motion/MotionController.cpp
new file mode 100644
index 0000000..e9ee314
--- /dev/null
+++ b/src/components/motion/MotionController.cpp
@@ -0,0 +1,36 @@
+#include "MotionController.h"
+
+using namespace Pinetime::Controllers;
+
+void MotionController::Update(int16_t x, int16_t y, int16_t z, uint32_t nbSteps) {
+ this->x = x;
+ this->y = y;
+ this->z = z;
+ this->nbSteps = nbSteps;
+}
+
+bool MotionController::ShouldWakeUp(bool isSleeping) {
+ if ((x + 335) <= 670 && z < 0) {
+ if (not isSleeping) {
+ if (y <= 0) {
+ return false;
+ } else {
+ lastYForWakeUp = 0;
+ return false;
+ }
+ }
+
+ if (y >= 0) {
+ lastYForWakeUp = 0;
+ return false;
+ }
+ if (y + 230 < lastYForWakeUp) {
+ lastYForWakeUp = y;
+ return true;
+ }
+ }
+ return false;
+}
+void MotionController::IsSensorOk(bool isOk) {
+ isSensorOk = isOk;
+}