eive-obsw/bsp_q7s/core/obsw.cpp

48 lines
1.5 KiB
C++
Raw Normal View History

2021-06-30 15:18:41 +02:00
#include "obsw.h"
2021-07-24 13:47:09 +02:00
2021-07-29 16:31:04 +02:00
#include <filesystem>
2022-01-17 15:58:27 +01:00
#include <iostream>
#include "InitMission.h"
#include "OBSWConfig.h"
#include "OBSWVersion.h"
#include "fsfw/tasks/TaskFactory.h"
2022-03-08 10:17:24 +01:00
#include "fsfw/version.h"
2022-01-17 15:58:27 +01:00
#include "watchdogConf.h"
2021-07-29 16:31:04 +02:00
static int OBSW_ALREADY_RUNNING = -2;
2021-06-30 15:18:41 +02:00
int obsw::obsw() {
2022-03-08 10:17:24 +01:00
fsfw::Version version;
fsfw::getVersion(version);
2022-01-17 15:58:27 +01:00
std::cout << "-- EIVE OBSW --" << std::endl;
2021-07-19 12:44:43 +02:00
#if BOARD_TE0720 == 0
2022-01-17 15:58:27 +01:00
std::cout << "-- Compiled for Linux (Xiphos Q7S) --" << std::endl;
2021-06-30 15:18:41 +02:00
#else
2022-01-17 15:58:27 +01:00
std::cout << "-- Compiled for Linux (TE0720) --" << std::endl;
2021-06-30 15:18:41 +02:00
#endif
2022-01-17 15:58:27 +01:00
std::cout << "-- OBSW v" << SW_VERSION << "." << SW_SUBVERSION << "." << SW_REVISION << ", FSFW v"
2022-03-08 10:17:24 +01:00
<< version.major << "." << version.minor << "." << version.revision << "--"
<< std::endl;
2022-01-17 15:58:27 +01:00
std::cout << "-- " << __DATE__ << " " << __TIME__ << " --" << std::endl;
2021-06-30 15:18:41 +02:00
2021-07-29 13:07:07 +02:00
#if Q7S_CHECK_FOR_ALREADY_RUNNING_IMG == 1
2022-01-17 15:58:27 +01:00
// 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. Check if obsw systemd service has been stopped."
2022-01-17 15:58:27 +01:00
<< std::endl;
return OBSW_ALREADY_RUNNING;
}
2021-07-29 13:07:07 +02:00
#endif
2022-01-17 15:58:27 +01:00
initmission::initMission();
2021-06-30 15:18:41 +02:00
2022-01-17 15:58:27 +01:00
for (;;) {
/* Suspend main thread by sleeping it. */
TaskFactory::delayTask(5000);
}
return 0;
2021-06-30 15:18:41 +02:00
}