54 lines
2.0 KiB
C++
54 lines
2.0 KiB
C++
#include "ObjectFactory.h"
|
|
|
|
#include <devConf.h>
|
|
#include <mission/devices/GPSHyperionHandler.h>
|
|
|
|
#include "OBSWConfig.h"
|
|
#include "fsfw/datapoollocal/LocalDataPoolManager.h"
|
|
#include "fsfw/tmtcpacket/pus/tm.h"
|
|
#include "fsfw/tmtcservices/CommandingServiceBase.h"
|
|
#include "fsfw/tmtcservices/PusServiceBase.h"
|
|
#include "mission/core/GenericFactory.h"
|
|
#include "mission/utility/TmFunnel.h"
|
|
#include "objects/systemObjectList.h"
|
|
#include "tmtc/apid.h"
|
|
#include "tmtc/pusIds.h"
|
|
#include "linux/devices/devicedefinitions/StarTrackerDefinitions.h"
|
|
#include "linux/devices/startracker/StarTrackerHandler.h"
|
|
|
|
#include <fsfw/src/fsfw/osal/common/TcpTmTcBridge.h>
|
|
#include <fsfw/src/fsfw/osal/common/TcpTmTcServer.h>
|
|
|
|
#include <fsfw_hal/linux/uart/UartComIF.h>
|
|
#include <fsfw_hal/linux/uart/UartCookie.h>
|
|
|
|
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::TMTC_BRIDGE;
|
|
// No storage object for now.
|
|
TmFunnel::storageDestination = objects::NO_OBJECT;
|
|
|
|
VerificationReporter::messageReceiver = objects::PUS_SERVICE_1_VERIFICATION;
|
|
TmPacketBase::timeStamperId = objects::TIME_STAMPER;
|
|
}
|
|
|
|
void ObjectFactory::produce(void* args) {
|
|
Factory::setStaticFrameworkObjectIds();
|
|
ObjectFactory::produceGenericObjects();
|
|
|
|
UartCookie* starTrackerCookie =
|
|
new UartCookie(objects::STAR_TRACKER, "/dev/serial0", UartModes::NON_CANONICAL,
|
|
uart::STAR_TRACKER_BAUD, StarTracker::MAX_FRAME_SIZE * 2 + 2);
|
|
new UartComIF(objects::UART_COM_IF);
|
|
starTrackerCookie->setNoFixedSizeReply();
|
|
StrHelper* strHelper = new StrHelper(objects::STR_HELPER);
|
|
StarTrackerHandler* starTrackerHandler = new StarTrackerHandler(
|
|
objects::STAR_TRACKER, objects::UART_COM_IF, starTrackerCookie, strHelper);
|
|
starTrackerHandler->setStartUpImmediately();
|
|
}
|