diff options
author | Stephanie <eng.steph@gmail.com> | 2021-10-21 23:37:35 -0400 |
---|---|---|
committer | JF <JF002@users.noreply.github.com> | 2021-12-30 21:51:43 +0100 |
commit | f7d1b3f36847bcbd0699feeb8515bb6517690066 (patch) | |
tree | 690a297b78c10a421db90b7f950f8361a854661e /src/components/motion | |
parent | fb87fdb2d9720ce1bca2c4920b859658a6480167 (diff) |
Moved trip meter update to MotionController and changed trip meter logic
Diffstat (limited to 'src/components/motion')
-rw-r--r-- | src/components/motion/MotionController.cpp | 4 | ||||
-rw-r--r-- | src/components/motion/MotionController.h | 10 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/components/motion/MotionController.cpp b/src/components/motion/MotionController.cpp index cae49105..59114f4c 100644 --- a/src/components/motion/MotionController.cpp +++ b/src/components/motion/MotionController.cpp @@ -14,7 +14,11 @@ void MotionController::Update(int16_t x, int16_t y, int16_t z, uint32_t nbSteps) this->x = x; this->y = y; this->z = z; + deltaSteps = nbSteps - this->nbSteps; this->nbSteps = nbSteps; + if(deltaSteps > 0){ + currentTripSteps += deltaSteps; + } } bool MotionController::ShouldWakeUp(bool isSleeping) { diff --git a/src/components/motion/MotionController.h b/src/components/motion/MotionController.h index aea82f76..17bdc52e 100644 --- a/src/components/motion/MotionController.h +++ b/src/components/motion/MotionController.h @@ -28,11 +28,12 @@ namespace Pinetime { uint32_t NbSteps() const { return nbSteps; } - void SetTripSteps(uint32_t steps) { - stepsAtLastTrip = steps; + + void ResetTrip() { + currentTripSteps = 0; } uint32_t GetTripSteps() const { - return stepsAtLastTrip; + return currentTripSteps; } bool ShouldWakeUp(bool isSleeping); @@ -50,7 +51,8 @@ namespace Pinetime { private: uint32_t nbSteps; - uint32_t stepsAtLastTrip = 0; + int32_t deltaSteps = 0; + uint32_t currentTripSteps = 0; int16_t x; int16_t y; int16_t z; |