diff options
| author | Jean-François Milants <jf@codingfield.com> | 2021-10-17 06:23:44 (GMT) |
|---|---|---|
| committer | Jean-François Milants <jf@codingfield.com> | 2021-10-17 06:23:44 (GMT) |
| commit | 60a49af886f16b4bbd8012cd711374f3fdb94efc (patch) | |
| tree | 08b164d2da41e0da609af671871ab235ca813e3e /src/components/motion/MotionController.cpp | |
| parent | d1f50157c7e0c471ae0e260fdca82fc472635079 (diff) | |
Add MotionService : expose step count and RAW X/Y/Z values to the host.
Diffstat (limited to 'src/components/motion/MotionController.cpp')
| -rw-r--r-- | src/components/motion/MotionController.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/components/motion/MotionController.cpp b/src/components/motion/MotionController.cpp index b0dbada..a2384d7 100644 --- a/src/components/motion/MotionController.cpp +++ b/src/components/motion/MotionController.cpp @@ -3,6 +3,14 @@ using namespace Pinetime::Controllers; void MotionController::Update(int16_t x, int16_t y, int16_t z, uint32_t nbSteps) { + if (this->nbSteps != nbSteps && service != nullptr) { + service->OnNewStepCountValue(nbSteps); + } + + if(service != nullptr && (this->x != x || this->y != y || this->z != z)) { + service->OnNewMotionValues(x, y, z); + } + this->x = x; this->y = y; this->z = z; @@ -41,3 +49,6 @@ void MotionController::Init(Pinetime::Drivers::Bma421::DeviceTypes types) { default: this->deviceType = DeviceTypes::Unknown; break; } } +void MotionController::SetService(Pinetime::Controllers::MotionService* service) { + this->service = service; +} |
