#include <iostream>

#include "InitMission.h"
#include "OBSWConfig.h"
#include "OBSWVersion.h"
#include "fsfw/version.h"
#include "fsfw/tasks/TaskFactory.h"

/**
 * @brief 	    This is the main program entry point for the obsw running on the trenz electronic
 *              te0720-1cfa.
 * @return
 */
int main(void) {
  using namespace fsfw;
  std::cout << "-- EIVE OBSW --" << std::endl;
  std::cout << "-- Compiled for Trenz TE0720-1CFA"
            << " --" << std::endl;
  std::cout << "-- OBSW v" << SW_VERSION << "." << SW_SUBVERSION << "." << SW_REVISION << ", FSFW v"
              << FSFW_VERSION << "--" << std::endl;
  std::cout << "-- " << __DATE__ << " " << __TIME__ << " --" << std::endl;

  initmission::initMission();

  for (;;) {
    /* Suspend main thread by sleeping it. */
    TaskFactory::delayTask(5000);
  }
}