eive-obsw/linux/ObjectFactory.h

38 lines
1.2 KiB
C
Raw Normal View History

2022-03-26 16:38:42 +01:00
#pragma once
#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>
#include <mission/tmtc/CfdpTmFunnel.h>
#include <mission/tmtc/PusTmFunnel.h>
2022-04-28 18:38:38 +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
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-03-26 15:28:00 +02:00
AcsController* createAcsController(bool connectSubsystem, bool enableHkSets);
2023-06-07 14:30:58 +02:00
PowerController* createPowerController(bool enableHkSets);
2022-05-30 14:32:50 +02:00
2022-03-31 17:58:16 +02:00
} // namespace ObjectFactory