62 lines
1.9 KiB
C++
62 lines
1.9 KiB
C++
|
#include "ObjectFactory.h"
|
||
|
|
||
|
#include <fsfwconfig/objects/systemObjectList.h>
|
||
|
#include <fsfwconfig/OBSWConfig.h>
|
||
|
#include <fsfwconfig/tmtc/apid.h>
|
||
|
#include <fsfwconfig/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
|
||
|
|
||
|
}
|