v6.1.0-branch #750
@ -45,7 +45,7 @@ void ObjectFactory::produce(void* args) {
|
|||||||
SpiComIF* spiMainComIF = nullptr;
|
SpiComIF* spiMainComIF = nullptr;
|
||||||
I2cComIF* i2cComIF = nullptr;
|
I2cComIF* i2cComIF = nullptr;
|
||||||
createCommunicationInterfaces(&gpioComIF, &uartComIF, &spiMainComIF, &i2cComIF);
|
createCommunicationInterfaces(&gpioComIF, &uartComIF, &spiMainComIF, &i2cComIF);
|
||||||
/* Adding gpios for chip select decoding to the gpioComIf */
|
// Adding GPIOs for chip select decoding and initializing them.
|
||||||
q7s::gpioCallbacks::initSpiCsDecoder(gpioComIF);
|
q7s::gpioCallbacks::initSpiCsDecoder(gpioComIF);
|
||||||
gpioCallbacks::disableAllDecoder(gpioComIF);
|
gpioCallbacks::disableAllDecoder(gpioComIF);
|
||||||
createPlI2cResetGpio(gpioComIF);
|
createPlI2cResetGpio(gpioComIF);
|
||||||
@ -68,6 +68,13 @@ void ObjectFactory::produce(void* args) {
|
|||||||
{objects::TMP1075_HANDLER_IF_BOARD, addresses::TMP1075_IF_BOARD},
|
{objects::TMP1075_HANDLER_IF_BOARD, addresses::TMP1075_IF_BOARD},
|
||||||
}};
|
}};
|
||||||
createTmpComponents(tmpDevsToAdd);
|
createTmpComponents(tmpDevsToAdd);
|
||||||
|
dummy::Tmp1075Cfg tmpCfg {};
|
||||||
|
tmpCfg.addTcsBrd0 = true;
|
||||||
|
tmpCfg.addTcsBrd1 = true;
|
||||||
|
tmpCfg.addPlPcdu0 = false;
|
||||||
|
tmpCfg.addPlPcdu1 = false;
|
||||||
|
tmpCfg.addIfBrd = false;
|
||||||
|
dummyCfg.tmp1075Cfg = tmpCfg;
|
||||||
#endif
|
#endif
|
||||||
#if OBSW_ADD_GOMSPACE_PCDU == 1
|
#if OBSW_ADD_GOMSPACE_PCDU == 1
|
||||||
dummyCfg.addPowerDummies = false;
|
dummyCfg.addPowerDummies = false;
|
||||||
|
@ -7,9 +7,9 @@
|
|||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
TemperatureSensorInserter::TemperatureSensorInserter(object_id_t objectId,
|
TemperatureSensorInserter::TemperatureSensorInserter(
|
||||||
Max31865DummyMap tempSensorDummies_,
|
object_id_t objectId, Max31865DummyMap tempSensorDummies_,
|
||||||
Tmp1075DummyMap tempTmpSensorDummies_)
|
std::optional<Tmp1075DummyMap> tempTmpSensorDummies_)
|
||||||
: SystemObject(objectId),
|
: SystemObject(objectId),
|
||||||
max31865DummyMap(std::move(tempSensorDummies_)),
|
max31865DummyMap(std::move(tempSensorDummies_)),
|
||||||
tmp1075DummyMap(std::move(tempTmpSensorDummies_)) {}
|
tmp1075DummyMap(std::move(tempTmpSensorDummies_)) {}
|
||||||
@ -25,8 +25,10 @@ ReturnValue_t TemperatureSensorInserter::performOperation(uint8_t opCode) {
|
|||||||
for (auto& rtdDummy : max31865DummyMap) {
|
for (auto& rtdDummy : max31865DummyMap) {
|
||||||
rtdDummy.second->setTemperature(10, true);
|
rtdDummy.second->setTemperature(10, true);
|
||||||
}
|
}
|
||||||
for (auto& tmpDummy : tmp1075DummyMap) {
|
if (tmp1075DummyMap.has_value()) {
|
||||||
tmpDummy.second->setTemperature(10, true);
|
for (auto& tmpDummy : tmp1075DummyMap.value()) {
|
||||||
|
tmpDummy.second->setTemperature(10, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
tempsWereInitialized = true;
|
tempsWereInitialized = true;
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ class TemperatureSensorInserter : public ExecutableObjectIF, public SystemObject
|
|||||||
using Max31865DummyMap = std::map<object_id_t, Max31865Dummy*>;
|
using Max31865DummyMap = std::map<object_id_t, Max31865Dummy*>;
|
||||||
using Tmp1075DummyMap = std::map<object_id_t, Tmp1075Dummy*>;
|
using Tmp1075DummyMap = std::map<object_id_t, Tmp1075Dummy*>;
|
||||||
explicit TemperatureSensorInserter(object_id_t objectId, Max31865DummyMap tempSensorDummies_,
|
explicit TemperatureSensorInserter(object_id_t objectId, Max31865DummyMap tempSensorDummies_,
|
||||||
Tmp1075DummyMap tempTmpSensorDummies_);
|
std::optional<Tmp1075DummyMap> tempTmpSensorDummies_);
|
||||||
|
|
||||||
ReturnValue_t initialize() override;
|
ReturnValue_t initialize() override;
|
||||||
ReturnValue_t initializeAfterTaskCreation() override;
|
ReturnValue_t initializeAfterTaskCreation() override;
|
||||||
@ -22,7 +22,7 @@ class TemperatureSensorInserter : public ExecutableObjectIF, public SystemObject
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
Max31865DummyMap max31865DummyMap;
|
Max31865DummyMap max31865DummyMap;
|
||||||
Tmp1075DummyMap tmp1075DummyMap;
|
std::optional<Tmp1075DummyMap> tmp1075DummyMap;
|
||||||
|
|
||||||
enum TestCase {
|
enum TestCase {
|
||||||
NONE = 0,
|
NONE = 0,
|
||||||
|
@ -191,25 +191,36 @@ void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitcher, GpioIF* gpio
|
|||||||
objects::RTD_15_IC18_IMTQ,
|
objects::RTD_15_IC18_IMTQ,
|
||||||
new Max31865Dummy(objects::RTD_15_IC18_IMTQ, objects::DUMMY_COM_IF, comCookieDummy));
|
new Max31865Dummy(objects::RTD_15_IC18_IMTQ, objects::DUMMY_COM_IF, comCookieDummy));
|
||||||
|
|
||||||
std::map<object_id_t, Tmp1075Dummy*> tmpSensorDummies;
|
std::optional<TemperatureSensorInserter::Tmp1075DummyMap> tmpSensorDummies;
|
||||||
tmpSensorDummies.emplace(
|
TemperatureSensorInserter::Tmp1075DummyMap tmpDummyMap;
|
||||||
objects::TMP1075_HANDLER_TCS_0,
|
if (cfg.addTmpDummies) {
|
||||||
new Tmp1075Dummy(objects::TMP1075_HANDLER_TCS_0, objects::DUMMY_COM_IF, comCookieDummy));
|
tmpSensorDummies = tmpDummyMap;
|
||||||
tmpSensorDummies.emplace(
|
if (cfg.tmp1075Cfg.addTcsBrd0) {
|
||||||
objects::TMP1075_HANDLER_TCS_1,
|
tmpDummyMap.emplace(objects::TMP1075_HANDLER_TCS_0,
|
||||||
new Tmp1075Dummy(objects::TMP1075_HANDLER_TCS_1, objects::DUMMY_COM_IF, comCookieDummy));
|
new Tmp1075Dummy(objects::TMP1075_HANDLER_TCS_0, objects::DUMMY_COM_IF,
|
||||||
tmpSensorDummies.emplace(
|
comCookieDummy));
|
||||||
objects::TMP1075_HANDLER_PLPCDU_0,
|
}
|
||||||
new Tmp1075Dummy(objects::TMP1075_HANDLER_PLPCDU_0, objects::DUMMY_COM_IF, comCookieDummy));
|
if (cfg.tmp1075Cfg.addTcsBrd1) {
|
||||||
// damaged.
|
tmpDummyMap.emplace(objects::TMP1075_HANDLER_TCS_1,
|
||||||
// tmpSensorDummies.emplace(
|
new Tmp1075Dummy(objects::TMP1075_HANDLER_TCS_1, objects::DUMMY_COM_IF,
|
||||||
// objects::TMP1075_HANDLER_PLPCDU_1,
|
comCookieDummy));
|
||||||
// new Tmp1075Dummy(objects::TMP1075_HANDLER_PLPCDU_1, objects::DUMMY_COM_IF,
|
}
|
||||||
// comCookieDummy));
|
if (cfg.tmp1075Cfg.addPlPcdu0) {
|
||||||
tmpSensorDummies.emplace(
|
tmpDummyMap.emplace(objects::TMP1075_HANDLER_PLPCDU_0,
|
||||||
objects::TMP1075_HANDLER_IF_BOARD,
|
new Tmp1075Dummy(objects::TMP1075_HANDLER_PLPCDU_0,
|
||||||
new Tmp1075Dummy(objects::TMP1075_HANDLER_IF_BOARD, objects::DUMMY_COM_IF, comCookieDummy));
|
objects::DUMMY_COM_IF, comCookieDummy));
|
||||||
|
}
|
||||||
|
if (cfg.tmp1075Cfg.addPlPcdu1) {
|
||||||
|
tmpDummyMap.emplace(objects::TMP1075_HANDLER_PLPCDU_1,
|
||||||
|
new Tmp1075Dummy(objects::TMP1075_HANDLER_PLPCDU_1,
|
||||||
|
objects::DUMMY_COM_IF, comCookieDummy));
|
||||||
|
}
|
||||||
|
if (cfg.tmp1075Cfg.addIfBrd) {
|
||||||
|
tmpDummyMap.emplace(objects::TMP1075_HANDLER_IF_BOARD,
|
||||||
|
new Tmp1075Dummy(objects::TMP1075_HANDLER_IF_BOARD,
|
||||||
|
objects::DUMMY_COM_IF, comCookieDummy));
|
||||||
|
}
|
||||||
|
}
|
||||||
new TemperatureSensorInserter(objects::THERMAL_TEMP_INSERTER, rtdSensorDummies,
|
new TemperatureSensorInserter(objects::THERMAL_TEMP_INSERTER, rtdSensorDummies,
|
||||||
tmpSensorDummies);
|
tmpSensorDummies);
|
||||||
TcsBoardAssembly* tcsBoardAssy =
|
TcsBoardAssembly* tcsBoardAssy =
|
||||||
@ -217,8 +228,11 @@ void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitcher, GpioIF* gpio
|
|||||||
for (auto& rtd : rtdSensorDummies) {
|
for (auto& rtd : rtdSensorDummies) {
|
||||||
rtd.second->connectModeTreeParent(*tcsBoardAssy);
|
rtd.second->connectModeTreeParent(*tcsBoardAssy);
|
||||||
}
|
}
|
||||||
for (auto& tmp : tmpSensorDummies) {
|
if(tmpSensorDummies.has_value()) {
|
||||||
tmp.second->connectModeTreeParent(satsystem::tcs::SUBSYSTEM);
|
for (auto& tmp : tmpSensorDummies.value()) {
|
||||||
|
printf("Hello, connecting parent to %08x\n", tmp.second->getObjectId());
|
||||||
|
tmp.second->connectModeTreeParent(satsystem::tcs::SUBSYSTEM);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (cfg.addCamSwitcherDummy) {
|
if (cfg.addCamSwitcherDummy) {
|
||||||
|
@ -6,6 +6,14 @@ class GpioIF;
|
|||||||
|
|
||||||
namespace dummy {
|
namespace dummy {
|
||||||
|
|
||||||
|
struct Tmp1075Cfg {
|
||||||
|
bool addTcsBrd0 = true;
|
||||||
|
bool addTcsBrd1 = true;
|
||||||
|
bool addPlPcdu0 = true;
|
||||||
|
bool addPlPcdu1 = true;
|
||||||
|
bool addIfBrd = true;
|
||||||
|
};
|
||||||
|
|
||||||
// Default values targeted towards EM.
|
// Default values targeted towards EM.
|
||||||
struct DummyCfg {
|
struct DummyCfg {
|
||||||
bool addCoreCtrlCfg = true;
|
bool addCoreCtrlCfg = true;
|
||||||
@ -19,6 +27,8 @@ struct DummyCfg {
|
|||||||
bool addTempSensorDummies = true;
|
bool addTempSensorDummies = true;
|
||||||
bool addRtdComIFDummy = true;
|
bool addRtdComIFDummy = true;
|
||||||
bool addPlocDummies = true;
|
bool addPlocDummies = true;
|
||||||
|
bool addTmpDummies = true;
|
||||||
|
Tmp1075Cfg tmp1075Cfg;
|
||||||
bool addCamSwitcherDummy = false;
|
bool addCamSwitcherDummy = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -46,47 +46,46 @@ ReturnValue_t pst::pstProgammableLogicI2c(TmpSchedConfig schedConf,
|
|||||||
static_cast<void>(length);
|
static_cast<void>(length);
|
||||||
|
|
||||||
if (schedConf.scheduleTmpDev0) {
|
if (schedConf.scheduleTmpDev0) {
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_0, length * 0.2,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_0, length * 0,
|
||||||
DeviceHandlerIF::PERFORM_OPERATION);
|
DeviceHandlerIF::PERFORM_OPERATION);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_0, length * 0.2,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_0, length * 0, DeviceHandlerIF::SEND_WRITE);
|
||||||
DeviceHandlerIF::SEND_WRITE);
|
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_0, length * 0.1, DeviceHandlerIF::GET_WRITE);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_0, length * 0.2, DeviceHandlerIF::GET_WRITE);
|
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_0, length * 0.1, DeviceHandlerIF::SEND_READ);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_0, length * 0.3, DeviceHandlerIF::SEND_READ);
|
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_0, length * 0.1, DeviceHandlerIF::GET_READ);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_0, length * 0.3, DeviceHandlerIF::GET_READ);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (schedConf.scheduleTmpDev1) {
|
if (schedConf.scheduleTmpDev1) {
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_1, length * 0.4,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_1, length * 0.2,
|
||||||
DeviceHandlerIF::PERFORM_OPERATION);
|
DeviceHandlerIF::PERFORM_OPERATION);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_1, length * 0.4,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_1, length * 0.2,
|
||||||
DeviceHandlerIF::SEND_WRITE);
|
DeviceHandlerIF::SEND_WRITE);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_1, length * 0.4, DeviceHandlerIF::GET_WRITE);
|
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_1, length * 0.2, DeviceHandlerIF::GET_WRITE);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_1, length * 0.5, DeviceHandlerIF::SEND_READ);
|
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_1, length * 0.3, DeviceHandlerIF::SEND_READ);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_1, length * 0.5, DeviceHandlerIF::GET_READ);
|
thisSequence->addSlot(objects::TMP1075_HANDLER_TCS_1, length * 0.3, DeviceHandlerIF::GET_READ);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (schedConf.schedulePlPcduDev0) {
|
if (schedConf.schedulePlPcduDev0) {
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_0, length * 0.6,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_0, length * 0.4,
|
||||||
DeviceHandlerIF::PERFORM_OPERATION);
|
DeviceHandlerIF::PERFORM_OPERATION);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_0, length * 0.6,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_0, length * 0.4,
|
||||||
DeviceHandlerIF::SEND_WRITE);
|
DeviceHandlerIF::SEND_WRITE);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_0, length * 0.6,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_0, length * 0.4,
|
||||||
DeviceHandlerIF::GET_WRITE);
|
DeviceHandlerIF::GET_WRITE);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_0, length * 0.7,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_0, length * 0.5,
|
||||||
DeviceHandlerIF::SEND_READ);
|
DeviceHandlerIF::SEND_READ);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_0, length * 0.7,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_0, length * 0.5,
|
||||||
DeviceHandlerIF::GET_READ);
|
DeviceHandlerIF::GET_READ);
|
||||||
}
|
}
|
||||||
if (schedConf.schedulePlPcduDev1) {
|
if (schedConf.schedulePlPcduDev1) {
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.4,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.6,
|
||||||
DeviceHandlerIF::PERFORM_OPERATION);
|
DeviceHandlerIF::PERFORM_OPERATION);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.4,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.6,
|
||||||
DeviceHandlerIF::SEND_WRITE);
|
DeviceHandlerIF::SEND_WRITE);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.4,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.6,
|
||||||
DeviceHandlerIF::GET_WRITE);
|
DeviceHandlerIF::GET_WRITE);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.4,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.7,
|
||||||
DeviceHandlerIF::SEND_READ);
|
DeviceHandlerIF::SEND_READ);
|
||||||
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.4,
|
thisSequence->addSlot(objects::TMP1075_HANDLER_PLPCDU_1, length * 0.7,
|
||||||
DeviceHandlerIF::GET_READ);
|
DeviceHandlerIF::GET_READ);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user