From 30f2fad6bac190daa3198427183fbc866ec01ca8 Mon Sep 17 00:00:00 2001 From: Angelo Prete <angelo.prete@skywarder.eu> Date: Fri, 31 May 2024 23:36:53 +0200 Subject: [PATCH] [PinHandler] Updated after removing PinObserver singleton --- src/boards/MockupMain/PinHandler/PinHandler.cpp | 9 +++++---- src/boards/MockupMain/PinHandler/PinHandler.h | 4 +++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/boards/MockupMain/PinHandler/PinHandler.cpp b/src/boards/MockupMain/PinHandler/PinHandler.cpp index 67b4ed246..136187b65 100644 --- a/src/boards/MockupMain/PinHandler/PinHandler.cpp +++ b/src/boards/MockupMain/PinHandler/PinHandler.cpp @@ -46,7 +46,7 @@ void PinHandler::onExpulsionPinTransition(PinTransition transition) bool PinHandler::start() { - running = PinObserver::getInstance().start(); + running = true; return running; } @@ -57,14 +57,15 @@ std::map<PinsList, PinData> PinHandler::getPinsData() std::map<PinsList, PinData> data; data[PinsList::NOSECONE_PIN] = - PinObserver::getInstance().getPinData(inputs::expulsion::getPin()); + pinObserver.getPinData(inputs::expulsion::getPin()); return data; } -PinHandler::PinHandler() : running(false) +PinHandler::PinHandler(TaskScheduler scheduler) + : running(false), pinObserver(scheduler) { - PinObserver::getInstance().registerPinCallback( + pinObserver.registerPinCallback( inputs::expulsion::getPin(), std::bind(&PinHandler::onExpulsionPinTransition, this, _1), NC_DETACH_PIN_THRESHOLD); diff --git a/src/boards/MockupMain/PinHandler/PinHandler.h b/src/boards/MockupMain/PinHandler/PinHandler.h index d40539e60..51e680ca9 100644 --- a/src/boards/MockupMain/PinHandler/PinHandler.h +++ b/src/boards/MockupMain/PinHandler/PinHandler.h @@ -40,7 +40,7 @@ namespace MockupMain class PinHandler : public Boardcore::Module { public: - PinHandler(); + PinHandler(TaskScheduler scheduler); bool start(); @@ -60,6 +60,8 @@ public: private: Boardcore::PrintLogger logger = Boardcore::Logging::getLogger("pinhandler"); + Boardcore::PinObserver pinObserver; + std::atomic<bool> running; }; -- GitLab