2022-03-26 16:38:42 +01:00
|
|
|
#pragma once
|
|
|
|
|
2022-09-27 17:36:19 +02:00
|
|
|
#include <fsfw/power/definitions.h>
|
2022-08-24 17:27:47 +02:00
|
|
|
#include <fsfw/returnvalues/returnvalue.h>
|
2022-08-15 09:58:18 +02:00
|
|
|
#include <fsfw_hal/linux/gpio/LinuxLibgpioIF.h>
|
2022-09-27 17:36:19 +02:00
|
|
|
#include <mission/memory/SdCardMountedIF.h>
|
2022-11-02 10:26:45 +01:00
|
|
|
#include <mission/tmtc/CcsdsIpCoreHandler.h>
|
|
|
|
#include <mission/tmtc/CfdpTmFunnel.h>
|
|
|
|
#include <mission/tmtc/PusTmFunnel.h>
|
2022-04-28 18:38:38 +02:00
|
|
|
|
2022-09-27 17:36:19 +02:00
|
|
|
#include <optional>
|
2022-09-27 18:54:48 +02:00
|
|
|
#include <string>
|
2022-03-26 16:38:42 +01:00
|
|
|
|
2022-11-24 19:41:57 +01:00
|
|
|
#include "mission/devices/HeaterHandler.h"
|
|
|
|
|
2022-03-26 16:38:42 +01:00
|
|
|
class GpioIF;
|
|
|
|
class SpiComIF;
|
|
|
|
class PowerSwitchIF;
|
2022-09-29 19:40:00 +02:00
|
|
|
class AcsController;
|
2022-03-26 16:38:42 +01:00
|
|
|
|
|
|
|
namespace ObjectFactory {
|
|
|
|
|
|
|
|
void createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiComIF, PowerSwitchIF* pwrSwitcher,
|
|
|
|
std::string spiDev);
|
2022-05-12 12:21:47 +02:00
|
|
|
void createRtdComponents(std::string spiDev, GpioIF* gpioComIF, PowerSwitchIF* pwrSwitcher,
|
|
|
|
SpiComIF* comIF);
|
2022-03-26 16:38:42 +01:00
|
|
|
|
2022-09-27 17:36:19 +02:00
|
|
|
void createScexComponents(std::string uartDev, PowerSwitchIF* pwrSwitcher,
|
|
|
|
SdCardMountedIF& mountedIF, bool onImmediately,
|
2022-09-27 18:54:48 +02:00
|
|
|
std::optional<power::Switch_t> switchId);
|
2022-05-26 12:04:27 +02:00
|
|
|
|
2022-04-28 18:38:38 +02:00
|
|
|
void gpioChecker(ReturnValue_t result, std::string output);
|
|
|
|
|
2022-09-30 14:30:30 +02:00
|
|
|
AcsController* createAcsController(bool connectSubsystem);
|
2022-05-30 14:32:50 +02:00
|
|
|
|
2022-11-02 10:26:45 +01:00
|
|
|
void addTmtcIpCoresToFunnels(CcsdsIpCoreHandler& ipCoreHandler, PusTmFunnel& pusFunnel,
|
|
|
|
CfdpTmFunnel& cfdpFunnel);
|
|
|
|
|
2022-03-31 17:58:16 +02:00
|
|
|
} // namespace ObjectFactory
|