#include "AcsSubsystem.h"

#include <fsfw/events/EventManagerIF.h>
#include <fsfw/ipc/QueueFactory.h>

#include "fsfw/modes/ModeMessage.h"
#include "mission/acs/defs.h"

AcsSubsystem::AcsSubsystem(object_id_t setObjectId, uint32_t maxNumberOfSequences,
                           uint32_t maxNumberOfTables)
    : Subsystem(setObjectId, maxNumberOfSequences, maxNumberOfTables) {}

void AcsSubsystem::announceMode(bool recursive) {
  const char* modeStr = acs::getModeStr(static_cast<acs::AcsMode>(mode));
  sif::info << "ACS subsystem is now in " << modeStr << " mode" << std::endl;
  return Subsystem::announceMode(recursive);
}