diff options
Diffstat (limited to 'src/components/motion/MotionController.cpp')
-rw-r--r-- | src/components/motion/MotionController.cpp | 36 |
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 00000000..e9ee314b --- /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; +} |