diff --git a/bsp_q7s/em/emObjectFactory.cpp b/bsp_q7s/em/emObjectFactory.cpp index ad71b8c6..fa2a0101 100644 --- a/bsp_q7s/em/emObjectFactory.cpp +++ b/bsp_q7s/em/emObjectFactory.cpp @@ -1,4 +1,5 @@ #include +#include #include "OBSWConfig.h" #include "bsp_q7s/core/CoreController.h" @@ -10,6 +11,7 @@ #include "linux/ObjectFactory.h" #include "linux/callbacks/gpioCallbacks.h" #include "mission/core/GenericFactory.h" +#include "dummies/helpers.h" void ObjectFactory::produce(void* args) { ObjectFactory::setStatics(); @@ -20,14 +22,18 @@ void ObjectFactory::produce(void* args) { UartComIF* uartComIF = nullptr; SpiComIF* spiMainComIF = nullptr; I2cComIF* i2cComIF = nullptr; - PowerSwitchIF* pwrSwitcher = nullptr; SpiComIF* spiRwComIF = nullptr; createCommunicationInterfaces(&gpioComIF, &uartComIF, &spiMainComIF, &i2cComIF, &spiRwComIF); createTmpComponents(); new CoreController(objects::CORE_CONTROLLER); gpioCallbacks::disableAllDecoder(gpioComIF); - createPcduComponents(gpioComIF, &pwrSwitcher); + PowerSwitchIF* pwrSwitcher = new DummyPowerSwitcher(objects::PCDU_HANDLER, 18, 0); + + // Regular FM code, does not work for EM if the hardware is not connected + // createPcduComponents(gpioComIF, &pwrSwitcher); + // createPlPcduComponents(gpioComIF, spiMainComIF, pwrSwitcher); + // createSyrlinksComponents(pwrSwitcher); createRadSensorComponent(gpioComIF); createSunSensorComponents(gpioComIF, spiMainComIF, pwrSwitcher, q7s::SPI_DEFAULT_DEV); @@ -36,14 +42,7 @@ void ObjectFactory::produce(void* args) { #endif createHeaterComponents(gpioComIF, pwrSwitcher, healthTable); createSolarArrayDeploymentComponents(); - createPlPcduComponents(gpioComIF, spiMainComIF, pwrSwitcher); -#if OBSW_ADD_SYRLINKS == 1 -#if OBSW_Q7S_EM == 1 - createSyrlinksComponents(nullptr); -#else - createSyrlinksComponents(pwrSwitcher); -#endif /* OBSW_Q7S_EM == 1 */ -#endif /* OBSW_ADD_SYRLINKS == 1 */ + createRtdComponents(q7s::SPI_DEFAULT_DEV, gpioComIF, pwrSwitcher, spiMainComIF); createPayloadComponents(gpioComIF); @@ -69,4 +68,7 @@ void ObjectFactory::produce(void* args) { createMiscComponents(); createAcsController(); + dummy::DummyCfg dummyCfg; + dummyCfg.addCoreCtrlCfg = false; + dummy::createDummies(dummyCfg); } diff --git a/dummies/helpers.cpp b/dummies/helpers.cpp index 1c807217..c27439a6 100644 --- a/dummies/helpers.cpp +++ b/dummies/helpers.cpp @@ -19,7 +19,7 @@ using namespace dummy; -void createDummies(DummyCfg cfg) { +void dummy::createDummies(DummyCfg cfg) { new ComIFDummy(objects::DUMMY_COM_IF); ComCookieDummy* comCookieDummy = new ComCookieDummy(); new BpxDummy(objects::BPX_BATT_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);