diff options
| author | JF <jf@codingfield.com> | 2022-01-07 16:31:01 (GMT) |
|---|---|---|
| committer | Gitea <gitea@fake.local> | 2022-01-07 16:31:01 (GMT) |
| commit | adc7909c9823c5cd9fc9888a84e84f9182b9088f (patch) | |
| tree | 778abfb7792fb7e58e3ec4408c9e56444f383e25 /src/components/motion/MotionController.h | |
| parent | cfef0131b7b1bb83c81db417c43d6d499594125f (diff) | |
| parent | 26ae828e393d28390c5ea718bec9d4c1a96435ac (diff) | |
Merge branch 'develop' of JF/PineTime into master
Diffstat (limited to 'src/components/motion/MotionController.h')
| -rw-r--r-- | src/components/motion/MotionController.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/components/motion/MotionController.h b/src/components/motion/MotionController.h index c72d8a4..f80b11b 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,8 +28,17 @@ namespace Pinetime { uint32_t NbSteps() const { return nbSteps; } - bool ShouldWakeUp(bool isSleeping); + void ResetTrip() { + currentTripSteps = 0; + } + uint32_t GetTripSteps() const { + return currentTripSteps; + } + + bool Should_ShakeWake(uint16_t thresh); + bool Should_RaiseWake(bool isSleeping); + int32_t currentShakeSpeed(); void IsSensorOk(bool isOk); bool IsSensorOk() const { return isSensorOk; @@ -44,6 +53,7 @@ namespace Pinetime { private: uint32_t nbSteps; + uint32_t currentTripSteps = 0; int16_t x; int16_t y; int16_t z; @@ -51,6 +61,12 @@ namespace Pinetime { bool isSensorOk = false; DeviceTypes deviceType = DeviceTypes::Unknown; Pinetime::Controllers::MotionService* service = nullptr; + + int16_t lastXForShake = 0; + int16_t lastYForShake = 0; + int16_t lastZForShake = 0; + int32_t accumulatedspeed = 0; + uint32_t lastShakeTime = 0; }; } }
\ No newline at end of file |
