diff --git a/fsfw b/fsfw index 808e3e04..7e0a5d5a 160000 --- a/fsfw +++ b/fsfw @@ -1 +1 @@ -Subproject commit 808e3e0462999d7caa1b6834174140dbbeb8b01c +Subproject commit 7e0a5d5a9e4f38c6d818bbdd5b44d34d8007eb1e diff --git a/mission/devices/ScexDeviceHandler.cpp b/mission/devices/ScexDeviceHandler.cpp index 5dddec3e..d1f18138 100644 --- a/mission/devices/ScexDeviceHandler.cpp +++ b/mission/devices/ScexDeviceHandler.cpp @@ -6,7 +6,9 @@ #include #include #include +#include #include +#include #include "fsfw/globalfunctions/CRC.h" #include "mission/devices/devicedefinitions/ScexDefinitions.h" @@ -195,7 +197,7 @@ ReturnValue_t ScexDeviceHandler::interpretDeviceReply(DeviceCommandId_t id, cons fileId = date_time_string(); std::ostringstream oss; auto prefix = sdcMan.getCurrentMountPrefix(); - oss << prefix << "/scex-" << cmdName << fileId << ".bin"; + oss << prefix << "/scex/scex-" << cmdName << fileId << ".bin"; fileName = oss.str(); sif::info << "ScexDeviceHandler::interpretDeviceReply: FileName: " << fileName << std::endl; ofstream out(fileName, ofstream::binary); @@ -212,7 +214,7 @@ ReturnValue_t ScexDeviceHandler::interpretDeviceReply(DeviceCommandId_t id, cons fileId = date_time_string(); std::ostringstream oss; auto prefix = sdcMan.getCurrentMountPrefix(); - oss << prefix << "/scex-" << cmdName << fileId << ".bin"; + oss << prefix << "/scex/scex-" << cmdName << fileId << ".bin"; fileName = oss.str(); sif::info << "ScexDeviceHandler::interpretDeviceReply: FileName: " << fileName << std::endl; // TODO remove @@ -349,4 +351,18 @@ void ScexDeviceHandler::modeChanged() {} void ScexDeviceHandler::setPowerSwitcher(PowerSwitchIF& powerSwitcher, power::Switch_t switchId) { DeviceHandlerBase::setPowerSwitcher(&powerSwitcher); this->switchId = switchId; + +} + +ReturnValue_t ScexDeviceHandler::initializeAfterTaskCreation() { + // hier checken ob `/ordner` existiert und wenn nicht erstellen + auto mntPrefix = sdcMan.getCurrentMountPrefix(); + std::filesystem::path fullFilePath = mntPrefix; + fullFilePath /= "scex"; + bool fileExists = std::filesystem::exists(fullFilePath); + + if(not fileExists){ + std::filesystem::create_directory(fullFilePath); + } + return DeviceHandlerBase::initializeAfterTaskCreation(); } diff --git a/mission/devices/ScexDeviceHandler.h b/mission/devices/ScexDeviceHandler.h index 6cf2492b..92136781 100644 --- a/mission/devices/ScexDeviceHandler.h +++ b/mission/devices/ScexDeviceHandler.h @@ -57,6 +57,7 @@ class ScexDeviceHandler : public DeviceHandlerBase { ReturnValue_t initializeLocalDataPool(localpool::DataPool &localDataPoolMap, LocalDataPoolManager &poolManager) override; + ReturnValue_t initializeAfterTaskCreation() override; void modeChanged() override; }; diff --git a/tmtc b/tmtc index a7714747..6caf0624 160000 --- a/tmtc +++ b/tmtc @@ -1 +1 @@ -Subproject commit a7714747bc45dfa6a9ccb41cc6eb890b21ca0481 +Subproject commit 6caf06248b73f9328c9069d627a5b387a3ac14b3