#include "ObjectFactory.h" #include <objects/systemObjectList.h> #include <OBSWConfig.h> #include <tmtc/apid.h> #include <tmtc/pusIds.h> #include <fsfw/tmtcservices/CommandingServiceBase.h> #include <fsfw/tmtcservices/PusServiceBase.h> #include <mission/core/GenericFactory.h> #include <mission/utility/TmFunnel.h> #ifdef LINUX #include <fsfw/osal/linux/TcUnixUdpPollingTask.h> #include <fsfw/osal/linux/TmTcUnixUdpBridge.h> #elif WIN32 #include <fsfw/osal/windows/TcWinUdpPollingTask.h> #include <fsfw/osal/windows/TmTcWinUdpBridge.h> #endif #include <fsfw/tmtcpacket/pus/TmPacketStored.h> #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; TmFunnel::downlinkDestination = objects::UDP_BRIDGE; // No storage object for now. TmFunnel::storageDestination = objects::NO_OBJECT; VerificationReporter::messageReceiver = objects::PUS_SERVICE_1_VERIFICATION; TmPacketStored::timeStamperId = objects::TIME_STAMPER; } void ObjectFactory::produce(){ Factory::setStaticFrameworkObjectIds(); ObjectFactory::produceGenericObjects(); #ifdef LINUX new TmTcUnixUdpBridge(objects::UDP_BRIDGE, objects::CCSDS_PACKET_DISTRIBUTOR, objects::TM_STORE, objects::TC_STORE); new TcUnixUdpPollingTask(objects::UDP_POLLING_TASK, objects::UDP_BRIDGE); #elif WIN32 new TmTcWinUdpBridge(objects::UDP_BRIDGE, objects::CCSDS_PACKET_DISTRIBUTOR, objects::TM_STORE, objects::TC_STORE); new TcWinUdpPollingTask(objects::UDP_POLLING_TASK, objects::UDP_BRIDGE); #endif }