#ifndef MISSION_ACSDEFS_H_
#define MISSION_ACSDEFS_H_

#include <eive/eventSubsystemIds.h>
#include <fsfw/modes/HasModesIF.h>

namespace acs {

enum CtrlSubmode {
  OFF = HasModesIF::MODE_OFF,
  SAFE = 10,
  DETUMBLE = 11,
  IDLE = 12,
  PTG_TARGET_NADIR = 13,
  PTG_TARGET = 14,
  PTG_TARGET_GS = 15,
  PTG_TARGET_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);

}  // namespace acs

#endif /* MISSION_ACSDEFS_H_ */