From efc0be104ca1fcdf881415f8f20da72564a54099 Mon Sep 17 00:00:00 2001 From: meggert Date: Tue, 13 Feb 2024 16:45:59 +0100 Subject: [PATCH] acs ctrl triggers event now --- mission/controller/AcsController.cpp | 3 +-- mission/system/acs/StrFdir.cpp | 14 +++++++++++++- mission/system/acs/StrFdir.h | 1 + 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/mission/controller/AcsController.cpp b/mission/controller/AcsController.cpp index c112cbde..8d35a8fd 100644 --- a/mission/controller/AcsController.cpp +++ b/mission/controller/AcsController.cpp @@ -357,8 +357,7 @@ void AcsController::performPointingCtrl() { ptgCtrlStrat == acs::ControlModeStrategy::CTRL_NO_SENSORS_FOR_CONTROL) { ptgCtrlLostCounter++; if (ptgCtrlLostCounter > acsParameters.onBoardParams.ptgCtrlLostTimer) { - EventManagerIF::triggerEvent(objects::STAR_TRACKER, acs::PTG_CTRL_NO_ATTITUDE_INFORMATION, 0, - 0); + triggerEvent(acs::PTG_CTRL_NO_ATTITUDE_INFORMATION); ptgCtrlLostCounter = 0; } guidance.resetValues(); diff --git a/mission/system/acs/StrFdir.cpp b/mission/system/acs/StrFdir.cpp index 83bd27fa..91e83263 100644 --- a/mission/system/acs/StrFdir.cpp +++ b/mission/system/acs/StrFdir.cpp @@ -1,6 +1,8 @@ #include "StrFdir.h" -#include "mission/acs/defs.h" +#include +#include +#include StrFdir::StrFdir(object_id_t strObject) : DeviceHandlerFailureIsolation(strObject, objects::NO_OBJECT) {} @@ -12,3 +14,13 @@ ReturnValue_t StrFdir::eventReceived(EventMessage* event) { } return DeviceHandlerFailureIsolation::eventReceived(event); } + +ReturnValue_t StrFdir::initialize() { + ReturnValue_t result = DeviceHandlerFailureIsolation::initialize(); + if (result != returnvalue::OK) { + return result; + } + EventManagerIF* manager = ObjectManager::instance()->get(objects::EVENT_MANAGER); + return manager->subscribeToEvent(eventQueue->getId(), + event::getEventId(acs::PTG_CTRL_NO_ATTITUDE_INFORMATION)); +} diff --git a/mission/system/acs/StrFdir.h b/mission/system/acs/StrFdir.h index 20476e1a..a40a3ccc 100644 --- a/mission/system/acs/StrFdir.h +++ b/mission/system/acs/StrFdir.h @@ -6,6 +6,7 @@ class StrFdir : public DeviceHandlerFailureIsolation { public: StrFdir(object_id_t strObject); + ReturnValue_t initialize() override; ReturnValue_t eventReceived(EventMessage* event) override; };