eive-obsw/bsp_hosted/ObjectFactory.cpp

47 lines
1.4 KiB
C++
Raw Normal View History

2020-11-20 18:10:39 +01:00
#include "ObjectFactory.h"
2020-11-20 18:27:07 +01:00
#include <OBSWConfig.h>
2020-12-14 13:03:47 +01:00
#include <objects/systemObjectList.h>
2020-11-20 18:27:07 +01:00
#include <tmtc/apid.h>
#include <tmtc/pusIds.h>
2020-11-20 18:10:39 +01:00
#include <fsfw/tmtcservices/CommandingServiceBase.h>
#include <fsfw/tmtcservices/PusServiceBase.h>
#include <mission/core/GenericFactory.h>
#include <mission/utility/TmFunnel.h>
2021-04-01 10:37:34 +02:00
#include <fsfw/osal/common/UdpTcPollingTask.h>
#include <fsfw/osal/common/UdpTmTcBridge.h>
2020-11-20 18:10:39 +01:00
2021-06-21 17:09:49 +02:00
#include <fsfw/tmtcpacket/pus/tm.h>
2020-11-20 18:10:39 +01:00
#if OBSW_ADD_TEST_CODE == 1
#include <test/testtasks/TestTask.h>
#endif
void Factory::setStaticFrameworkObjectIds(){
PusServiceBase::packetSource = objects::PUS_PACKET_DISTRIBUTOR;
PusServiceBase::packetDestination = objects::TM_FUNNEL;
CommandingServiceBase::defaultPacketSource = objects::PUS_PACKET_DISTRIBUTOR;
CommandingServiceBase::defaultPacketDestination = objects::TM_FUNNEL;
2021-07-26 11:33:38 +02:00
TmFunnel::downlinkDestination = objects::TMTC_BRIDGE;
2020-11-20 18:10:39 +01:00
// No storage object for now.
TmFunnel::storageDestination = objects::NO_OBJECT;
VerificationReporter::messageReceiver = objects::PUS_SERVICE_1_VERIFICATION;
2021-05-17 16:10:53 +02:00
TmPacketBase::timeStamperId = objects::TIME_STAMPER;
2020-11-20 18:10:39 +01:00
}
2021-06-08 16:45:25 +02:00
void ObjectFactory::produce(void* args){
2020-11-20 18:10:39 +01:00
Factory::setStaticFrameworkObjectIds();
ObjectFactory::produceGenericObjects();
2021-07-26 11:33:38 +02:00
new UdpTmTcBridge(objects::TMTC_BRIDGE, objects::CCSDS_PACKET_DISTRIBUTOR);
new UdpTcPollingTask(objects::TMTC_POLLING_TASK, objects::TMTC_BRIDGE);
2020-11-20 18:10:39 +01:00
}