summaryrefslogtreecommitdiff
path: root/src/components/motion
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2021-06-20 15:09:24 (GMT)
committerGitea <gitea@fake.local>2021-06-20 15:09:24 (GMT)
commitd96395c81021778af35b8b4bf965bfe8663eb081 (patch)
tree979e75d716bca8bcd69b86f24a2f2d0270a274d0 /src/components/motion
parentfb133a0167f7ea4281bca45be6efc928720d4f82 (diff)
parent20a24f8cf56551eae1202f8dc5733bd0cf61adbf (diff)
Merge branch 'develop' of JF/PineTime into master
Diffstat (limited to 'src/components/motion')
-rw-r--r--src/components/motion/MotionController.cpp7
-rw-r--r--src/components/motion/MotionController.h14
2 files changed, 21 insertions, 0 deletions
diff --git a/src/components/motion/MotionController.cpp b/src/components/motion/MotionController.cpp
index e9ee314..b0dbada 100644
--- a/src/components/motion/MotionController.cpp
+++ b/src/components/motion/MotionController.cpp
@@ -34,3 +34,10 @@ bool MotionController::ShouldWakeUp(bool isSleeping) {
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;
+ }
+}
diff --git a/src/components/motion/MotionController.h b/src/components/motion/MotionController.h
index 3a23826..ff71509 100644
--- a/src/components/motion/MotionController.h
+++ b/src/components/motion/MotionController.h
@@ -1,11 +1,18 @@
#pragma once
#include <cstdint>
+#include <drivers/Bma421.h>
namespace Pinetime {
namespace Controllers {
class MotionController {
public:
+ enum class DeviceTypes{
+ Unknown,
+ BMA421,
+ BMA425,
+ };
+
void Update(int16_t x, int16_t y, int16_t z, uint32_t nbSteps);
int16_t X() const {
@@ -27,6 +34,12 @@ namespace Pinetime {
return isSensorOk;
}
+ DeviceTypes DeviceType() const {
+ return deviceType;
+ }
+
+ void Init(Pinetime::Drivers::Bma421::DeviceTypes types);
+
private:
uint32_t nbSteps;
int16_t x;
@@ -34,6 +47,7 @@ namespace Pinetime {
int16_t z;
int16_t lastYForWakeUp = 0;
bool isSensorOk = false;
+ DeviceTypes deviceType = DeviceTypes::Unknown;
};
}
} \ No newline at end of file