eive-obsw/linux/ObjectFactory.h

39 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>
#include <mission/memory/SdCardMountedIF.h>
#include <mission/tmtc/CcsdsIpCoreHandler.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;
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
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-05-30 14:32:50 +02:00
void createThermalController();
2022-09-30 14:30:30 +02:00
AcsController* createAcsController(bool connectSubsystem);
2022-05-30 14:32:50 +02:00
void addTmtcIpCoresToFunnels(CcsdsIpCoreHandler& ipCoreHandler, PusTmFunnel& pusFunnel,
CfdpTmFunnel& cfdpFunnel);
2022-03-31 17:58:16 +02:00
} // namespace ObjectFactory