diff --git a/CHANGELOG.md b/CHANGELOG.md index a13d3d1d..08f904a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,10 +19,15 @@ will consitute of a breaking change warranting a new major release: ## Changed - Swapped PL and PS I2C, BPX battery and MGT are connected to PS I2C now for firmware versions - above v4. However, this software version ins compatible to both v3 and v4 of the firmware. + equal or above v4. However, this software version is compatible to both v3 and v4 of the firmware. - The firmware version variables are global statics inititalized early during the program runtime now. This makes it possible to check the firmware version earlier. +## Fixed + +- TMP1075: Set dataset invalid on shutdown explicitely +- Small fixes for TMP1075 FDIR: Use strange and missed reply counters. + # [v6.0.0] 2023-07-02 - `q7s-package` version v3.2.0 diff --git a/bsp_q7s/scheduling.cpp b/bsp_q7s/scheduling.cpp index b41eade2..d7c179ad 100644 --- a/bsp_q7s/scheduling.cpp +++ b/bsp_q7s/scheduling.cpp @@ -540,7 +540,7 @@ void scheduling::createPstTasks(TaskFactory& factory, TaskDeadlineMissedFunction tmpSchedConf.schedulePlPcduDev1 = true; tmpSchedConf.scheduleIfBoardDev = true; #endif - result = pst::pstProgammableLogicI2c(tmpSchedConf, i2cPst); + result = pst::pstI2c(tmpSchedConf, i2cPst); if (result != returnvalue::OK) { if (result == FixedTimeslotTaskIF::SLOT_LIST_EMPTY) { sif::warning << "scheduling::initTasks: I2C PST is empty" << std::endl; diff --git a/mission/pollingSeqTables.cpp b/mission/pollingSeqTables.cpp index e2fba92c..e18046d5 100644 --- a/mission/pollingSeqTables.cpp +++ b/mission/pollingSeqTables.cpp @@ -39,8 +39,7 @@ ReturnValue_t pst::pstSyrlinks(FixedTimeslotTaskIF *thisSequence) { // I don't think this needs to be in a PST because linux takes care of bus serialization, but // keep it like this for now, it works -ReturnValue_t pst::pstProgammableLogicI2c(TmpSchedConfig schedConf, - FixedTimeslotTaskIF *thisSequence) { +ReturnValue_t pst::pstI2c(TmpSchedConfig schedConf, FixedTimeslotTaskIF *thisSequence) { // Length of a communication cycle uint32_t length = thisSequence->getPeriodMs(); static_cast(length); diff --git a/mission/pollingSeqTables.h b/mission/pollingSeqTables.h index 831d78be..5df3c954 100644 --- a/mission/pollingSeqTables.h +++ b/mission/pollingSeqTables.h @@ -61,7 +61,7 @@ ReturnValue_t pstSyrlinks(FixedTimeslotTaskIF* thisSequence); ReturnValue_t pstTcsAndAcs(FixedTimeslotTaskIF* thisSequence, AcsPstCfg cfg); -ReturnValue_t pstProgammableLogicI2c(TmpSchedConfig schedConf, FixedTimeslotTaskIF* thisSequence); +ReturnValue_t pstI2c(TmpSchedConfig schedConf, FixedTimeslotTaskIF* thisSequence); /** * Generic test PST diff --git a/mission/system/tcs/TmpDevFdir.cpp b/mission/system/tcs/TmpDevFdir.cpp index 4034f2e3..8c2b1706 100644 --- a/mission/system/tcs/TmpDevFdir.cpp +++ b/mission/system/tcs/TmpDevFdir.cpp @@ -20,7 +20,7 @@ ReturnValue_t TmpDevFdir::eventReceived(EventMessage* event) { // We'll try a recovery as long as defined in MAX_REBOOT. // Might cause some AssemblyBase cycles, so keep number low. // Ignored for TMP device, no way to power cycle it without going to OFF/BOOT mode. - // handleRecovery(event->getEvent()); + setFaulty(event->getEvent()); break; case DeviceHandlerIF::DEVICE_INTERPRETING_REPLY_FAILED: case DeviceHandlerIF::DEVICE_READING_REPLY_FAILED: @@ -28,7 +28,7 @@ ReturnValue_t TmpDevFdir::eventReceived(EventMessage* event) { case DeviceHandlerIF::DEVICE_UNKNOWN_REPLY: // Some DH's generate generic reply-ids. case DeviceHandlerIF::DEVICE_BUILDING_COMMAND_FAILED: // These faults all mean that there were stupid replies from a device. - // With now way to do a recovery, set the device to faulty immediately. + // With no way to do a recovery, set the device to faulty instead of trying a recovery. if (strangeReplyCount.incrementAndCheck()) { setFaulty(event->getEvent()); } diff --git a/mission/tcs/Tmp1075Handler.cpp b/mission/tcs/Tmp1075Handler.cpp index 07f3703c..575a5fdf 100644 --- a/mission/tcs/Tmp1075Handler.cpp +++ b/mission/tcs/Tmp1075Handler.cpp @@ -1,4 +1,5 @@ #include +#include #include #include @@ -15,6 +16,8 @@ void Tmp1075Handler::doStartUp() { setMode(MODE_ON); } void Tmp1075Handler::doShutDown() { communicationStep = CommunicationStep::START_ADC_CONVERSION; + PoolReadGuard pg(&dataset); + dataset.setValidity(false, true); setMode(_MODE_POWER_DOWN); } diff --git a/tmtc b/tmtc index 18304c31..c48f04ee 160000 --- a/tmtc +++ b/tmtc @@ -1 +1 @@ -Subproject commit 18304c31fa423b1af6ff47764d4be81c7f20c8f2 +Subproject commit c48f04eed5152f319b217870292968fb67b763d4