update FSFW and related version handling

This commit is contained in:
Robin Müller 2022-03-14 17:52:31 +01:00
parent e8ced3c4c4
commit 0063ce0ccd
No known key found for this signature in database
GPG Key ID: 11D4952C8CCEF814
5 changed files with 19 additions and 22 deletions

View File

@ -4,9 +4,9 @@
#include "OBSWConfig.h" #include "OBSWConfig.h"
#include "OBSWVersion.h" #include "OBSWVersion.h"
#include "fsfw/FSFWVersion.h"
#include "fsfw/serviceinterface/ServiceInterface.h" #include "fsfw/serviceinterface/ServiceInterface.h"
#include "fsfw/timemanager/Stopwatch.h" #include "fsfw/timemanager/Stopwatch.h"
#include "fsfw/version.h"
#include "watchdogConf.h" #include "watchdogConf.h"
#if OBSW_USE_TMTC_TCP_BRIDGE == 0 #if OBSW_USE_TMTC_TCP_BRIDGE == 0
#include "fsfw/osal/common/UdpTmTcBridge.h" #include "fsfw/osal/common/UdpTmTcBridge.h"
@ -72,10 +72,10 @@ ReturnValue_t CoreController::initializeLocalDataPool(localpool::DataPool &local
} }
LocalPoolDataSetBase *CoreController::getDataSetHandle(sid_t sid) { LocalPoolDataSetBase *CoreController::getDataSetHandle(sid_t sid) {
if (sid.ownerSetId == core::HK_SET_ID) { if (sid.ownerSetId == core::HK_SET_ID) {
return &hkSet; return &hkSet;
} }
return nullptr; return nullptr;
} }
ReturnValue_t CoreController::initialize() { ReturnValue_t CoreController::initialize() {
@ -618,6 +618,7 @@ ReturnValue_t CoreController::incrementAllocationFailureCount() {
} }
ReturnValue_t CoreController::initVersionFile() { ReturnValue_t CoreController::initVersionFile() {
using namespace fsfw;
std::string unameFileName = "/tmp/uname_version.txt"; std::string unameFileName = "/tmp/uname_version.txt";
// TODO: No -v flag for now. If the kernel version is used, need to cut off first few letters // TODO: No -v flag for now. If the kernel version is used, need to cut off first few letters
std::string unameCmd = "uname -mnrso > " + unameFileName; std::string unameCmd = "uname -mnrso > " + unameFileName;
@ -634,9 +635,9 @@ ReturnValue_t CoreController::initVersionFile() {
std::string fullObswVersionString = "OBSW: v" + std::to_string(SW_VERSION) + "." + std::string fullObswVersionString = "OBSW: v" + std::to_string(SW_VERSION) + "." +
std::to_string(SW_SUBVERSION) + "." + std::to_string(SW_SUBVERSION) + "." +
std::to_string(SW_REVISION); std::to_string(SW_REVISION);
std::string fullFsfwVersionString = "FSFW: v" + std::to_string(FSFW_VERSION) + "." + char versionString[16] = {};
std::to_string(FSFW_SUBVERSION) + "." + fsfw::FSFW_VERSION.getVersion(versionString, sizeof(versionString));
std::to_string(FSFW_REVISION); std::string fullFsfwVersionString = "FSFW: v" + std::string(versionString);
std::string systemString = "System: " + unameLine; std::string systemString = "System: " + unameLine;
std::string mountPrefix = SdCardManager::instance()->getCurrentMountPrefix(); std::string mountPrefix = SdCardManager::instance()->getCurrentMountPrefix();
std::string versionFilePath = mountPrefix + VERSION_FILE; std::string versionFilePath = mountPrefix + VERSION_FILE;

View File

@ -6,10 +6,10 @@
#include <cstddef> #include <cstddef>
#include "CoreDefinitions.h"
#include "bsp_q7s/memory/SdCardManager.h" #include "bsp_q7s/memory/SdCardManager.h"
#include "events/subsystemIdRanges.h" #include "events/subsystemIdRanges.h"
#include "fsfw/controller/ExtendedControllerBase.h" #include "fsfw/controller/ExtendedControllerBase.h"
#include "CoreDefinitions.h"
class Timer; class Timer;
class SdCardManager; class SdCardManager;

View File

@ -8,18 +8,13 @@ namespace core {
static const uint8_t HK_SET_ENTRIES = 3; static const uint8_t HK_SET_ENTRIES = 3;
static const uint32_t HK_SET_ID = 5; static const uint32_t HK_SET_ID = 5;
enum PoolIds { enum PoolIds { TEMPERATURE, PS_VOLTAGE, PL_VOLTAGE };
TEMPERATURE,
PS_VOLTAGE,
PL_VOLTAGE
};
/** /**
* @brief Set storing OBC internal housekeeping data * @brief Set storing OBC internal housekeeping data
*/ */
class HkSet : public StaticLocalDataSet<HK_SET_ENTRIES> { class HkSet : public StaticLocalDataSet<HK_SET_ENTRIES> {
public: public:
HkSet(HasLocalDataPoolIF* owner) : StaticLocalDataSet(owner, HK_SET_ID) {} HkSet(HasLocalDataPoolIF* owner) : StaticLocalDataSet(owner, HK_SET_ID) {}
HkSet(object_id_t objectId) : StaticLocalDataSet(sid_t(objectId, HK_SET_ID)) {} HkSet(object_id_t objectId) : StaticLocalDataSet(sid_t(objectId, HK_SET_ID)) {}
@ -32,13 +27,13 @@ class HkSet : public StaticLocalDataSet<HK_SET_ENTRIES> {
lp_var_t<float> plVoltage = lp_var_t<float>(sid.objectId, PoolIds::PL_VOLTAGE, this); lp_var_t<float> plVoltage = lp_var_t<float>(sid.objectId, PoolIds::PL_VOLTAGE, this);
void printSet() { void printSet() {
sif::info << "HkSet::printSet: On-chip temperature: " << this->temperature sif::info << "HkSet::printSet: On-chip temperature: " << this->temperature << " °C"
<< " °C" << std::endl; << std::endl;
sif::info << "HkSet::printSet: PS voltage: " << this->psVoltage << " mV" << std::endl; sif::info << "HkSet::printSet: PS voltage: " << this->psVoltage << " mV" << std::endl;
sif::info << "HkSet::printSet: PL voltage: " << this->plVoltage << " mV" << std::endl; sif::info << "HkSet::printSet: PL voltage: " << this->plVoltage << " mV" << std::endl;
} }
}; };
} } // namespace core
#endif /* BSP_Q7S_CORE_COREDEFINITIONS_H_ */ #endif /* BSP_Q7S_CORE_COREDEFINITIONS_H_ */

View File

@ -5,6 +5,7 @@ class LinuxLibgpioIF;
class UartComIF; class UartComIF;
class SpiComIF; class SpiComIF;
class I2cComIF; class I2cComIF;
class PowerSwitchIF;
namespace ObjectFactory { namespace ObjectFactory {
@ -13,13 +14,13 @@ void produce(void* args);
void createCommunicationInterfaces(LinuxLibgpioIF** gpioComIF, UartComIF** uartComIF, void createCommunicationInterfaces(LinuxLibgpioIF** gpioComIF, UartComIF** uartComIF,
SpiComIF** spiComIF, I2cComIF** i2cComIF); SpiComIF** spiComIF, I2cComIF** i2cComIF);
void createPcduComponents(LinuxLibgpioIF* gpioComIF, PowerSwitchIF** pwrSwitcher);
void createPlPcduComponents(LinuxLibgpioIF* gpioComIF, SpiComIF* spiComIF); void createPlPcduComponents(LinuxLibgpioIF* gpioComIF, SpiComIF* spiComIF);
void createTmpComponents(); void createTmpComponents();
void createPcduComponents(LinuxLibgpioIF* gpioComIF);
void createRadSensorComponent(LinuxLibgpioIF* gpioComIF); void createRadSensorComponent(LinuxLibgpioIF* gpioComIF);
void createSunSensorComponents(LinuxLibgpioIF* gpioComIF, SpiComIF* spiComIF); void createSunSensorComponents(LinuxLibgpioIF* gpioComIF, SpiComIF* spiComIF);
void createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, UartComIF* uartComIF); void createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, UartComIF* uartComIF,
PowerSwitchIF* pwrSwitcher);
void createHeaterComponents(); void createHeaterComponents();
void createSolarArrayDeploymentComponents(); void createSolarArrayDeploymentComponents();
void createSyrlinksComponents(); void createSyrlinksComponents();

2
fsfw

@ -1 +1 @@
Subproject commit 47d158156b9efa0edbca9b3a1694f4132b0b30e5 Subproject commit 5ca5fe4040189ff8bc6553a9febdb6ffdeb73fe3