2020-11-20 18:10:39 +01:00
|
|
|
#include "ObjectFactory.h"
|
2021-07-26 13:51:00 +02: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-07-26 13:51:00 +02:00
|
|
|
#if OBSW_USE_TMTC_TCP_BRIDGE == 0
|
|
|
|
#include "fsfw/osal/common/UdpTcPollingTask.h"
|
|
|
|
#include "fsfw/osal/common/UdpTmTcBridge.h"
|
|
|
|
#else
|
|
|
|
#include "fsfw/osal/common/TcpTmTcBridge.h"
|
|
|
|
#include "fsfw/osal/common/TcpTmTcServer.h"
|
|
|
|
#endif
|
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 13:51:00 +02:00
|
|
|
#if OBSW_USE_TMTC_TCP_BRIDGE == 0
|
|
|
|
sif::info << "Setting up UDP TMTC bridge with listener port " <<
|
2021-08-09 18:26:34 +02:00
|
|
|
UdpTmTcBridge::DEFAULT_SERVER_PORT << std::endl;
|
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);
|
2021-07-26 13:51:00 +02:00
|
|
|
#else
|
|
|
|
sif::info << "Setting up TCP TMTC bridge with listener port " <<
|
2021-08-09 18:26:34 +02:00
|
|
|
TcpTmTcServer::DEFAULT_SERVER_PORT << std::endl;
|
2021-07-26 13:51:00 +02:00
|
|
|
new TcpTmTcBridge(objects::TMTC_BRIDGE, objects::CCSDS_PACKET_DISTRIBUTOR);
|
|
|
|
new TcpTmTcServer(objects::TMTC_POLLING_TASK, objects::TMTC_BRIDGE);
|
|
|
|
#endif
|
2020-11-20 18:10:39 +01:00
|
|
|
|
2021-07-26 14:00:15 +02:00
|
|
|
new TestTask(objects::TEST_TASK);
|
|
|
|
|
2020-11-20 18:10:39 +01:00
|
|
|
}
|