start adding assy components for EM
This commit is contained in:
parent
b5e096abcb
commit
59a0a74032
@ -692,33 +692,24 @@ void ObjectFactory::createReactionWheelComponents(LinuxLibgpioIF* gpioComIF,
|
|||||||
std::array<object_id_t, 4> rwIds = {objects::RW1, objects::RW2, objects::RW3, objects::RW4};
|
std::array<object_id_t, 4> rwIds = {objects::RW1, objects::RW2, objects::RW3, objects::RW4};
|
||||||
std::array<gpioId_t, 4> rwGpioIds = {gpioIds::EN_RW1, gpioIds::EN_RW2, gpioIds::EN_RW3,
|
std::array<gpioId_t, 4> rwGpioIds = {gpioIds::EN_RW1, gpioIds::EN_RW2, gpioIds::EN_RW3,
|
||||||
gpioIds::EN_RW4};
|
gpioIds::EN_RW4};
|
||||||
std::array<RwHandler*, 4> rws = {};
|
std::array<DeviceHandlerBase*, 4> rws = {};
|
||||||
for (uint8_t idx = 0; idx < rwCookies.size(); idx++) {
|
for (uint8_t idx = 0; idx < rwCookies.size(); idx++) {
|
||||||
rwCookies[idx] = new SpiCookie(rwCookieParams[idx].first, rwCookieParams[idx].second,
|
rwCookies[idx] = new SpiCookie(rwCookieParams[idx].first, rwCookieParams[idx].second,
|
||||||
RwDefinitions::MAX_REPLY_SIZE, spi::RW_MODE, spi::RW_SPEED,
|
RwDefinitions::MAX_REPLY_SIZE, spi::RW_MODE, spi::RW_SPEED,
|
||||||
&rwSpiCallback::spiCallback, nullptr);
|
&rwSpiCallback::spiCallback, nullptr);
|
||||||
rws[idx] = new RwHandler(rwIds[idx], objects::SPI_RW_COM_IF, rwCookies[idx], gpioComIF,
|
auto* rwHandler = new RwHandler(rwIds[idx], objects::SPI_RW_COM_IF, rwCookies[idx], gpioComIF,
|
||||||
rwGpioIds[idx]);
|
rwGpioIds[idx]);
|
||||||
rwCookies[idx]->setCallbackArgs(rws[idx]);
|
rwCookies[idx]->setCallbackArgs(rws[idx]);
|
||||||
#if OBSW_TEST_RW == 1
|
#if OBSW_TEST_RW == 1
|
||||||
rws[idx]->setStartUpImmediately();
|
rws[idx]->setStartUpImmediately();
|
||||||
#endif
|
#endif
|
||||||
#if OBSW_DEBUG_RW == 1
|
#if OBSW_DEBUG_RW == 1
|
||||||
rws[idx]->setDebugMode(true);
|
rwHandler->setDebugMode(true);
|
||||||
#endif
|
#endif
|
||||||
|
rws[idx] = rwHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
RwHelper rwHelper(rwIds);
|
createRwAssy(*pwrSwitcher, pcdu::Switches::PDU2_CH2_RW_5V, rws, rwIds);
|
||||||
auto* rwAss =
|
|
||||||
new RwAssembly(objects::RW_ASS, pwrSwitcher, pcdu::Switches::PDU2_CH2_RW_5V, rwHelper);
|
|
||||||
for (uint8_t idx = 0; idx < rws.size(); idx++) {
|
|
||||||
ReturnValue_t result = rws[idx]->connectModeTreeParent(*rwAss);
|
|
||||||
if (result != returnvalue::OK) {
|
|
||||||
sif::error << "Connecting RW " << static_cast<int>(idx) << " to RW assembly failed"
|
|
||||||
<< std::endl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
rwAss->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
|
|
||||||
#endif /* OBSW_ADD_RW == 1 */
|
#endif /* OBSW_ADD_RW == 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ void ObjectFactory::produce(void* args) {
|
|||||||
createRadSensorComponent(gpioComIF, *stackHandler);
|
createRadSensorComponent(gpioComIF, *stackHandler);
|
||||||
#endif
|
#endif
|
||||||
#if OBSW_ADD_SUN_SENSORS == 1
|
#if OBSW_ADD_SUN_SENSORS == 1
|
||||||
createSunSensorComponents(gpioComIF, spiMainComIF, pwrSwitcher, q7s::SPI_DEFAULT_DEV, true);
|
createSunSensorComponents(gpioComIF, spiMainComIF, *pwrSwitcher, q7s::SPI_DEFAULT_DEV, true);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if OBSW_ADD_ACS_BOARD == 1
|
#if OBSW_ADD_ACS_BOARD == 1
|
||||||
|
@ -24,6 +24,8 @@
|
|||||||
#include "TemperatureSensorInserter.h"
|
#include "TemperatureSensorInserter.h"
|
||||||
#include "dummies/Max31865Dummy.h"
|
#include "dummies/Max31865Dummy.h"
|
||||||
#include "dummies/Tmp1075Dummy.h"
|
#include "dummies/Tmp1075Dummy.h"
|
||||||
|
#include "mission/core/GenericFactory.h"
|
||||||
|
#include "mission/devices/devicedefinitions/GomspaceDefinitions.h"
|
||||||
#include "mission/system/tree/acsModeTree.h"
|
#include "mission/system/tree/acsModeTree.h"
|
||||||
|
|
||||||
using namespace dummy;
|
using namespace dummy;
|
||||||
@ -38,10 +40,13 @@ void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitch) {
|
|||||||
if (cfg.addRtdComIFDummy) {
|
if (cfg.addRtdComIFDummy) {
|
||||||
new ComIFDummy(objects::SPI_RTD_COM_IF);
|
new ComIFDummy(objects::SPI_RTD_COM_IF);
|
||||||
}
|
}
|
||||||
new RwDummy(objects::RW1, objects::DUMMY_COM_IF, comCookieDummy);
|
std::array<object_id_t, 4> rwIds = {objects::RW1, objects::RW2, objects::RW3, objects::RW4};
|
||||||
new RwDummy(objects::RW2, objects::DUMMY_COM_IF, comCookieDummy);
|
std::array<DeviceHandlerBase*, 4> rws;
|
||||||
new RwDummy(objects::RW3, objects::DUMMY_COM_IF, comCookieDummy);
|
rws[0] = new RwDummy(objects::RW1, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
new RwDummy(objects::RW4, objects::DUMMY_COM_IF, comCookieDummy);
|
rws[1] = new RwDummy(objects::RW2, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
|
rws[2] = new RwDummy(objects::RW3, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
|
rws[3] = new RwDummy(objects::RW4, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
|
ObjectFactory::createRwAssy(pwrSwitch, pcdu::Switches::PDU2_CH2_RW_5V, rws, rwIds);
|
||||||
new SaDeplDummy(objects::SOLAR_ARRAY_DEPL_HANDLER);
|
new SaDeplDummy(objects::SOLAR_ARRAY_DEPL_HANDLER);
|
||||||
new StarTrackerDummy(objects::STAR_TRACKER, objects::DUMMY_COM_IF, comCookieDummy);
|
new StarTrackerDummy(objects::STAR_TRACKER, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
if (cfg.addSyrlinksDummies) {
|
if (cfg.addSyrlinksDummies) {
|
||||||
@ -70,18 +75,32 @@ void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitch) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (cfg.addSusDummies) {
|
if (cfg.addSusDummies) {
|
||||||
new SusDummy(objects::SUS_0_N_LOC_XFYFZM_PT_XF, objects::DUMMY_COM_IF, comCookieDummy);
|
std::array<DeviceHandlerBase*, 12> suses;
|
||||||
new SusDummy(objects::SUS_1_N_LOC_XBYFZM_PT_XB, objects::DUMMY_COM_IF, comCookieDummy);
|
suses[0] =
|
||||||
new SusDummy(objects::SUS_2_N_LOC_XFYBZB_PT_YB, objects::DUMMY_COM_IF, comCookieDummy);
|
new SusDummy(objects::SUS_0_N_LOC_XFYFZM_PT_XF, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
new SusDummy(objects::SUS_3_N_LOC_XFYBZF_PT_YF, objects::DUMMY_COM_IF, comCookieDummy);
|
suses[1] =
|
||||||
new SusDummy(objects::SUS_4_N_LOC_XMYFZF_PT_ZF, objects::DUMMY_COM_IF, comCookieDummy);
|
new SusDummy(objects::SUS_1_N_LOC_XBYFZM_PT_XB, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
new SusDummy(objects::SUS_5_N_LOC_XFYMZB_PT_ZB, objects::DUMMY_COM_IF, comCookieDummy);
|
suses[2] =
|
||||||
new SusDummy(objects::SUS_6_R_LOC_XFYBZM_PT_XF, objects::DUMMY_COM_IF, comCookieDummy);
|
new SusDummy(objects::SUS_2_N_LOC_XFYBZB_PT_YB, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
new SusDummy(objects::SUS_7_R_LOC_XBYBZM_PT_XB, objects::DUMMY_COM_IF, comCookieDummy);
|
suses[3] =
|
||||||
new SusDummy(objects::SUS_8_R_LOC_XBYBZB_PT_YB, objects::DUMMY_COM_IF, comCookieDummy);
|
new SusDummy(objects::SUS_3_N_LOC_XFYBZF_PT_YF, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
new SusDummy(objects::SUS_9_R_LOC_XBYBZB_PT_YF, objects::DUMMY_COM_IF, comCookieDummy);
|
suses[4] =
|
||||||
new SusDummy(objects::SUS_10_N_LOC_XMYBZF_PT_ZF, objects::DUMMY_COM_IF, comCookieDummy);
|
new SusDummy(objects::SUS_4_N_LOC_XMYFZF_PT_ZF, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
new SusDummy(objects::SUS_11_R_LOC_XBYMZB_PT_ZB, objects::DUMMY_COM_IF, comCookieDummy);
|
suses[5] =
|
||||||
|
new SusDummy(objects::SUS_5_N_LOC_XFYMZB_PT_ZB, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
|
suses[6] =
|
||||||
|
new SusDummy(objects::SUS_6_R_LOC_XFYBZM_PT_XF, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
|
suses[7] =
|
||||||
|
new SusDummy(objects::SUS_7_R_LOC_XBYBZM_PT_XB, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
|
suses[8] =
|
||||||
|
new SusDummy(objects::SUS_8_R_LOC_XBYBZB_PT_YB, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
|
suses[9] =
|
||||||
|
new SusDummy(objects::SUS_9_R_LOC_XBYBZB_PT_YF, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
|
suses[10] =
|
||||||
|
new SusDummy(objects::SUS_10_N_LOC_XMYBZF_PT_ZF, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
|
suses[11] =
|
||||||
|
new SusDummy(objects::SUS_11_R_LOC_XBYMZB_PT_ZB, objects::DUMMY_COM_IF, comCookieDummy);
|
||||||
|
ObjectFactory::createSusAssy(pwrSwitch, suses);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cfg.addTempSensorDummies) {
|
if (cfg.addTempSensorDummies) {
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
#include <linux/callbacks/gpioCallbacks.h>
|
#include <linux/callbacks/gpioCallbacks.h>
|
||||||
#include <linux/devices/Max31865RtdLowlevelHandler.h>
|
#include <linux/devices/Max31865RtdLowlevelHandler.h>
|
||||||
#include <mission/controller/AcsController.h>
|
#include <mission/controller/AcsController.h>
|
||||||
|
#include <mission/core/GenericFactory.h>
|
||||||
#include <mission/devices/Max31865EiveHandler.h>
|
#include <mission/devices/Max31865EiveHandler.h>
|
||||||
#include <mission/devices/ScexDeviceHandler.h>
|
#include <mission/devices/ScexDeviceHandler.h>
|
||||||
#include <mission/devices/SusHandler.h>
|
#include <mission/devices/SusHandler.h>
|
||||||
@ -29,7 +30,7 @@
|
|||||||
#include "mission/system/tree/tcsModeTree.h"
|
#include "mission/system/tree/tcsModeTree.h"
|
||||||
|
|
||||||
void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiComIF,
|
void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiComIF,
|
||||||
PowerSwitchIF* pwrSwitcher, std::string spiDev,
|
PowerSwitchIF& pwrSwitcher, std::string spiDev,
|
||||||
bool swap0And6) {
|
bool swap0And6) {
|
||||||
using namespace gpio;
|
using namespace gpio;
|
||||||
GpioCookie* gpioCookieSus = new GpioCookie();
|
GpioCookie* gpioCookieSus = new GpioCookie();
|
||||||
@ -173,22 +174,8 @@ void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiCo
|
|||||||
fdir = new SusFdir(objects::SUS_11_R_LOC_XBYMZB_PT_ZB);
|
fdir = new SusFdir(objects::SUS_11_R_LOC_XBYMZB_PT_ZB);
|
||||||
susHandlers[11]->setCustomFdir(fdir);
|
susHandlers[11]->setCustomFdir(fdir);
|
||||||
|
|
||||||
std::array<object_id_t, 12> susIds = {
|
|
||||||
objects::SUS_0_N_LOC_XFYFZM_PT_XF, objects::SUS_1_N_LOC_XBYFZM_PT_XB,
|
|
||||||
objects::SUS_2_N_LOC_XFYBZB_PT_YB, objects::SUS_3_N_LOC_XFYBZF_PT_YF,
|
|
||||||
objects::SUS_4_N_LOC_XMYFZF_PT_ZF, objects::SUS_5_N_LOC_XFYMZB_PT_ZB,
|
|
||||||
objects::SUS_6_R_LOC_XFYBZM_PT_XF, objects::SUS_7_R_LOC_XBYBZM_PT_XB,
|
|
||||||
objects::SUS_8_R_LOC_XBYBZB_PT_YB, objects::SUS_9_R_LOC_XBYBZB_PT_YF,
|
|
||||||
objects::SUS_10_N_LOC_XMYBZF_PT_ZF, objects::SUS_11_R_LOC_XBYMZB_PT_ZB};
|
|
||||||
SusAssHelper susAssHelper = SusAssHelper(susIds);
|
|
||||||
auto susAss = new SusAssembly(objects::SUS_BOARD_ASS, pwrSwitcher, susAssHelper);
|
|
||||||
for (auto& sus : susHandlers) {
|
for (auto& sus : susHandlers) {
|
||||||
if (sus != nullptr) {
|
if (sus != nullptr) {
|
||||||
ReturnValue_t result = sus->connectModeTreeParent(*susAss);
|
|
||||||
if (result != returnvalue::OK) {
|
|
||||||
sif::error << "Connecting SUS " << sus->getObjectId() << " to SUS assembly failed"
|
|
||||||
<< std::endl;
|
|
||||||
}
|
|
||||||
#if OBSW_TEST_SUS == 1
|
#if OBSW_TEST_SUS == 1
|
||||||
sus->setStartUpImmediately();
|
sus->setStartUpImmediately();
|
||||||
sus->setToGoToNormalMode(true);
|
sus->setToGoToNormalMode(true);
|
||||||
@ -198,7 +185,11 @@ void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiCo
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
susAss->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
|
std::array<DeviceHandlerBase*, 12> susDhbs;
|
||||||
|
for (unsigned i = 0; i < susDhbs.size(); i++) {
|
||||||
|
susDhbs[i] = susHandlers[i];
|
||||||
|
}
|
||||||
|
createSusAssy(pwrSwitcher, susDhbs);
|
||||||
#endif /* OBSW_ADD_SUN_SENSORS == 1 */
|
#endif /* OBSW_ADD_SUN_SENSORS == 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ class AcsController;
|
|||||||
|
|
||||||
namespace ObjectFactory {
|
namespace ObjectFactory {
|
||||||
|
|
||||||
void createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiComIF, PowerSwitchIF* pwrSwitcher,
|
void createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiComIF, PowerSwitchIF& pwrSwitcher,
|
||||||
std::string spiDev, bool swap0And6);
|
std::string spiDev, bool swap0And6);
|
||||||
void createRtdComponents(std::string spiDev, GpioIF* gpioComIF, PowerSwitchIF* pwrSwitcher,
|
void createRtdComponents(std::string spiDev, GpioIF* gpioComIF, PowerSwitchIF* pwrSwitcher,
|
||||||
SpiComIF* comIF);
|
SpiComIF* comIF);
|
||||||
|
@ -26,6 +26,8 @@
|
|||||||
#include <mission/controller/ThermalController.h>
|
#include <mission/controller/ThermalController.h>
|
||||||
#include <mission/devices/HeaterHandler.h>
|
#include <mission/devices/HeaterHandler.h>
|
||||||
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h>
|
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h>
|
||||||
|
#include <mission/system/objects/RwAssembly.h>
|
||||||
|
#include <mission/system/objects/SusAssembly.h>
|
||||||
#include <mission/tmtc/CfdpTmFunnel.h>
|
#include <mission/tmtc/CfdpTmFunnel.h>
|
||||||
#include <mission/tmtc/PusTmFunnel.h>
|
#include <mission/tmtc/PusTmFunnel.h>
|
||||||
#include <mission/tmtc/TmFunnelHandler.h>
|
#include <mission/tmtc/TmFunnelHandler.h>
|
||||||
@ -35,6 +37,8 @@
|
|||||||
#include "eive/definitions.h"
|
#include "eive/definitions.h"
|
||||||
#include "fsfw/pus/Service11TelecommandScheduling.h"
|
#include "fsfw/pus/Service11TelecommandScheduling.h"
|
||||||
#include "mission/cfdp/Config.h"
|
#include "mission/cfdp/Config.h"
|
||||||
|
#include "mission/system/objects/RwAssembly.h"
|
||||||
|
#include "mission/system/tree/acsModeTree.h"
|
||||||
#include "mission/system/tree/tcsModeTree.h"
|
#include "mission/system/tree/tcsModeTree.h"
|
||||||
#include "objects/systemObjectList.h"
|
#include "objects/systemObjectList.h"
|
||||||
#include "tmtc/pusIds.h"
|
#include "tmtc/pusIds.h"
|
||||||
@ -218,3 +222,40 @@ void ObjectFactory::createThermalController(HeaterHandler& heaterHandler) {
|
|||||||
auto* tcsCtrl = new ThermalController(objects::THERMAL_CONTROLLER, heaterHandler);
|
auto* tcsCtrl = new ThermalController(objects::THERMAL_CONTROLLER, heaterHandler);
|
||||||
tcsCtrl->connectModeTreeParent(satsystem::tcs::SUBSYSTEM);
|
tcsCtrl->connectModeTreeParent(satsystem::tcs::SUBSYSTEM);
|
||||||
}
|
}
|
||||||
|
void ObjectFactory::createRwAssy(PowerSwitchIF& pwrSwitcher, power::Switch_t theSwitch,
|
||||||
|
std::array<DeviceHandlerBase*, 4> rws,
|
||||||
|
std::array<object_id_t, 4> rwIds) {
|
||||||
|
RwHelper rwHelper(rwIds);
|
||||||
|
auto* rwAss = new RwAssembly(objects::RW_ASS, &pwrSwitcher, theSwitch, rwHelper);
|
||||||
|
for (uint8_t idx = 0; idx < rwIds.size(); idx++) {
|
||||||
|
ReturnValue_t result = rws[idx]->connectModeTreeParent(*rwAss);
|
||||||
|
if (result != returnvalue::OK) {
|
||||||
|
sif::error << "Connecting RW " << static_cast<int>(idx) << " to RW assembly failed"
|
||||||
|
<< std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rwAss->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ObjectFactory::createSusAssy(PowerSwitchIF& pwrSwitcher,
|
||||||
|
std::array<DeviceHandlerBase*, 12> suses) {
|
||||||
|
std::array<object_id_t, 12> susIds = {
|
||||||
|
objects::SUS_0_N_LOC_XFYFZM_PT_XF, objects::SUS_1_N_LOC_XBYFZM_PT_XB,
|
||||||
|
objects::SUS_2_N_LOC_XFYBZB_PT_YB, objects::SUS_3_N_LOC_XFYBZF_PT_YF,
|
||||||
|
objects::SUS_4_N_LOC_XMYFZF_PT_ZF, objects::SUS_5_N_LOC_XFYMZB_PT_ZB,
|
||||||
|
objects::SUS_6_R_LOC_XFYBZM_PT_XF, objects::SUS_7_R_LOC_XBYBZM_PT_XB,
|
||||||
|
objects::SUS_8_R_LOC_XBYBZB_PT_YB, objects::SUS_9_R_LOC_XBYBZB_PT_YF,
|
||||||
|
objects::SUS_10_N_LOC_XMYBZF_PT_ZF, objects::SUS_11_R_LOC_XBYMZB_PT_ZB};
|
||||||
|
SusAssHelper susAssHelper = SusAssHelper(susIds);
|
||||||
|
auto susAss = new SusAssembly(objects::SUS_BOARD_ASS, &pwrSwitcher, susAssHelper);
|
||||||
|
for (auto& sus : suses) {
|
||||||
|
if (sus != nullptr) {
|
||||||
|
ReturnValue_t result = sus->connectModeTreeParent(*susAss);
|
||||||
|
if (result != returnvalue::OK) {
|
||||||
|
sif::error << "Connecting SUS " << sus->getObjectId() << " to SUS assembly failed"
|
||||||
|
<< std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
susAss->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
|
||||||
|
}
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
#ifndef MISSION_CORE_GENERICFACTORY_H_
|
#ifndef MISSION_CORE_GENERICFACTORY_H_
|
||||||
#define MISSION_CORE_GENERICFACTORY_H_
|
#define MISSION_CORE_GENERICFACTORY_H_
|
||||||
|
|
||||||
|
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
|
||||||
|
|
||||||
|
#include "fsfw/objectmanager/SystemObjectIF.h"
|
||||||
#include "fsfw/power/PowerSwitchIF.h"
|
#include "fsfw/power/PowerSwitchIF.h"
|
||||||
#include "fsfw_hal/common/gpio/GpioIF.h"
|
#include "fsfw_hal/common/gpio/GpioIF.h"
|
||||||
|
|
||||||
@ -17,6 +20,10 @@ void createGenericHeaterComponents(GpioIF& gpioIF, PowerSwitchIF& pwrSwitcher,
|
|||||||
HeaterHandler*& heaterHandler);
|
HeaterHandler*& heaterHandler);
|
||||||
|
|
||||||
void createThermalController(HeaterHandler& heaterHandler);
|
void createThermalController(HeaterHandler& heaterHandler);
|
||||||
|
void createRwAssy(PowerSwitchIF& pwrSwitcher, power::Switch_t theSwitch,
|
||||||
|
std::array<DeviceHandlerBase*, 4> rws, std::array<object_id_t, 4> rwIds);
|
||||||
|
void createSusAssy(PowerSwitchIF& pwrSwitcher, std::array<DeviceHandlerBase*, 12> suses);
|
||||||
|
|
||||||
} // namespace ObjectFactory
|
} // namespace ObjectFactory
|
||||||
|
|
||||||
#endif /* MISSION_CORE_GENERICFACTORY_H_ */
|
#endif /* MISSION_CORE_GENERICFACTORY_H_ */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user