#include "obsw.h" #include "OBSWVersion.h" #include "OBSWConfig.h" #include "InitMission.h" #include "watchdogConf.h" #include "fsfw/tasks/TaskFactory.h" #include "fsfw/FSFWVersion.h" #include #include static int OBSW_ALREADY_RUNNING = -2; int obsw::obsw() { std::cout << "-- EIVE OBSW --" << std::endl; #if BOARD_TE0720 == 0 std::cout << "-- Compiled for Linux (Xiphos Q7S) --" << std::endl; #else std::cout << "-- Compiled for Linux (TE0720) --" << std::endl; #endif std::cout << "-- OBSW " << SW_NAME << " v" << SW_VERSION << "." << SW_SUBVERSION << "." << SW_REVISION << ", FSFW v" << FSFW_VERSION << "." << FSFW_SUBVERSION << "." << FSFW_REVISION << "--" << std::endl; std::cout << "-- " << __DATE__ << " " << __TIME__ << " --" << std::endl; #if Q7S_CHECK_FOR_ALREADY_RUNNING_IMG == 1 // Check special file here. This file is created or deleted by the eive-watchdog application // or systemd service! if(std::filesystem::exists(watchdog::RUNNING_FILE_NAME)) { sif::warning << "File " << watchdog::RUNNING_FILE_NAME << " exists so the software might " "already be running. Aborting.." << std::endl; return OBSW_ALREADY_RUNNING; } #endif initmission::initMission(); for(;;) { /* Suspend main thread by sleeping it. */ TaskFactory::delayTask(5000); } return 0; }