diff --git a/.gitmodules b/.gitmodules index 76fb8527..e1ea03a4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,9 +10,6 @@ [submodule "thirdparty/lwgps"] path = thirdparty/lwgps url = https://github.com/rmspacefish/lwgps.git -[submodule "thirdparty/arcsec_star_tracker"] - path = thirdparty/arcsec_star_tracker - url = https://egit.irs.uni-stuttgart.de/eive/arcsec_star_tracker.git [submodule "thirdparty/json"] path = thirdparty/json url = https://github.com/nlohmann/json.git @@ -22,3 +19,6 @@ [submodule "thirdparty/gomspace-sw"] path = thirdparty/gomspace-sw url = https://egit.irs.uni-stuttgart.de/eive/gomspace-sw.git +[submodule "thirdparty/sagittactl"] + path = thirdparty/sagittactl + url = https://egit.irs.uni-stuttgart.de/eive/sagittactl.git diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a160c55..029f2a7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ will consitute of a breaking change warranting a new major release: # [unreleased] - q7s-package: v2.5.0 +- STR firmware was updated to v10.3 ## Fixed @@ -27,6 +28,10 @@ will consitute of a breaking change warranting a new major release: like firmware updates. - Bugfix for shell command executors in command controller which lead to a crash. +## Changed + +- STR `wire` library updated to v10.3. Submodule renamed to `sagittactl`. + ## Added - Add a way for the MAX31865 RTD handlers to recognize faulty/broken/off sensor devices. @@ -36,6 +41,7 @@ will consitute of a breaking change warranting a new major release: - Added action commands to reset the PDEC. Also added autonomous reset handling for the PDEC, because there is no way so send TCs with a faulty PDEC. + # [v1.44.1] 2023-04-12 - eive-tmtc: v2.22.1 diff --git a/CMakeLists.txt b/CMakeLists.txt index f2ac6db1..71a94ff9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -223,7 +223,7 @@ set(LIB_EIVE_MISSION_PATH mission) set(LIB_ETL_PATH ${THIRD_PARTY_FOLDER}/etl) set(LIB_CATCH2_PATH ${THIRD_PARTY_FOLDER}/Catch2) set(LIB_LWGPS_PATH ${THIRD_PARTY_FOLDER}/lwgps) -set(LIB_ARCSEC_PATH ${THIRD_PARTY_FOLDER}/arcsec_star_tracker) +set(LIB_ARCSEC_PATH ${THIRD_PARTY_FOLDER}/sagittactl) set(LIB_JSON_PATH ${THIRD_PARTY_FOLDER}/json) set(FSFW_WARNING_SHADOW_LOCAL_GCC OFF) diff --git a/linux/acs/CMakeLists.txt b/linux/acs/CMakeLists.txt index 99cacbc2..5b5b5ac8 100644 --- a/linux/acs/CMakeLists.txt +++ b/linux/acs/CMakeLists.txt @@ -1,6 +1,10 @@ -target_sources( - ${OBSW_NAME} PUBLIC AcsBoardPolling.cpp ImtqPollingTask.cpp RwPollingTask.cpp - SusPolling.cpp StrComHandler.cpp) +target_sources(${OBSW_NAME} PUBLIC AcsBoardPolling.cpp ImtqPollingTask.cpp + RwPollingTask.cpp SusPolling.cpp) + +# Dependency on proprietary library +if(TGT_BSP MATCHES "arm/q7s") + target_sources(${OBSW_NAME} PUBLIC StrComHandler.cpp) +endif() if(EIVE_BUILD_GPSD_GPS_HANDLER) target_sources(${OBSW_NAME} PRIVATE GpsHyperionLinuxController.cpp) diff --git a/linux/acs/StrComHandler.h b/linux/acs/StrComHandler.h index 385e8b2e..d8542f26 100644 --- a/linux/acs/StrComHandler.h +++ b/linux/acs/StrComHandler.h @@ -11,8 +11,6 @@ #include "bsp_q7s/fs/SdCardManager.h" #endif -#include "arcsec/client/generated/actionreq.h" -#include "arcsec/common/generated/tmtcstructs.h" #include "fsfw/devicehandlers/CookieIF.h" #include "fsfw/objectmanager/SystemObject.h" #include "fsfw/osal/linux/BinarySemaphore.h" @@ -20,6 +18,10 @@ #include "fsfw/tasks/ExecutableObjectIF.h" #include "fsfw_hal/linux/serial/SerialComIF.h" +extern "C" { +#include +} + /** * @brief Helper class for the star tracker handler to accelerate large data transfers. * diff --git a/mission/acs/str/ArcsecDatalinkLayer.cpp b/mission/acs/str/ArcsecDatalinkLayer.cpp index 532c12b8..d67f6e75 100644 --- a/mission/acs/str/ArcsecDatalinkLayer.cpp +++ b/mission/acs/str/ArcsecDatalinkLayer.cpp @@ -1,4 +1,8 @@ -#include +#include "ArcsecDatalinkLayer.h" + +extern "C" { +#include +} ArcsecDatalinkLayer::ArcsecDatalinkLayer() : decodeRingBuf(BUFFER_LENGTHS, true) { slipInit(); } @@ -18,13 +22,10 @@ ReturnValue_t ArcsecDatalinkLayer::checkRingBufForFrame(const uint8_t** decodedF case ARC_DEC_INPROGRESS: { break; } - case ARC_DEC_ERROR_FRAME_SHORT: { + case ARC_DEC_ERROR: { decodeRingBuf.deleteData(idx); - return REPLY_TOO_SHORT; + return returnvalue::FAILED; } - case ARC_DEC_ERROR_CHECKSUM: - decodeRingBuf.deleteData(idx); - return CRC_FAILURE; case ARC_DEC_ASYNC: case ARC_DEC_SYNC: { // Reset length of SLIP struct for next frame diff --git a/mission/acs/str/ArcsecDatalinkLayer.h b/mission/acs/str/ArcsecDatalinkLayer.h index 404d9e52..1453e517 100644 --- a/mission/acs/str/ArcsecDatalinkLayer.h +++ b/mission/acs/str/ArcsecDatalinkLayer.h @@ -5,10 +5,13 @@ #include #include -#include "arcsec/common/misc.h" #include "eive/resultClassIds.h" #include "fsfw/returnvalues/returnvalue.h" +extern "C" { +#include +} + /** * @brief Helper class to handle the datalinklayer of replies from the star tracker of arcsec. */ diff --git a/mission/acs/str/ArcsecJsonParamBase.cpp b/mission/acs/str/ArcsecJsonParamBase.cpp index b5dd2150..58c54d30 100644 --- a/mission/acs/str/ArcsecJsonParamBase.cpp +++ b/mission/acs/str/ArcsecJsonParamBase.cpp @@ -3,6 +3,10 @@ #include "arcsecJsonKeys.h" +extern "C" { +#include +} + ArcsecJsonParamBase::ArcsecJsonParamBase(std::string setName) : setName(setName) {} ReturnValue_t ArcsecJsonParamBase::create(uint8_t* buffer) { diff --git a/mission/acs/str/ArcsecJsonParamBase.h b/mission/acs/str/ArcsecJsonParamBase.h index 90c54f45..4c4a7a90 100644 --- a/mission/acs/str/ArcsecJsonParamBase.h +++ b/mission/acs/str/ArcsecJsonParamBase.h @@ -7,8 +7,6 @@ #include #include -#include "arcsec/common/generated/tmtcstructs.h" -#include "arcsec/common/genericstructs.h" #include "eive/resultClassIds.h" #include "fsfw/returnvalues/returnvalue.h" diff --git a/mission/acs/str/StarTrackerHandler.cpp b/mission/acs/str/StarTrackerHandler.cpp index 3837d9e5..54af25da 100644 --- a/mission/acs/str/StarTrackerHandler.cpp +++ b/mission/acs/str/StarTrackerHandler.cpp @@ -1,18 +1,18 @@ -#include -#include -#include #include #include #include #include #include +extern "C" { +#include +} + #include #include #include #include "OBSWConfig.h" -#include "arcsec/common/misc.h" std::atomic_bool JCFG_DONE(false); diff --git a/mission/acs/str/StarTrackerHandler.h b/mission/acs/str/StarTrackerHandler.h index f143a660..ea46cb43 100644 --- a/mission/acs/str/StarTrackerHandler.h +++ b/mission/acs/str/StarTrackerHandler.h @@ -10,12 +10,15 @@ #include #include "OBSWConfig.h" -#include "arcsec/common/SLIP.h" #include "devices/powerSwitcherList.h" #include "fsfw/devicehandlers/DeviceHandlerBase.h" #include "fsfw/src/fsfw/serialize/SerializeAdapter.h" #include "fsfw/timemanager/Countdown.h" +extern "C" { +#include +} + /** * @brief This is the device handler for the star tracker from arcsec. * diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt index e300cd11..3a5110c9 100644 --- a/thirdparty/CMakeLists.txt +++ b/thirdparty/CMakeLists.txt @@ -4,7 +4,8 @@ endif() # Dependency on proprietary library if(TGT_BSP MATCHES "arm/q7s") - add_subdirectory(arcsec_star_tracker) + # Only add required folder for wire library. + add_subdirectory(sagittactl/wire) endif() add_subdirectory(rapidcsv) diff --git a/thirdparty/arcsec_star_tracker b/thirdparty/arcsec_star_tracker deleted file mode 160000 index 2823952e..00000000 --- a/thirdparty/arcsec_star_tracker +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2823952e0902726e6e35dd7c159761f76bf7e505 diff --git a/thirdparty/sagittactl b/thirdparty/sagittactl new file mode 160000 index 00000000..64332216 --- /dev/null +++ b/thirdparty/sagittactl @@ -0,0 +1 @@ +Subproject commit 64332216c193fa6483258060b53fc2842c08dcf4