First integration of the motion sensor (bma 421) : step counting + wake on wrist rotation + app to see the value of the 3 axis in "real time".
This commit is contained in:
33
src/components/motion/MotionController.cpp
Normal file
33
src/components/motion/MotionController.cpp
Normal file
@@ -0,0 +1,33 @@
|
||||
#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;
|
||||
}
|
Reference in New Issue
Block a user