diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ae5eed8..e4b90ab3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,20 @@ will consitute of a breaking change warranting a new major release: # [unreleased] +- q7s-package: v2.5.0 + +## Fixed + +- Small fix for `install-obsw-yocto.sh` script + +## Added + +- Add a way for the MAX31865 RTD handlers to recognize faulty/broken/off sensor devices. + +# [v1.44.1] 2023-04-12 + +- eive-tmtc: v2.22.1 + ## Fixed - Bugfixes and improvements for SDC state machine. Internal state was not updated correctly due diff --git a/CMakeLists.txt b/CMakeLists.txt index 9729ef6f..f2ac6db1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ cmake_minimum_required(VERSION 3.13) set(OBSW_VERSION_MAJOR 1) set(OBSW_VERSION_MINOR 44) -set(OBSW_VERSION_REVISION 0) +set(OBSW_VERSION_REVISION 1) # set(CMAKE_VERBOSE TRUE) diff --git a/mission/cfdp/CMakeLists.txt b/mission/cfdp/CMakeLists.txt index 97d7142b..71d62ce8 100644 --- a/mission/cfdp/CMakeLists.txt +++ b/mission/cfdp/CMakeLists.txt @@ -1,3 +1 @@ - -target_sources( - ${LIB_EIVE_MISSION} PRIVATE CfdpHandler.cpp) +target_sources(${LIB_EIVE_MISSION} PRIVATE CfdpHandler.cpp) diff --git a/mission/genericFactory.cpp b/mission/genericFactory.cpp index cbef2f77..9889fe9e 100644 --- a/mission/genericFactory.cpp +++ b/mission/genericFactory.cpp @@ -1,5 +1,4 @@ #include -#include #include #include #include @@ -23,6 +22,7 @@ #include #include #include +#include #include #include #include diff --git a/mission/tcs/Max31865EiveHandler.cpp b/mission/tcs/Max31865EiveHandler.cpp index 284a2d0c..599071ef 100644 --- a/mission/tcs/Max31865EiveHandler.cpp +++ b/mission/tcs/Max31865EiveHandler.cpp @@ -1,6 +1,8 @@ #include #include +#include "fsfw/thermal/tcsDefinitions.h" + Max31865EiveHandler::Max31865EiveHandler(object_id_t objectId, object_id_t comIF, CookieIF* comCookie) : DeviceHandlerBase(objectId, comIF, comCookie, nullptr), @@ -152,6 +154,15 @@ ReturnValue_t Max31865EiveHandler::interpretDeviceReply(DeviceCommandId_t id, transitionOk = true; return returnvalue::OK; } + // If the 15 received bits are all ones, this is considered a case where the device does not + // work because it does not drive the MISO line. This can happens if the sensor is broken + // or off. + if (exchangeStruct.adcCode == 0x7fff) { + PoolReadGuard pg(&sensorDataset); + sensorDataset.temperatureCelcius.setValid(false); + sensorDataset.temperatureCelcius = thermal::INVALID_TEMPERATURE; + return returnvalue::FAILED; + } // Calculate resistance float rtdValue = exchangeStruct.adcCode * EiveMax31855::RTD_RREF_PT1000 / INT16_MAX; diff --git a/scripts/install-obsw-yocto.sh b/scripts/install-obsw-yocto.sh index 08fb78d3..ae6fbee7 100755 --- a/scripts/install-obsw-yocto.sh +++ b/scripts/install-obsw-yocto.sh @@ -11,7 +11,7 @@ fi init_dir=$(pwd) obsw_root="" -q7s_yocto_dir="q7s-yocto" +q7s_yocto_dir="yocto" q7s_package_path="q7s-package/${q7s_yocto_dir}" obsw_version_filename="obsw_version.txt" diff --git a/tmtc b/tmtc index f075d289..01b3a894 160000 --- a/tmtc +++ b/tmtc @@ -1 +1 @@ -Subproject commit f075d28905b42a018b275d8c640cb0fd9d64dc26 +Subproject commit 01b3a894e66e7f38dd2e7a35e329e99a6199b7f1