summaryrefslogtreecommitdiff
path: root/src/components/motion/MotionController.cpp
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2021-04-21 18:19:57 (GMT)
committerGitea <gitea@fake.local>2021-04-21 18:19:57 (GMT)
commita80e782f267cd2424d22da23d809c0c6a8ff8761 (patch)
treeca2bdb100ea98d361296a61352679f63a507f955 /src/components/motion/MotionController.cpp
parent24d3eea4fba05d774ace794eb8c9b21b8f2aa8c6 (diff)
parentfefb429fb4bf1020553900d9e514d3baa9040325 (diff)
Merge branch 'develop' of JF/PineTime into master
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;
+}