diff options
| author | SteveAmor <SteveAmor@users.noreply.github.com> | 2022-01-02 22:27:43 (GMT) |
|---|---|---|
| committer | SteveAmor <SteveAmor@users.noreply.github.com> | 2022-01-02 22:27:43 (GMT) |
| commit | cc259b6a4ac93d507fa372a41ea653dedeb791ea (patch) | |
| tree | 3c8b8b937b2b91149003195679ce5acda1154c4d /src/components/motion | |
| parent | 94561b233136334c7507925b04a345adb0e6c769 (diff) | |
| parent | e0013e730448f4dc142e3610f970f22c807ac41e (diff) | |
resolves conflicts
Diffstat (limited to 'src/components/motion')
| -rw-r--r-- | src/components/motion/MotionController.cpp | 20 | ||||
| -rw-r--r-- | src/components/motion/MotionController.h | 10 |
2 files changed, 24 insertions, 6 deletions
diff --git a/src/components/motion/MotionController.cpp b/src/components/motion/MotionController.cpp index a2384d7..97a8feb 100644 --- a/src/components/motion/MotionController.cpp +++ b/src/components/motion/MotionController.cpp @@ -1,4 +1,4 @@ -#include "MotionController.h" +#include "components/motion/MotionController.h" using namespace Pinetime::Controllers; @@ -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; + int32_t deltaSteps = nbSteps - this->nbSteps; this->nbSteps = nbSteps; + if (deltaSteps > 0) { + currentTripSteps += deltaSteps; + } } bool MotionController::ShouldWakeUp(bool isSleeping) { @@ -43,10 +47,16 @@ void MotionController::IsSensorOk(bool isOk) { isSensorOk = isOk; } void MotionController::Init(Pinetime::Drivers::Bma421::DeviceTypes types) { - switch(types){ - case Drivers::Bma421::DeviceTypes::BMA421: this->deviceType = DeviceTypes::BMA421; break; - case Drivers::Bma421::DeviceTypes::BMA425: this->deviceType = DeviceTypes::BMA425; break; - default: this->deviceType = DeviceTypes::Unknown; break; + switch (types) { + case Drivers::Bma421::DeviceTypes::BMA421: + this->deviceType = DeviceTypes::BMA421; + break; + case Drivers::Bma421::DeviceTypes::BMA425: + this->deviceType = DeviceTypes::BMA425; + break; + default: + this->deviceType = DeviceTypes::Unknown; + break; } } void MotionController::SetService(Pinetime::Controllers::MotionService* service) { diff --git a/src/components/motion/MotionController.h b/src/components/motion/MotionController.h index c72d8a4..3eac717 100644 --- a/src/components/motion/MotionController.h +++ b/src/components/motion/MotionController.h @@ -8,7 +8,7 @@ namespace Pinetime { namespace Controllers { class MotionController { public: - enum class DeviceTypes{ + enum class DeviceTypes { Unknown, BMA421, BMA425, @@ -28,6 +28,13 @@ namespace Pinetime { uint32_t NbSteps() const { return nbSteps; } + + void ResetTrip() { + currentTripSteps = 0; + } + uint32_t GetTripSteps() const { + return currentTripSteps; + } bool ShouldWakeUp(bool isSleeping); void IsSensorOk(bool isOk); @@ -44,6 +51,7 @@ namespace Pinetime { private: uint32_t nbSteps; + uint32_t currentTripSteps = 0; int16_t x; int16_t y; int16_t z; |
