Fix no Sensors for Control FDIR #858

Merged
muellerr merged 7 commits from fix-no-sensors-fdir into main 2024-02-14 10:45:51 +01:00
3 changed files with 15 additions and 3 deletions
Showing only changes of commit efc0be104c - Show all commits

View File

@ -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();

View File

@ -1,6 +1,8 @@
#include "StrFdir.h"
#include "mission/acs/defs.h"
#include <eive/objects.h>
#include <fsfw/events/EventManagerIF.h>
#include <mission/acs/defs.h>
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<EventManagerIF>(objects::EVENT_MANAGER);
return manager->subscribeToEvent(eventQueue->getId(),
event::getEventId(acs::PTG_CTRL_NO_ATTITUDE_INFORMATION));
}

View File

@ -6,6 +6,7 @@
class StrFdir : public DeviceHandlerFailureIsolation {
public:
StrFdir(object_id_t strObject);
ReturnValue_t initialize() override;
ReturnValue_t eventReceived(EventMessage* event) override;
};