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>
|
2023-03-24 19:37:03 +01:00
|
|
|
#include <mission/com/CcsdsIpCoreHandler.h>
|
2023-03-24 19:49:08 +01:00
|
|
|
#include <mission/memory/SdCardMountedIF.h>
|
2023-03-26 16:42:00 +02:00
|
|
|
#include <mission/tcs/HeaterHandler.h>
|
2022-11-02 10:26:45 +01:00
|
|
|
#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
|
|
|
|
|
|
|
class GpioIF;
|
|
|
|
class SpiComIF;
|
|
|
|
class PowerSwitchIF;
|
2022-09-29 19:40:00 +02:00
|
|
|
class AcsController;
|
2023-06-07 14:30:58 +02:00
|
|
|
class PowerController;
|
2022-03-26 16:38:42 +01:00
|
|
|
|
|
|
|
namespace ObjectFactory {
|
|
|
|
|
2023-02-13 11:49:26 +01:00
|
|
|
void createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiComIF, PowerSwitchIF& pwrSwitcher,
|
2023-01-19 11:39:59 +01:00
|
|
|
std::string spiDev, bool swap0And6);
|
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);
|
|
|
|
|
2023-11-29 16:59:03 +01:00
|
|
|
AcsController* createAcsController(bool connectSubsystem, bool enableHkSets,
|
|
|
|
SdCardMountedIF& mountedIF);
|
2023-09-28 12:00:04 +02:00
|
|
|
PowerController* createPowerController(bool connectSubsystem, bool enableHkSets);
|
2022-05-30 14:32:50 +02:00
|
|
|
|
2022-03-31 17:58:16 +02:00
|
|
|
} // namespace ObjectFactory
|