eive-obsw/mission/acsDefs.h
Robin Mueller 3759b5d34a
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
I am happy with this version
2023-02-13 01:26:30 +01:00

32 lines
863 B
C++

#ifndef MISSION_ACSDEFS_H_
#define MISSION_ACSDEFS_H_
#include <eive/eventSubsystemIds.h>
#include <fsfw/modes/HasModesIF.h>
namespace acs {
// These modes are the submodes of the ACS controller and the modes of the ACS subsystem.
enum AcsMode : Mode_t {
OFF = HasModesIF::MODE_OFF,
SAFE = 10,
DETUMBLE = 11,
PTG_IDLE = 12,
PTG_NADIR = 13,
PTG_TARGET = 14,
PTG_TARGET_GS = 15,
PTG_INERTIAL = 16,
};
static const uint8_t SUBSYSTEM_ID = SUBSYSTEM_ID::ACS_SUBSYSTEM;
//!< The limits for the rotation in safe mode were violated.
static const Event SAFE_RATE_VIOLATION = MAKE_EVENT(0, severity::MEDIUM);
//!< The system has recovered from a safe rate rotation violation.
static constexpr Event SAFE_RATE_RECOVERY = MAKE_EVENT(1, severity::MEDIUM);
extern const char* getModeStr(AcsMode mode);
} // namespace acs
#endif /* MISSION_ACSDEFS_H_ */