eive-obsw/bsp_q7s/core/ObjectFactory.h

42 lines
1.4 KiB
C
Raw Normal View History

2020-12-29 13:59:31 +01:00
#ifndef BSP_Q7S_OBJECTFACTORY_H_
#define BSP_Q7S_OBJECTFACTORY_H_
2022-04-28 18:38:38 +02:00
#include <fsfw/returnvalues/HasReturnvaluesIF.h>
#include <string>
2021-07-19 12:44:43 +02:00
class LinuxLibgpioIF;
2021-08-17 17:11:59 +02:00
class UartComIF;
2021-08-17 19:50:48 +02:00
class SpiComIF;
2022-02-02 17:36:40 +01:00
class I2cComIF;
2022-03-04 16:03:57 +01:00
class PowerSwitchIF;
2022-04-01 14:13:37 +02:00
class AcsBoardAssembly;
2021-07-19 12:44:43 +02:00
2020-12-29 13:59:31 +01:00
namespace ObjectFactory {
2021-07-19 12:44:43 +02:00
2021-02-14 14:59:43 +01:00
void setStatics();
2021-06-08 16:45:25 +02:00
void produce(void* args);
2021-07-19 12:44:43 +02:00
2021-08-17 19:50:48 +02:00
void createCommunicationInterfaces(LinuxLibgpioIF** gpioComIF, UartComIF** uartComIF,
2022-02-02 17:36:40 +01:00
SpiComIF** spiComIF, I2cComIF** i2cComIF);
2022-03-04 16:03:57 +01:00
void createPcduComponents(LinuxLibgpioIF* gpioComIF, PowerSwitchIF** pwrSwitcher);
void createPlPcduComponents(LinuxLibgpioIF* gpioComIF, SpiComIF* spiComIF,
PowerSwitchIF* pwrSwitcher);
2021-07-19 12:44:43 +02:00
void createTmpComponents();
void createRadSensorComponent(LinuxLibgpioIF* gpioComIF);
2022-03-04 16:03:57 +01:00
void createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, UartComIF* uartComIF,
PowerSwitchIF* pwrSwitcher);
2021-07-19 12:44:43 +02:00
void createHeaterComponents();
void createSolarArrayDeploymentComponents();
2022-04-14 11:17:07 +02:00
void createSyrlinksComponents(PowerSwitchIF* pwrSwitcher);
2022-03-28 09:08:11 +02:00
void createPayloadComponents(LinuxLibgpioIF* gpioComIF);
2021-07-19 12:44:43 +02:00
void createReactionWheelComponents(LinuxLibgpioIF* gpioComIF);
2022-01-18 11:41:19 +01:00
void createCcsdsComponents(LinuxLibgpioIF* gpioComIF);
2021-09-13 18:07:07 +02:00
void createTestComponents(LinuxLibgpioIF* gpioComIF);
2021-07-19 12:44:43 +02:00
2022-04-01 14:13:37 +02:00
void testAcsBrdAss(AcsBoardAssembly* assAss);
2022-01-18 11:41:19 +01:00
}; // namespace ObjectFactory
2020-12-29 13:59:31 +01:00
#endif /* BSP_Q7S_OBJECTFACTORY_H_ */