create and schedule CFDP components

This commit is contained in:
Robin Müller 2022-09-08 17:39:16 +02:00
parent a36d951209
commit 0818366217
No known key found for this signature in database
GPG Key ID: 71B58F8A3CDFA9AC
3 changed files with 13 additions and 2 deletions

View File

@ -18,6 +18,7 @@
//! Add core components for the FSFW and for TMTC communication
#define OBSW_ADD_CORE_COMPONENTS 1
#define OBSW_ADD_CFDP_COMPONENTS 1
//! Add the PUS service stack
#define OBSW_ADD_PUS_STACK 1

View File

@ -6,10 +6,12 @@
#include "example/test/FsfwReaderTask.h"
#include "example/utility/TmFunnel.h"
#include "fsfw/FSFW.h"
#include "fsfw/cfdp/CfdpDistributor.h"
#include "fsfw/devicehandlers/CookieIF.h"
#include "fsfw/events/EventManager.h"
#include "fsfw/health/HealthTable.h"
#include "fsfw/internalerror/InternalErrorReporter.h"
#include "fsfw/ipc/QueueFactory.h"
#include "fsfw/pus/CService200ModeCommanding.h"
#include "fsfw/pus/Service11TelecommandScheduling.h"
#include "fsfw/pus/Service17Test.h"
@ -34,7 +36,7 @@
#include "objects/systemObjectList.h"
#include "tmtc/apid.h"
void ObjectFactory::produceGenericObjects(TmFunnel **tmFunnel) {
void ObjectFactory::produceGenericObjects(TmFunnel **tmFunnel, StorageManagerIF &tcStore) {
#if OBSW_ADD_CORE_COMPONENTS == 1
/* Framework objects */
new EventManager(objects::EVENT_MANAGER);
@ -72,6 +74,12 @@ void ObjectFactory::produceGenericObjects(TmFunnel **tmFunnel) {
pus::PUS_SERVICE_200);
#endif /* OBSW_ADD_PUS_STACK == 1 */
#if OBSW_ADD_CFDP_COMPONENTS == 1
MessageQueueIF *cfdpMsgQueue = QueueFactory::instance()->createMessageQueue(5);
CfdpDistribCfg cfg(objects::CFDP_DISTRIBUTOR, tcStore, cfdpMsgQueue);
new CfdpDistributor(cfg);
#endif
#if OBSW_ADD_TASK_EXAMPLE == 1
/* Demo objects */
new FsfwExampleTask(objects::TEST_DUMMY_1);

View File

@ -3,6 +3,8 @@
#include <fsfw/objectmanager/SystemObjectIF.h>
#include "fsfw/storagemanager/StorageManagerIF.h"
class TmFunnel;
namespace ObjectFactory {
@ -11,7 +13,7 @@ namespace ObjectFactory {
* @brief Produce hardware independant objects. Called by bsp specific
* object factory.
*/
void produceGenericObjects(TmFunnel** funnel);
void produceGenericObjects(TmFunnel** funnel, StorageManagerIF& tcStore);
} // namespace ObjectFactory