39 lines
1.2 KiB
C++
39 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <fsfw/power/definitions.h>
|
|
#include <fsfw/returnvalues/returnvalue.h>
|
|
#include <fsfw_hal/linux/gpio/LinuxLibgpioIF.h>
|
|
#include <mission/memory/SdCardMountedIF.h>
|
|
#include <mission/tmtc/CcsdsIpCoreHandler.h>
|
|
#include <mission/tmtc/CfdpTmFunnel.h>
|
|
#include <mission/tmtc/PusTmFunnel.h>
|
|
|
|
#include <optional>
|
|
#include <string>
|
|
|
|
class GpioIF;
|
|
class SpiComIF;
|
|
class PowerSwitchIF;
|
|
class AcsController;
|
|
|
|
namespace ObjectFactory {
|
|
|
|
void createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiComIF, PowerSwitchIF* pwrSwitcher,
|
|
std::string spiDev);
|
|
void createRtdComponents(std::string spiDev, GpioIF* gpioComIF, PowerSwitchIF* pwrSwitcher,
|
|
SpiComIF* comIF);
|
|
|
|
void createScexComponents(std::string uartDev, PowerSwitchIF* pwrSwitcher,
|
|
SdCardMountedIF& mountedIF, bool onImmediately,
|
|
std::optional<power::Switch_t> switchId);
|
|
|
|
void gpioChecker(ReturnValue_t result, std::string output);
|
|
|
|
void createThermalController();
|
|
AcsController* createAcsController(bool connectSubsystem);
|
|
|
|
void addTmtcIpCoresToFunnels(CcsdsIpCoreHandler& ipCoreHandler, PusTmFunnel& pusFunnel,
|
|
CfdpTmFunnel& cfdpFunnel);
|
|
|
|
} // namespace ObjectFactory
|