Merge branch 'mueller/master' of https://egit.irs.uni-stuttgart.de/fsfw/fsfw into mueller/master

This commit is contained in:
Robin Müller 2021-01-01 18:03:40 +01:00
commit 3ea763bf34
7 changed files with 28 additions and 35 deletions

View File

@ -1,13 +1,14 @@
target_sources(${TARGET_NAME}
PRIVATE
target_sources(${LIB_FSFW_NAME} PRIVATE
ipc/missionMessageTypes.cpp
objects/FsfwFactory.cpp
pollingsequence/PollingSequenceFactory.cpp
)
# Add include paths for the executable
target_include_directories(${TARGET_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
# Should be added to include path
target_include_directories(${TARGET_NAME} PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
)
if(NOT DEFINED FSFW_CONFIG_DIRECTORY)
set(FSFW_CONFIG_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
endif()
endif()

View File

@ -1,5 +0,0 @@
#include "logicalAddresses.h"

View File

@ -2,7 +2,7 @@
#define CONFIG_DEVICES_LOGICALADDRESSES_H_
#include <fsfw/devicehandlers/CookieIF.h>
#include "../objects/systemObjectList.h"
#include <objects/systemObjectList.h>
#include <cstdint>
/**

View File

@ -1,4 +0,0 @@
#include "powerSwitcherList.h"

View File

@ -1,9 +1,5 @@
#include "Factory.h"
#include "../tmtc/apid.h"
#include "../tmtc/pusIds.h"
#include "../objects/systemObjectList.h"
#include "../devices/logicalAddresses.h"
#include "../devices/powerSwitcherList.h"
#include "FsfwFactory.h"
#include <OBSWConfig.h>
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include <fsfw/events/EventManager.h>
@ -11,24 +7,27 @@
#include <fsfw/tmtcpacket/pus/TmPacketStored.h>
#include <fsfw/tmtcservices/CommandingServiceBase.h>
#include <fsfw/tmtcservices/PusServiceBase.h>
#include <internalError/InternalErrorReporter.h>
#include <fsfw/internalError/InternalErrorReporter.h>
#include <cstdint>
/**
* This class should be used to create all system objects required for
* the on-board software, using the object ID list from the configuration
* folder.
* This function builds all system objects required for using
* the FSFW. It is recommended to build all other required objects
* in a function with an identical prototype, call this function in it and
* then pass the function to the object manager so it builds all system
* objects on software startup.
*
* The objects are registered in the internal object manager automatically.
* This is used later to add objects to tasks.
* All system objects are registered in the internal object manager
* automatically. The objects should be added to tasks at a later stage, using
* their objects IDs.
*
* This file also sets static framework IDs.
* This function also sets static framework IDs.
*
* Framework objects are created first.
* Framework should be created first before creating mission system objects.
* @ingroup init
*/
void Factory::produce(void) {
void Factory::produceFsfwObjects(void) {
setStaticFrameworkObjectIds();
new EventManager(objects::EVENT_MANAGER);
new HealthTable(objects::HEALTH_TABLE);

View File

@ -9,7 +9,7 @@ namespace Factory {
* @brief Creates all SystemObject elements which are persistent
* during execution.
*/
void produce();
void produceFsfwObjects();
void setStaticFrameworkObjectIds();
}

View File

@ -682,8 +682,10 @@ void DeviceHandlerBase::doGetRead() {
replyRawData(receivedData, receivedDataLen, requestedRawTraffic);
}
if (mode == MODE_RAW and defaultRawReceiver != MessageQueueIF::NO_QUEUE) {
replyRawReplyIfnotWiretapped(receivedData, receivedDataLen);
if (mode == MODE_RAW) {
if (defaultRawReceiver != MessageQueueIF::NO_QUEUE) {
replyRawReplyIfnotWiretapped(receivedData, receivedDataLen);
}
}
else {
parseReply(receivedData, receivedDataLen);