diff --git a/src/components/ble/MotionService.cpp b/src/components/ble/MotionService.cpp index 604f22d5..029be894 100644 --- a/src/components/ble/MotionService.cpp +++ b/src/components/ble/MotionService.cpp @@ -1,6 +1,6 @@ #include "components/ble/MotionService.h" #include "components/motion/MotionController.h" -#include "systemtask/SystemTask.h" +#include "components/ble/NimbleController.h" #include using namespace Pinetime::Controllers; @@ -28,8 +28,8 @@ namespace { } // TODO Refactoring - remove dependency to SystemTask -MotionService::MotionService(Pinetime::System::SystemTask& system, Controllers::MotionController& motionController) - : system {system}, +MotionService::MotionService(NimbleController& nimble, Controllers::MotionController& motionController) + : nimble {nimble}, motionController {motionController}, characteristicDefinition {{.uuid = &stepCountCharUuid.u, .access_cb = MotionServiceCallback, @@ -82,7 +82,7 @@ void MotionService::OnNewStepCountValue(uint32_t stepCount) { uint32_t buffer = stepCount; auto* om = ble_hs_mbuf_from_flat(&buffer, 4); - uint16_t connectionHandle = system.nimble().connHandle(); + uint16_t connectionHandle = nimble.connHandle(); if (connectionHandle == 0 || connectionHandle == BLE_HS_CONN_HANDLE_NONE) { return; @@ -98,7 +98,7 @@ void MotionService::OnNewMotionValues(int16_t x, int16_t y, int16_t z) { int16_t buffer[3] = {x, y, z}; auto* om = ble_hs_mbuf_from_flat(buffer, 3 * sizeof(int16_t)); - uint16_t connectionHandle = system.nimble().connHandle(); + uint16_t connectionHandle = nimble.connHandle(); if (connectionHandle == 0 || connectionHandle == BLE_HS_CONN_HANDLE_NONE) { return; diff --git a/src/components/ble/MotionService.h b/src/components/ble/MotionService.h index 1b172528..e15cffe3 100644 --- a/src/components/ble/MotionService.h +++ b/src/components/ble/MotionService.h @@ -7,16 +7,13 @@ #undef min namespace Pinetime { - namespace System { - class SystemTask; - } - namespace Controllers { + class NimbleController; class MotionController; class MotionService { public: - MotionService(Pinetime::System::SystemTask& system, Controllers::MotionController& motionController); + MotionService(NimbleController& nimble, Controllers::MotionController& motionController); void Init(); int OnStepCountRequested(uint16_t attributeHandle, ble_gatt_access_ctxt* context); void OnNewStepCountValue(uint32_t stepCount); @@ -26,7 +23,7 @@ namespace Pinetime { void UnsubscribeNotification(uint16_t attributeHandle); private: - Pinetime::System::SystemTask& system; + NimbleController& nimble; Controllers::MotionController& motionController; struct ble_gatt_chr_def characteristicDefinition[3]; diff --git a/src/components/ble/NimbleController.cpp b/src/components/ble/NimbleController.cpp index 0d40a9a5..c541cbaa 100644 --- a/src/components/ble/NimbleController.cpp +++ b/src/components/ble/NimbleController.cpp @@ -47,7 +47,7 @@ NimbleController::NimbleController(Pinetime::System::SystemTask& systemTask, batteryInformationService {batteryController}, immediateAlertService {systemTask, notificationManager}, heartRateService {systemTask, heartRateController}, - motionService {systemTask, motionController}, + motionService {*this, motionController}, fsService {systemTask, fs}, serviceDiscovery({¤tTimeClient, &alertNotificationClient}) { }