diff --git a/CHANGELOG.md b/CHANGELOG.md index f763c678..53beac03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,14 @@ will consitute of a breaking change warranting a new major release: - Both the `AcsController` and the `PwrController` now use the monotonic clock to calculate the time difference. +# [v7.4.1] 2023-12-06 + +## Fixed + +- Schedule SCEX again. Scheduling was removed accidentaly when Payload Task was converted to a PST. +- SCEX transition was previously 0 seconds.. which did not lead to bugs? In any case it is 5 + seconds now. + # [v7.4.0] 2023-11-30 - `eive-tmtc` v5.11.0 diff --git a/CMakeLists.txt b/CMakeLists.txt index b3d0b344..29d1ba23 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ cmake_minimum_required(VERSION 3.13) set(OBSW_VERSION_MAJOR 7) set(OBSW_VERSION_MINOR 4) -set(OBSW_VERSION_REVISION 0) +set(OBSW_VERSION_REVISION 1) # set(CMAKE_VERBOSE TRUE) diff --git a/bsp_q7s/objectFactory.cpp b/bsp_q7s/objectFactory.cpp index 0880785b..ab400227 100644 --- a/bsp_q7s/objectFactory.cpp +++ b/bsp_q7s/objectFactory.cpp @@ -39,9 +39,7 @@ #include "bsp_q7s/acs/StrConfigPathGetter.h" #include "bsp_q7s/boardtest/Q7STestTask.h" #include "bsp_q7s/callbacks/gnssCallback.h" -#include "bsp_q7s/callbacks/pcduSwitchCb.h" #include "bsp_q7s/callbacks/q7sGpioCallbacks.h" -#include "bsp_q7s/callbacks/rwSpiCallback.h" #include "busConf.h" #include "ccsdsConfig.h" #include "devConf.h" @@ -73,7 +71,7 @@ #include "mission/system/tcs/RtdFdir.h" #include "mission/system/tcs/TcsBoardAssembly.h" #include "mission/system/tcs/tcsModeTree.h" -#include "mission/system/tree/payloadModeTree.h" +#include "mission/system/payloadModeTree.h" #include "mission/tmtc/tmFilters.h" #include "mission/utility/GlobalConfigHandler.h" #include "tmtc/pusIds.h" diff --git a/dummies/helperFactory.cpp b/dummies/helperFactory.cpp index 42ec1eec..0485446b 100644 --- a/dummies/helperFactory.cpp +++ b/dummies/helperFactory.cpp @@ -41,7 +41,7 @@ #include "mission/system/acs/acsModeTree.h" #include "mission/system/com/comModeTree.h" #include "mission/system/tcs/tcsModeTree.h" -#include "mission/system/tree/payloadModeTree.h" +#include "mission/system/payloadModeTree.h" #include "mission/tcs/defs.h" void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitcher, GpioIF* gpioIF, diff --git a/linux/ObjectFactory.cpp b/linux/ObjectFactory.cpp index 4956c1d6..5626ee49 100644 --- a/linux/ObjectFactory.cpp +++ b/linux/ObjectFactory.cpp @@ -24,14 +24,10 @@ #include "OBSWConfig.h" #include "devConf.h" -#include "devices/addresses.h" #include "devices/gpioIds.h" -#include "eive/definitions.h" #include "mission/system/acs/acsModeTree.h" +#include "mission/system/payloadModeTree.h" #include "mission/system/power/epsModeTree.h" -#include "mission/system/tcs/tcsModeTree.h" -#include "mission/system/tree/payloadModeTree.h" -#include "mission/tcs/defs.h" void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiComIF, PowerSwitchIF& pwrSwitcher, std::string spiDev, diff --git a/linux/scheduling.cpp b/linux/scheduling.cpp index d1b7853f..28d15090 100644 --- a/linux/scheduling.cpp +++ b/linux/scheduling.cpp @@ -47,35 +47,3 @@ void scheduling::addMpsocSupvHandlers(PeriodicTaskIF* plTask) { plTask->addComponent(objects::PLOC_MPSOC_HANDLER, DeviceHandlerIF::SEND_READ); plTask->addComponent(objects::PLOC_MPSOC_HANDLER, DeviceHandlerIF::GET_READ); } - -void scheduling::scheduleScexDev(PeriodicTaskIF*& scexDevHandler) { - ReturnValue_t result = - scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::PERFORM_OPERATION); - if (result != returnvalue::OK) { - printAddObjectError("SCEX_DEV", objects::SCEX); - } - result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::SEND_WRITE); - if (result != returnvalue::OK) { - printAddObjectError("SCEX_DEV", objects::SCEX); - } - result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::GET_WRITE); - if (result != returnvalue::OK) { - printAddObjectError("SCEX_DEV", objects::SCEX); - } - result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::SEND_READ); - if (result != returnvalue::OK) { - printAddObjectError("SCEX_DEV", objects::SCEX); - } - result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::GET_READ); - if (result != returnvalue::OK) { - printAddObjectError("SCEX_DEV", objects::SCEX); - } - result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::SEND_READ); - if (result != returnvalue::OK) { - printAddObjectError("SCEX_DEV", objects::SCEX); - } - result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::GET_READ); - if (result != returnvalue::OK) { - printAddObjectError("SCEX_DEV", objects::SCEX); - } -} diff --git a/linux/scheduling.h b/linux/scheduling.h index d6c5b1f1..82cf4dc9 100644 --- a/linux/scheduling.h +++ b/linux/scheduling.h @@ -8,7 +8,6 @@ namespace scheduling { extern PosixThreadArgs RR_SCHEDULING; extern PosixThreadArgs NORMAL_SCHEDULING; -void scheduleScexDev(PeriodicTaskIF*& scexDevHandler); void scheduleScexReader(TaskFactory& factory, PeriodicTaskIF*& scexReaderTask); void addMpsocSupvHandlers(PeriodicTaskIF* task); } // namespace scheduling diff --git a/mission/acs/str/strHelpers.h b/mission/acs/str/strHelpers.h index 8f83331d..9f284725 100644 --- a/mission/acs/str/strHelpers.h +++ b/mission/acs/str/strHelpers.h @@ -7,7 +7,7 @@ #include #include -#include "objects/systemObjectList.h" +#include namespace startracker { diff --git a/mission/payload/ScexDeviceHandler.cpp b/mission/payload/ScexDeviceHandler.cpp index ac668cdf..0d15c822 100644 --- a/mission/payload/ScexDeviceHandler.cpp +++ b/mission/payload/ScexDeviceHandler.cpp @@ -307,7 +307,7 @@ void ScexDeviceHandler::performOperationHook() { } } -uint32_t ScexDeviceHandler::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return OK; } +uint32_t ScexDeviceHandler::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return 5000; } ReturnValue_t ScexDeviceHandler::getSwitches(const uint8_t** switches, uint8_t* numberOfSwitches) { if (switchId) { diff --git a/mission/pollingSeqTables.cpp b/mission/pollingSeqTables.cpp index 1b369292..b6e99899 100644 --- a/mission/pollingSeqTables.cpp +++ b/mission/pollingSeqTables.cpp @@ -628,7 +628,13 @@ ReturnValue_t pst::pstPayload(FixedTimeslotTaskIF *thisSequence) { FreshSupvHandler::OpCode::PARSE_TM); thisSequence->addSlot(objects::PLOC_SUPERVISOR_HANDLER, length * 0.2, FreshSupvHandler::OpCode::PARSE_TM); - static_cast(length); + thisSequence->addSlot(objects::SCEX, length * 0.6, DeviceHandlerIF::PERFORM_OPERATION); + thisSequence->addSlot(objects::SCEX, length * 0.6, DeviceHandlerIF::SEND_WRITE); + thisSequence->addSlot(objects::SCEX, length * 0.6, DeviceHandlerIF::GET_WRITE); + thisSequence->addSlot(objects::SCEX, length * 0.6, DeviceHandlerIF::SEND_READ); + thisSequence->addSlot(objects::SCEX, length * 0.6, DeviceHandlerIF::GET_READ); + thisSequence->addSlot(objects::SCEX, length * 0.8, DeviceHandlerIF::SEND_READ); + thisSequence->addSlot(objects::SCEX, length * 0.8, DeviceHandlerIF::GET_READ); return thisSequence->checkSequence(); } diff --git a/mission/system/CMakeLists.txt b/mission/system/CMakeLists.txt index 116c0438..6b63b706 100644 --- a/mission/system/CMakeLists.txt +++ b/mission/system/CMakeLists.txt @@ -1,5 +1,4 @@ add_subdirectory(objects) -add_subdirectory(tree) add_subdirectory(acs) add_subdirectory(tcs) add_subdirectory(com) @@ -8,4 +7,4 @@ add_subdirectory(power) target_sources( ${LIB_EIVE_MISSION} PRIVATE systemTree.cpp DualLanePowerStateMachine.cpp EiveSystem.cpp - treeUtil.cpp SharedPowerAssemblyBase.cpp) + treeUtil.cpp SharedPowerAssemblyBase.cpp payloadModeTree.cpp) diff --git a/mission/system/tree/payloadModeTree.cpp b/mission/system/payloadModeTree.cpp similarity index 100% rename from mission/system/tree/payloadModeTree.cpp rename to mission/system/payloadModeTree.cpp diff --git a/mission/system/tree/payloadModeTree.h b/mission/system/payloadModeTree.h similarity index 100% rename from mission/system/tree/payloadModeTree.h rename to mission/system/payloadModeTree.h diff --git a/mission/system/systemTree.cpp b/mission/system/systemTree.cpp index eeb0c08c..f636b248 100644 --- a/mission/system/systemTree.cpp +++ b/mission/system/systemTree.cpp @@ -6,15 +6,13 @@ #include #include -#include - #include "eive/objects.h" #include "mission/com/defs.h" #include "mission/sysDefs.h" #include "mission/system/acs/acsModeTree.h" +#include "mission/system/payloadModeTree.h" #include "mission/system/power/epsModeTree.h" #include "mission/system/tcs/tcsModeTree.h" -#include "mission/system/tree/payloadModeTree.h" #include "treeUtil.h" namespace { diff --git a/mission/system/tree/CMakeLists.txt b/mission/system/tree/CMakeLists.txt deleted file mode 100644 index 7b546846..00000000 --- a/mission/system/tree/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -target_sources(${LIB_EIVE_MISSION} PRIVATE payloadModeTree.cpp)