34 lines
646 B
C++
34 lines
646 B
C++
|
#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;
|
||
|
}
|