diff --git a/archive/gpio/gpioDefinitions.h b/archive/gpio/gpioDefinitions.h index 0db4db11..46050d12 100644 --- a/archive/gpio/gpioDefinitions.h +++ b/archive/gpio/gpioDefinitions.h @@ -8,13 +8,13 @@ using gpioId_t = uint16_t; namespace gpio { -enum Levels { LOW = 0, HIGH = 1 }; +enum class Levels : uint8_t { LOW = 0, HIGH = 1 }; -enum Direction { IN = 0, OUT = 1 }; +enum class Direction : uint8_t { IN = 0, OUT = 1 }; -enum GpioOperation { READ, WRITE }; +enum class GpioOperation { READ, WRITE }; -enum GpioTypes { NONE, GPIOD_REGULAR, CALLBACK }; +enum class GpioTypes { NONE, GPIOD_REGULAR, CALLBACK }; static constexpr gpioId_t NO_GPIO = -1; } // namespace gpio diff --git a/bsp_q7s/core/ObjectFactory.cpp b/bsp_q7s/core/ObjectFactory.cpp index 492ac424..a9923a9d 100644 --- a/bsp_q7s/core/ObjectFactory.cpp +++ b/bsp_q7s/core/ObjectFactory.cpp @@ -373,7 +373,7 @@ void ObjectFactory::createSunSensorComponents(LinuxLibgpioIF* gpioComIF, SpiComI #if OBSW_ADD_SUN_SENSORS == 1 SpiCookie* spiCookie = new SpiCookie(addresses::SUS_0, gpioIds::CS_SUS_0, q7s::SPI_DEFAULT_DEV, SUS::MAX_CMD_SIZE, - spi::DEFAULT_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); + spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); susHandlers[0] = new SusHandler(objects::SUS_0, 0, objects::SPI_COM_IF, spiCookie); fdir = new SusFdir(objects::SUS_0); susHandlers[0]->setParent(objects::SUS_BOARD_ASS); @@ -381,7 +381,7 @@ void ObjectFactory::createSunSensorComponents(LinuxLibgpioIF* gpioComIF, SpiComI spiCookie = new SpiCookie(addresses::SUS_1, gpioIds::CS_SUS_1, q7s::SPI_DEFAULT_DEV, SUS::MAX_CMD_SIZE, - spi::DEFAULT_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); + spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); susHandlers[1] = new SusHandler(objects::SUS_1, 1, objects::SPI_COM_IF, spiCookie); fdir = new SusFdir(objects::SUS_1); susHandlers[1]->setParent(objects::SUS_BOARD_ASS); @@ -389,7 +389,7 @@ void ObjectFactory::createSunSensorComponents(LinuxLibgpioIF* gpioComIF, SpiComI spiCookie = new SpiCookie(addresses::SUS_2, gpioIds::CS_SUS_2, q7s::SPI_DEFAULT_DEV, SUS::MAX_CMD_SIZE, - spi::DEFAULT_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); + spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); susHandlers[2] = new SusHandler(objects::SUS_2, 2, objects::SPI_COM_IF, spiCookie); fdir = new SusFdir(objects::SUS_2); susHandlers[2]->setParent(objects::SUS_BOARD_ASS); @@ -397,7 +397,7 @@ void ObjectFactory::createSunSensorComponents(LinuxLibgpioIF* gpioComIF, SpiComI spiCookie = new SpiCookie(addresses::SUS_3, gpioIds::CS_SUS_3, std::string(q7s::SPI_DEFAULT_DEV), - SUS::MAX_CMD_SIZE, spi::DEFAULT_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); + SUS::MAX_CMD_SIZE, spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); susHandlers[3] = new SusHandler(objects::SUS_3, 3, objects::SPI_COM_IF, spiCookie); fdir = new SusFdir(objects::SUS_3); susHandlers[3]->setParent(objects::SUS_BOARD_ASS); @@ -405,7 +405,7 @@ void ObjectFactory::createSunSensorComponents(LinuxLibgpioIF* gpioComIF, SpiComI spiCookie = new SpiCookie(addresses::SUS_4, gpioIds::CS_SUS_4, std::string(q7s::SPI_DEFAULT_DEV), - SUS::MAX_CMD_SIZE, spi::DEFAULT_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); + SUS::MAX_CMD_SIZE, spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); susHandlers[4] = new SusHandler(objects::SUS_4, 4, objects::SPI_COM_IF, spiCookie); fdir = new SusFdir(objects::SUS_4); susHandlers[4]->setParent(objects::SUS_BOARD_ASS); @@ -413,7 +413,7 @@ void ObjectFactory::createSunSensorComponents(LinuxLibgpioIF* gpioComIF, SpiComI spiCookie = new SpiCookie(addresses::SUS_5, gpioIds::CS_SUS_5, std::string(q7s::SPI_DEFAULT_DEV), - SUS::MAX_CMD_SIZE, spi::DEFAULT_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); + SUS::MAX_CMD_SIZE, spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); susHandlers[5] = new SusHandler(objects::SUS_5, 5, objects::SPI_COM_IF, spiCookie); fdir = new SusFdir(objects::SUS_5); susHandlers[5]->setParent(objects::SUS_BOARD_ASS); @@ -421,7 +421,7 @@ void ObjectFactory::createSunSensorComponents(LinuxLibgpioIF* gpioComIF, SpiComI spiCookie = new SpiCookie(addresses::SUS_6, gpioIds::CS_SUS_6, q7s::SPI_DEFAULT_DEV, SUS::MAX_CMD_SIZE, - spi::DEFAULT_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); + spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); susHandlers[6] = new SusHandler(objects::SUS_6, 6, objects::SPI_COM_IF, spiCookie); fdir = new SusFdir(objects::SUS_6); susHandlers[6]->setParent(objects::SUS_BOARD_ASS); @@ -429,7 +429,7 @@ void ObjectFactory::createSunSensorComponents(LinuxLibgpioIF* gpioComIF, SpiComI spiCookie = new SpiCookie(addresses::SUS_7, gpioIds::CS_SUS_7, q7s::SPI_DEFAULT_DEV, SUS::MAX_CMD_SIZE, - spi::DEFAULT_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); + spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); susHandlers[7] = new SusHandler(objects::SUS_7, 7, objects::SPI_COM_IF, spiCookie); fdir = new SusFdir(objects::SUS_7); susHandlers[7]->setParent(objects::SUS_BOARD_ASS); @@ -437,7 +437,7 @@ void ObjectFactory::createSunSensorComponents(LinuxLibgpioIF* gpioComIF, SpiComI spiCookie = new SpiCookie(addresses::SUS_8, gpioIds::CS_SUS_8, q7s::SPI_DEFAULT_DEV, SUS::MAX_CMD_SIZE, - spi::DEFAULT_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); + spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); susHandlers[8] = new SusHandler(objects::SUS_8, 8, objects::SPI_COM_IF, spiCookie); fdir = new SusFdir(objects::SUS_8); susHandlers[8]->setParent(objects::SUS_BOARD_ASS); @@ -445,7 +445,7 @@ void ObjectFactory::createSunSensorComponents(LinuxLibgpioIF* gpioComIF, SpiComI spiCookie = new SpiCookie(addresses::SUS_9, gpioIds::CS_SUS_9, q7s::SPI_DEFAULT_DEV, SUS::MAX_CMD_SIZE, - spi::DEFAULT_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); + spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); susHandlers[9] = new SusHandler(objects::SUS_9, 9, objects::SPI_COM_IF, spiCookie); fdir = new SusFdir(objects::SUS_9); susHandlers[9]->setParent(objects::SUS_BOARD_ASS); @@ -453,7 +453,7 @@ void ObjectFactory::createSunSensorComponents(LinuxLibgpioIF* gpioComIF, SpiComI spiCookie = new SpiCookie(addresses::SUS_10, gpioIds::CS_SUS_10, q7s::SPI_DEFAULT_DEV, SUS::MAX_CMD_SIZE, - spi::DEFAULT_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); + spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); susHandlers[10] = new SusHandler(objects::SUS_10, 10, objects::SPI_COM_IF, spiCookie); fdir = new SusFdir(objects::SUS_10); susHandlers[10]->setParent(objects::SUS_BOARD_ASS); @@ -461,7 +461,7 @@ void ObjectFactory::createSunSensorComponents(LinuxLibgpioIF* gpioComIF, SpiComI spiCookie = new SpiCookie(addresses::SUS_11, gpioIds::CS_SUS_11, q7s::SPI_DEFAULT_DEV, SUS::MAX_CMD_SIZE, - spi::DEFAULT_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); + spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ); susHandlers[11] = new SusHandler(objects::SUS_11, 11, objects::SPI_COM_IF, spiCookie); fdir = new SusFdir(objects::SUS_11); susHandlers[11]->setParent(objects::SUS_BOARD_ASS); @@ -485,7 +485,7 @@ void ObjectFactory::createSunSensorComponents(LinuxLibgpioIF* gpioComIF, SpiComI SusAssHelper susAssHelper = SusAssHelper(susIds); auto susAss = new SusAssembly(objects::SUS_BOARD_ASS, objects::NO_OBJECT, pwrSwitcher, susAssHelper); - static_cast(susAss); + static_cast(susAss); #endif /* OBSW_ADD_SUN_SENSORS == 1 */ } diff --git a/common/config/devConf.h b/common/config/devConf.h index 8a35a0fa..73252e35 100644 --- a/common/config/devConf.h +++ b/common/config/devConf.h @@ -28,6 +28,7 @@ static constexpr spi::SpiModes DEFAULT_L3G_MODE = spi::SpiModes::MODE_3; * the decoder and buffer circuits. Thus frequency is here defined to 1 MHz. */ static const uint32_t SUS_MAX1227_SPI_FREQ = 976'000; +static constexpr spi::SpiModes SUS_MAX_1227_MODE = spi::SpiModes::MODE_3; static constexpr uint32_t DEFAULT_MAX_1227_SPEED = 976'000; static constexpr spi::SpiModes DEFAULT_MAX_1227_MODE = spi::SpiModes::MODE_3; diff --git a/generators/events/translateEvents.cpp b/generators/events/translateEvents.cpp index 93802bbf..f04a44e0 100644 --- a/generators/events/translateEvents.cpp +++ b/generators/events/translateEvents.cpp @@ -1,7 +1,7 @@ /** * @brief Auto-generated event translation file. Contains 167 translations. * @details - * Generated on: 2022-03-22 10:19:12 + * Generated on: 2022-03-22 11:15:56 */ #include "translateEvents.h" diff --git a/generators/objects/translateObjects.cpp b/generators/objects/translateObjects.cpp index 95f9cae1..96167528 100644 --- a/generators/objects/translateObjects.cpp +++ b/generators/objects/translateObjects.cpp @@ -2,7 +2,7 @@ * @brief Auto-generated object translation file. * @details * Contains 114 translations. - * Generated on: 2022-03-22 10:13:27 + * Generated on: 2022-03-22 11:16:03 */ #include "translateObjects.h" diff --git a/linux/fsfwconfig/events/translateEvents.cpp b/linux/fsfwconfig/events/translateEvents.cpp index 93802bbf..f04a44e0 100644 --- a/linux/fsfwconfig/events/translateEvents.cpp +++ b/linux/fsfwconfig/events/translateEvents.cpp @@ -1,7 +1,7 @@ /** * @brief Auto-generated event translation file. Contains 167 translations. * @details - * Generated on: 2022-03-22 10:19:12 + * Generated on: 2022-03-22 11:15:56 */ #include "translateEvents.h" diff --git a/linux/fsfwconfig/objects/translateObjects.cpp b/linux/fsfwconfig/objects/translateObjects.cpp index 95f9cae1..96167528 100644 --- a/linux/fsfwconfig/objects/translateObjects.cpp +++ b/linux/fsfwconfig/objects/translateObjects.cpp @@ -2,7 +2,7 @@ * @brief Auto-generated object translation file. * @details * Contains 114 translations. - * Generated on: 2022-03-22 10:13:27 + * Generated on: 2022-03-22 11:16:03 */ #include "translateObjects.h" diff --git a/linux/obc/PdecHandler.cpp b/linux/obc/PdecHandler.cpp index f97c3965..b302d99e 100644 --- a/linux/obc/PdecHandler.cpp +++ b/linux/obc/PdecHandler.cpp @@ -24,7 +24,9 @@ PdecHandler::PdecHandler(object_id_t objectId, object_id_t tcDestinationId, uioRamMemory(uioRamMemory), uioRegisters(uioRegisters), actionHelper(this, nullptr) { - commandQueue = QueueFactory::instance()->createMessageQueue(QUEUE_SIZE); + auto mqArgs = MqArgs(objectId, static_cast(this)); + commandQueue = QueueFactory::instance()->createMessageQueue( + QUEUE_SIZE, MessageQueueMessage::MAX_MESSAGE_SIZE, &mqArgs); } PdecHandler::~PdecHandler() {} diff --git a/mission/system/PlPcduAssembly.cpp b/mission/system/PlPcduAssembly.cpp new file mode 100644 index 00000000..88403be2 --- /dev/null +++ b/mission/system/PlPcduAssembly.cpp @@ -0,0 +1 @@ +#include "PlPcduAssembly.h" diff --git a/mission/system/PlPcduAssembly.h b/mission/system/PlPcduAssembly.h new file mode 100644 index 00000000..d74a6693 --- /dev/null +++ b/mission/system/PlPcduAssembly.h @@ -0,0 +1,4 @@ +#ifndef MISSION_SYSTEM_PLPCDUASSEMBLY_H_ +#define MISSION_SYSTEM_PLPCDUASSEMBLY_H_ + +#endif /* MISSION_SYSTEM_PLPCDUASSEMBLY_H_ */ diff --git a/mission/system/TcsSubsystem.cpp b/mission/system/TcsSubsystem.cpp index 3ecfde2b..438481a3 100644 --- a/mission/system/TcsSubsystem.cpp +++ b/mission/system/TcsSubsystem.cpp @@ -1 +1,20 @@ #include "TcsSubsystem.h" + +TcsSubsystem::TcsSubsystem(object_id_t objectId, object_id_t parentId, TcsBoardHelper helper) + : SubsystemBase(objectId, parentId, MODE_OFF, 24), helper(helper) { +} + +ReturnValue_t TcsSubsystem::handleCommandMessage(CommandMessage *message) { + return RETURN_OK; +} + +void TcsSubsystem::performChildOperation() { +} + +ReturnValue_t TcsSubsystem::checkModeCommand(Mode_t mode, Submode_t submode, + uint32_t *msToReachTheMode) { + return RETURN_OK; +} + +void TcsSubsystem::startTransition(Mode_t mode, Submode_t submode) { +} diff --git a/mission/system/TcsSubsystem.h b/mission/system/TcsSubsystem.h index a4849bc0..fe5bb3af 100644 --- a/mission/system/TcsSubsystem.h +++ b/mission/system/TcsSubsystem.h @@ -3,8 +3,26 @@ #include -class TcsSubsystem: SubsystemBase { +struct TcsBoardHelper { + TcsBoardHelper(std::array rtdIds): rtdIds(rtdIds) {} + std::array rtdIds = {}; +}; + +class TcsSubsystem: public SubsystemBase { +public: + TcsSubsystem(object_id_t objectId, object_id_t parentId, TcsBoardHelper helper); +private: + ReturnValue_t handleCommandMessage(CommandMessage *message) override; + + void performChildOperation() override; + + ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode, + uint32_t *msToReachTheMode) override; + + void startTransition(Mode_t mode, Submode_t submode) override; + + TcsBoardHelper helper; }; #endif /* MISSION_SYSTEM_TCSSUBSYSTEM_H_ */ diff --git a/tmtc b/tmtc index 1b961371..c2bdb232 160000 --- a/tmtc +++ b/tmtc @@ -1 +1 @@ -Subproject commit 1b96137148217755c416c8e9554e82bdfe96d31f +Subproject commit c2bdb2326b14fd05e6360e05c3820bd44d75a9cc