#ifndef MISSION_SYSTEM_DEFINITIONS_H_
#define MISSION_SYSTEM_DEFINITIONS_H_

#include <fsfw/modes/ModeMessage.h>

namespace power {

enum class States { IDLE, SWITCHING_POWER, CHECKING_POWER, MODE_COMMANDING };
enum class OpCodes { NONE, TO_OFF_DONE, TO_NOT_OFF_DONE, TIMEOUT_OCCURED };

}  // namespace power

namespace duallane {

enum Submodes : Submode_t { A_SIDE = 0, B_SIDE = 1, DUAL_MODE = 2 };

}  // namespace duallane

namespace payload {

enum Mode {
  OFF = 0,
  SUPV_ONLY = 10,
  MPSOC_STREAM = 11,
  CAM_STREAM = 12,
  EARTH_OBSV = 13,
  SCEX = 14
};

namespace ploc {

enum Modes { OFF = 0, SUPV_ONLY = 1, MPSOC_ON = 2 };

}

}  // namespace payload

#endif /* MISSION_SYSTEM_DEFINITIONS_H_ */