summaryrefslogtreecommitdiff
path: root/src/components/motion/MotionController.h
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2022-01-07 16:31:01 (GMT)
committerGitea <gitea@fake.local>2022-01-07 16:31:01 (GMT)
commitadc7909c9823c5cd9fc9888a84e84f9182b9088f (patch)
tree778abfb7792fb7e58e3ec4408c9e56444f383e25 /src/components/motion/MotionController.h
parentcfef0131b7b1bb83c81db417c43d6d499594125f (diff)
parent26ae828e393d28390c5ea718bec9d4c1a96435ac (diff)
Merge branch 'develop' of JF/PineTime into master
Diffstat (limited to 'src/components/motion/MotionController.h')
-rw-r--r--src/components/motion/MotionController.h20
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