diff options
Diffstat (limited to 'src/components/motion')
| -rw-r--r-- | src/components/motion/MotionController.cpp | 12 | ||||
| -rw-r--r-- | src/components/motion/MotionController.h | 12 |
2 files changed, 12 insertions, 12 deletions
diff --git a/src/components/motion/MotionController.cpp b/src/components/motion/MotionController.cpp index 8ba46814..29b30e36 100644 --- a/src/components/motion/MotionController.cpp +++ b/src/components/motion/MotionController.cpp @@ -43,17 +43,17 @@ bool MotionController::Should_RaiseWake(bool isSleeping) { return false; } -bool MotionController::Should_ShakeWake(uint16_t thresh) { +bool MotionController::ShouldShakeWake(uint16_t thresh) { bool wake = false; auto diff = xTaskGetTickCount() - lastShakeTime; lastShakeTime = xTaskGetTickCount(); /* Currently Polling at 10hz, If this ever goes faster scalar and EMA might need adjusting */ int32_t speed = std::abs(z + (y / 2) + (x / 4) - lastYForShake - lastZForShake) / diff * 100; - //(.2 * speed) + ((1 - .2) * accumulatedspeed); + //(.2 * speed) + ((1 - .2) * accumulatedSpeed); // implemented without floats as .25Alpha - accumulatedspeed = (speed / 5) + ((accumulatedspeed / 5) * 4); + accumulatedSpeed = (speed / 5) + ((accumulatedSpeed / 5) * 4); - if (accumulatedspeed > thresh) { + if (accumulatedSpeed > thresh) { wake = true; } lastXForShake = x / 4; @@ -62,10 +62,6 @@ bool MotionController::Should_ShakeWake(uint16_t thresh) { return wake; } -int32_t MotionController::currentShakeSpeed() { - return accumulatedspeed; -} - void MotionController::IsSensorOk(bool isOk) { isSensorOk = isOk; } diff --git a/src/components/motion/MotionController.h b/src/components/motion/MotionController.h index 857bd45a..9006b2a6 100644 --- a/src/components/motion/MotionController.h +++ b/src/components/motion/MotionController.h @@ -40,9 +40,13 @@ namespace Pinetime { return currentTripSteps; } - bool Should_ShakeWake(uint16_t thresh); + bool ShouldShakeWake(uint16_t thresh); bool Should_RaiseWake(bool isSleeping); - int32_t currentShakeSpeed(); + + int32_t CurrentShakeSpeed() const { + return accumulatedSpeed; + } + void IsSensorOk(bool isOk); bool IsSensorOk() const { @@ -70,8 +74,8 @@ namespace Pinetime { int16_t lastXForShake = 0; int16_t lastYForShake = 0; int16_t lastZForShake = 0; - int32_t accumulatedspeed = 0; + int32_t accumulatedSpeed = 0; uint32_t lastShakeTime = 0; }; } -}
\ No newline at end of file +} |
