diff --git a/CMakeLists.txt b/CMakeLists.txt index 6798ded7..f0ab6abe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -407,7 +407,6 @@ add_subdirectory(thirdparty) if(EIVE_ADD_LINUX_FILES) if(TGT_BSP MATCHES "arm/q7s") add_subdirectory(${LIB_GOMSPACE_PATH}) - add_subdirectory(${LIB_ARCSEC_PATH}) endif() add_subdirectory(${LINUX_PATH}) endif() diff --git a/bsp_q7s/core/ObjectFactory.cpp b/bsp_q7s/core/ObjectFactory.cpp index bd3917d5..ba7a0c99 100644 --- a/bsp_q7s/core/ObjectFactory.cpp +++ b/bsp_q7s/core/ObjectFactory.cpp @@ -2,13 +2,16 @@ #include #include +#include #include #include -#include +#include #include #include #include #include +#include +#include #include #include #include @@ -33,16 +36,13 @@ #include "eive/definitions.h" #include "fsfw/ipc/QueueFactory.h" #include "linux/ObjectFactory.h" -#include "linux/acs/startracker/StarTrackerHandler.h" #include "linux/boardtest/I2cTestClass.h" #include "linux/boardtest/SpiTestClass.h" #include "linux/boardtest/UartTestClass.h" #include "linux/callbacks/gpioCallbacks.h" #include "linux/csp/CspComIF.h" -#include "linux/devices/GpsHyperionLinuxController.h" #include "linux/devices/ScexUartReader.h" #include "linux/devices/devicedefinitions/PlocMPSoCDefinitions.h" -#include "linux/devices/devicedefinitions/StarTrackerDefinitions.h" #include "linux/devices/ploc/PlocMPSoCHandler.h" #include "linux/devices/ploc/PlocMPSoCHelper.h" #include "linux/devices/ploc/PlocMemoryDumper.h" diff --git a/dummies/StarTrackerDummy.cpp b/dummies/StarTrackerDummy.cpp index 71f0030c..5ee53b8c 100644 --- a/dummies/StarTrackerDummy.cpp +++ b/dummies/StarTrackerDummy.cpp @@ -1,6 +1,6 @@ #include "StarTrackerDummy.h" -#include +#include StarTrackerDummy::StarTrackerDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie) : DeviceHandlerBase(objectId, comif, comCookie) {} diff --git a/linux/acs/CMakeLists.txt b/linux/acs/CMakeLists.txt index 532dced3..99cacbc2 100644 --- a/linux/acs/CMakeLists.txt +++ b/linux/acs/CMakeLists.txt @@ -1,7 +1,7 @@ -target_sources(${OBSW_NAME} PUBLIC AcsBoardPolling.cpp ImtqPollingTask.cpp - RwPollingTask.cpp SusPolling.cpp) +target_sources( + ${OBSW_NAME} PUBLIC AcsBoardPolling.cpp ImtqPollingTask.cpp RwPollingTask.cpp + SusPolling.cpp StrComHandler.cpp) -# Dependency on proprietary library -if(TGT_BSP MATCHES "arm/q7s") - add_subdirectory(startracker) +if(EIVE_BUILD_GPSD_GPS_HANDLER) + target_sources(${OBSW_NAME} PRIVATE GpsHyperionLinuxController.cpp) endif() diff --git a/linux/devices/GpsHyperionLinuxController.cpp b/linux/acs/GpsHyperionLinuxController.cpp similarity index 100% rename from linux/devices/GpsHyperionLinuxController.cpp rename to linux/acs/GpsHyperionLinuxController.cpp diff --git a/linux/devices/GpsHyperionLinuxController.h b/linux/acs/GpsHyperionLinuxController.h similarity index 100% rename from linux/devices/GpsHyperionLinuxController.h rename to linux/acs/GpsHyperionLinuxController.h diff --git a/linux/acs/startracker/StrComHandler.cpp b/linux/acs/StrComHandler.cpp similarity index 99% rename from linux/acs/startracker/StrComHandler.cpp rename to linux/acs/StrComHandler.cpp index 3dfa2169..c0fe3c45 100644 --- a/linux/acs/startracker/StrComHandler.cpp +++ b/linux/acs/StrComHandler.cpp @@ -4,6 +4,7 @@ #include #include #include +#include #include #include @@ -12,8 +13,6 @@ #include "OBSWConfig.h" #include "eive/definitions.h" #include "fsfw/timemanager/Countdown.h" -#include "helpers.h" -#include "linux/devices/devicedefinitions/StarTrackerDefinitions.h" #include "mission/utility/Filenaming.h" #include "mission/utility/ProgressPrinter.h" #include "mission/utility/Timestamp.h" @@ -554,12 +553,12 @@ ReturnValue_t StrComHandler::sendAndRead(size_t size, uint32_t failParameter) { } ReturnValue_t StrComHandler::checkActionReply(size_t replySize) { - uint8_t type = str::getReplyFrameType(replyPtr); + uint8_t type = startracker::getReplyFrameType(replyPtr); if (type != TMTC_ACTIONREPLY) { sif::warning << "StrHelper::checkActionReply: Received reply with invalid type ID" << std::endl; return INVALID_TYPE_ID; } - uint8_t status = str::getStatusField(replyPtr); + uint8_t status = startracker::getStatusField(replyPtr); if (status != ArcsecDatalinkLayer::STATUS_OK) { sif::warning << "StrHelper::checkActionReply: Status failure: " << static_cast(status) << std::endl; diff --git a/linux/acs/startracker/StrComHandler.h b/linux/acs/StrComHandler.h similarity index 99% rename from linux/acs/startracker/StrComHandler.h rename to linux/acs/StrComHandler.h index b581678c..52210036 100644 --- a/linux/acs/startracker/StrComHandler.h +++ b/linux/acs/StrComHandler.h @@ -1,9 +1,10 @@ #ifndef BSP_Q7S_DEVICES_STRHELPER_H_ #define BSP_Q7S_DEVICES_STRHELPER_H_ +#include + #include -#include "ArcsecDatalinkLayer.h" #include "OBSWConfig.h" #ifdef XIPHOS_Q7S diff --git a/linux/acs/startracker/helpers.cpp b/linux/acs/startracker/helpers.cpp deleted file mode 100644 index 112bc06a..00000000 --- a/linux/acs/startracker/helpers.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include "helpers.h" - -uint8_t str::getReplyFrameType(const uint8_t* rawFrame) { return rawFrame[0]; } - -uint8_t str::getId(const uint8_t* rawFrame) { return rawFrame[1]; } - -uint8_t str::getStatusField(const uint8_t* rawFrame) { return rawFrame[2]; } diff --git a/linux/acs/startracker/helpers.h b/linux/acs/startracker/helpers.h deleted file mode 100644 index 9b4f5f9e..00000000 --- a/linux/acs/startracker/helpers.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef LINUX_DEVICES_STARTRACKER_HELPERS_H_ -#define LINUX_DEVICES_STARTRACKER_HELPERS_H_ - -#include "arcsec/common/genericstructs.h" - -namespace str { - -/** - * @brief Returns the frame type field of a decoded frame. - */ -uint8_t getReplyFrameType(const uint8_t* rawFrame); -uint8_t getId(const uint8_t* rawFrame); -uint8_t getStatusField(const uint8_t* rawFrame); - -} // namespace str - -#endif /* LINUX_DEVICES_STARTRACKER_HELPERS_H_ */ diff --git a/linux/devices/CMakeLists.txt b/linux/devices/CMakeLists.txt index 2530b1cd..1f027fa2 100644 --- a/linux/devices/CMakeLists.txt +++ b/linux/devices/CMakeLists.txt @@ -1,7 +1,3 @@ -if(EIVE_BUILD_GPSD_GPS_HANDLER) - target_sources(${OBSW_NAME} PRIVATE GpsHyperionLinuxController.cpp) -endif() - target_sources(${OBSW_NAME} PRIVATE Max31865RtdPolling.cpp ScexUartReader.cpp ScexDleParser.cpp ScexHelper.cpp) diff --git a/mission/acs/CMakeLists.txt b/mission/acs/CMakeLists.txt index 3702df28..e518d948 100644 --- a/mission/acs/CMakeLists.txt +++ b/mission/acs/CMakeLists.txt @@ -11,3 +11,8 @@ target_sources( imtqHelpers.cpp rwHelpers.cpp defs.cpp) + +# Dependency on proprietary library +if(TGT_BSP MATCHES "arm/q7s") + add_subdirectory(str) +endif() diff --git a/mission/acs/imtqHelpers.h b/mission/acs/imtqHelpers.h index 87b69f8b..8fa2ebf0 100644 --- a/mission/acs/imtqHelpers.h +++ b/mission/acs/imtqHelpers.h @@ -8,6 +8,9 @@ class ImtqHandler; +// C garbage which can be included from gps.h +#undef STATUS_SET + namespace imtq { enum class RequestType : uint8_t { MEASURE_NO_ACTUATION, ACTUATE, DO_NOTHING }; diff --git a/linux/acs/startracker/ArcsecDatalinkLayer.cpp b/mission/acs/str/ArcsecDatalinkLayer.cpp similarity index 97% rename from linux/acs/startracker/ArcsecDatalinkLayer.cpp rename to mission/acs/str/ArcsecDatalinkLayer.cpp index 29043e32..532c12b8 100644 --- a/linux/acs/startracker/ArcsecDatalinkLayer.cpp +++ b/mission/acs/str/ArcsecDatalinkLayer.cpp @@ -1,4 +1,4 @@ -#include "ArcsecDatalinkLayer.h" +#include ArcsecDatalinkLayer::ArcsecDatalinkLayer() : decodeRingBuf(BUFFER_LENGTHS, true) { slipInit(); } diff --git a/linux/acs/startracker/ArcsecDatalinkLayer.h b/mission/acs/str/ArcsecDatalinkLayer.h similarity index 97% rename from linux/acs/startracker/ArcsecDatalinkLayer.h rename to mission/acs/str/ArcsecDatalinkLayer.h index bfc82d90..404d9e52 100644 --- a/linux/acs/startracker/ArcsecDatalinkLayer.h +++ b/mission/acs/str/ArcsecDatalinkLayer.h @@ -3,11 +3,11 @@ #include #include +#include #include "arcsec/common/misc.h" #include "eive/resultClassIds.h" #include "fsfw/returnvalues/returnvalue.h" -#include "linux/devices/devicedefinitions/StarTrackerDefinitions.h" /** * @brief Helper class to handle the datalinklayer of replies from the star tracker of arcsec. diff --git a/linux/acs/startracker/ArcsecJsonParamBase.cpp b/mission/acs/str/ArcsecJsonParamBase.cpp similarity index 97% rename from linux/acs/startracker/ArcsecJsonParamBase.cpp rename to mission/acs/str/ArcsecJsonParamBase.cpp index 04afb75f..b5dd2150 100644 --- a/linux/acs/startracker/ArcsecJsonParamBase.cpp +++ b/mission/acs/str/ArcsecJsonParamBase.cpp @@ -1,4 +1,5 @@ -#include "ArcsecJsonParamBase.h" +#include +#include #include "arcsecJsonKeys.h" diff --git a/linux/acs/startracker/ArcsecJsonParamBase.h b/mission/acs/str/ArcsecJsonParamBase.h similarity index 98% rename from linux/acs/startracker/ArcsecJsonParamBase.h rename to mission/acs/str/ArcsecJsonParamBase.h index ff457016..90c54f45 100644 --- a/linux/acs/startracker/ArcsecJsonParamBase.h +++ b/mission/acs/str/ArcsecJsonParamBase.h @@ -1,6 +1,8 @@ #ifndef BSP_Q7S_DEVICES_STARTRACKER_ARCSECJSONPARAMBASE_H_ #define BSP_Q7S_DEVICES_STARTRACKER_ARCSECJSONPARAMBASE_H_ +#include + #include #include #include @@ -9,7 +11,6 @@ #include "arcsec/common/genericstructs.h" #include "eive/resultClassIds.h" #include "fsfw/returnvalues/returnvalue.h" -#include "linux/devices/devicedefinitions/StarTrackerDefinitions.h" using json = nlohmann::json; diff --git a/linux/acs/startracker/CMakeLists.txt b/mission/acs/str/CMakeLists.txt similarity index 62% rename from linux/acs/startracker/CMakeLists.txt rename to mission/acs/str/CMakeLists.txt index 24dbaf8e..edb3494c 100644 --- a/linux/acs/startracker/CMakeLists.txt +++ b/mission/acs/str/CMakeLists.txt @@ -1,4 +1,4 @@ target_sources( ${OBSW_NAME} PRIVATE StarTrackerHandler.cpp strJsonCommands.cpp ArcsecDatalinkLayer.cpp - ArcsecJsonParamBase.cpp StrComHandler.cpp helpers.cpp) + ArcsecJsonParamBase.cpp strHelpers.cpp) diff --git a/linux/acs/startracker/StarTrackerHandler.cpp b/mission/acs/str/StarTrackerHandler.cpp similarity index 99% rename from linux/acs/startracker/StarTrackerHandler.cpp rename to mission/acs/str/StarTrackerHandler.cpp index 448afc91..a2af1771 100644 --- a/linux/acs/startracker/StarTrackerHandler.cpp +++ b/mission/acs/str/StarTrackerHandler.cpp @@ -1,10 +1,11 @@ -#include "StarTrackerHandler.h" - #include #include #include #include #include +#include +#include +#include #include #include @@ -12,8 +13,6 @@ #include "OBSWConfig.h" #include "arcsec/common/misc.h" -#include "helpers.h" -#include "strJsonCommands.h" std::atomic_bool JCFG_DONE(false); @@ -831,26 +830,26 @@ ReturnValue_t StarTrackerHandler::scanForReply(const uint8_t* start, size_t rema return returnvalue::FAILED; } - switch (str::getReplyFrameType(start)) { + switch (startracker::getReplyFrameType(start)) { case TMTC_ACTIONREPLY: { *foundLen = remainingSize - bytesLeft; - result = scanForActionReply(str::getId(start), foundId); + result = scanForActionReply(startracker::getId(start), foundId); break; } case TMTC_SETPARAMREPLY: { *foundLen = remainingSize - bytesLeft; - result = scanForSetParameterReply(str::getId(start), foundId); + result = scanForSetParameterReply(startracker::getId(start), foundId); break; } case TMTC_PARAMREPLY: { *foundLen = remainingSize - bytesLeft; - result = scanForGetParameterReply(str::getId(start), foundId); + result = scanForGetParameterReply(startracker::getId(start), foundId); break; } case TMTC_TELEMETRYREPLYA: case TMTC_TELEMETRYREPLY: { *foundLen = remainingSize - bytesLeft; - result = scanForTmReply(str::getId(start), foundId); + result = scanForTmReply(startracker::getId(start), foundId); break; } default: { @@ -1818,7 +1817,7 @@ ReturnValue_t StarTrackerHandler::prepareRequestDebugCameraParams() { } ReturnValue_t StarTrackerHandler::handleSetParamReply(const uint8_t* rawFrame) { - uint8_t status = str::getStatusField(rawFrame); + uint8_t status = startracker::getStatusField(rawFrame); if (status != startracker::STATUS_OK) { sif::warning << "StarTrackerHandler::handleSetParamReply: Failed to execute parameter set " " command with parameter ID" @@ -1835,7 +1834,7 @@ ReturnValue_t StarTrackerHandler::handleSetParamReply(const uint8_t* rawFrame) { } ReturnValue_t StarTrackerHandler::handleActionReply(const uint8_t* rawFrame) { - uint8_t status = str::getStatusField(rawFrame); + uint8_t status = startracker::getStatusField(rawFrame); if (status != startracker::STATUS_OK) { sif::warning << "StarTrackerHandler::handleActionReply: Failed to execute action " << "command with action ID " @@ -1903,7 +1902,7 @@ ReturnValue_t StarTrackerHandler::handleParamRequest(const uint8_t* rawFrame, ReturnValue_t StarTrackerHandler::handlePingReply(const uint8_t* rawFrame) { ReturnValue_t result = returnvalue::OK; uint32_t pingId = 0; - uint8_t status = str::getStatusField(rawFrame); + uint8_t status = startracker::getStatusField(rawFrame); const uint8_t* buffer = rawFrame + ACTION_DATA_OFFSET; size_t size = sizeof(pingId); SerializeAdapter::deSerialize(&pingId, &buffer, &size, SerializeIF::Endianness::LITTLE); @@ -1956,7 +1955,7 @@ ReturnValue_t StarTrackerHandler::checkProgram() { ReturnValue_t StarTrackerHandler::handleTm(const uint8_t* rawFrame, LocalPoolDataSetBase& dataset, size_t size) { ReturnValue_t result = returnvalue::OK; - uint8_t status = str::getStatusField(rawFrame); + uint8_t status = startracker::getStatusField(rawFrame); if (status != startracker::STATUS_OK) { sif::warning << "StarTrackerHandler::handleTm: Reply error: " << static_cast(status) << std::endl; @@ -1987,7 +1986,7 @@ ReturnValue_t StarTrackerHandler::handleTm(const uint8_t* rawFrame, LocalPoolDat ReturnValue_t StarTrackerHandler::handleActionReplySet(const uint8_t* rawFrame, LocalPoolDataSetBase& dataset, size_t size) { ReturnValue_t result = returnvalue::OK; - uint8_t status = str::getStatusField(rawFrame); + uint8_t status = startracker::getStatusField(rawFrame); if (status != startracker::STATUS_OK) { sif::warning << "StarTrackerHandler::handleActionReplySet: Reply error: " << static_cast(status) << std::endl; diff --git a/linux/acs/startracker/StarTrackerHandler.h b/mission/acs/str/StarTrackerHandler.h similarity index 99% rename from linux/acs/startracker/StarTrackerHandler.h rename to mission/acs/str/StarTrackerHandler.h index 821aa3b2..c1acc545 100644 --- a/linux/acs/startracker/StarTrackerHandler.h +++ b/mission/acs/str/StarTrackerHandler.h @@ -2,19 +2,19 @@ #define MISSION_DEVICES_STARTRACKERHANDLER_H_ #include +#include +#include +#include +#include #include -#include "ArcsecJsonParamBase.h" #include "OBSWConfig.h" -#include "StrComHandler.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" -#include "linux/devices/devicedefinitions/StarTrackerDefinitions.h" -#include "strJsonCommands.h" /** * @brief This is the device handler for the star tracker from arcsec. diff --git a/linux/acs/startracker/arcsecJsonKeys.h b/mission/acs/str/arcsecJsonKeys.h similarity index 100% rename from linux/acs/startracker/arcsecJsonKeys.h rename to mission/acs/str/arcsecJsonKeys.h diff --git a/mission/acs/str/strHelpers.cpp b/mission/acs/str/strHelpers.cpp new file mode 100644 index 00000000..c6d59c7a --- /dev/null +++ b/mission/acs/str/strHelpers.cpp @@ -0,0 +1,7 @@ +#include + +uint8_t startracker::getReplyFrameType(const uint8_t* rawFrame) { return rawFrame[0]; } + +uint8_t startracker::getId(const uint8_t* rawFrame) { return rawFrame[1]; } + +uint8_t startracker::getStatusField(const uint8_t* rawFrame) { return rawFrame[2]; } diff --git a/linux/devices/devicedefinitions/StarTrackerDefinitions.h b/mission/acs/str/strHelpers.h similarity index 99% rename from linux/devices/devicedefinitions/StarTrackerDefinitions.h rename to mission/acs/str/strHelpers.h index be115a78..002d9934 100644 --- a/linux/devices/devicedefinitions/StarTrackerDefinitions.h +++ b/mission/acs/str/strHelpers.h @@ -11,6 +11,13 @@ namespace startracker { +/** + * @brief Returns the frame type field of a decoded frame. + */ +uint8_t getReplyFrameType(const uint8_t* rawFrame); +uint8_t getId(const uint8_t* rawFrame); +uint8_t getStatusField(const uint8_t* rawFrame); + /** This is the address of the star tracker */ static const uint8_t ADDRESS = 33; diff --git a/linux/acs/startracker/strJsonCommands.cpp b/mission/acs/str/strJsonCommands.cpp similarity index 99% rename from linux/acs/startracker/strJsonCommands.cpp rename to mission/acs/str/strJsonCommands.cpp index 0a47cb87..134a00a0 100644 --- a/linux/acs/startracker/strJsonCommands.cpp +++ b/mission/acs/str/strJsonCommands.cpp @@ -1,4 +1,5 @@ -#include "strJsonCommands.h" +#include +#include #include "arcsecJsonKeys.h" diff --git a/linux/acs/startracker/strJsonCommands.h b/mission/acs/str/strJsonCommands.h similarity index 98% rename from linux/acs/startracker/strJsonCommands.h rename to mission/acs/str/strJsonCommands.h index 381246a6..99588f9c 100644 --- a/linux/acs/startracker/strJsonCommands.h +++ b/mission/acs/str/strJsonCommands.h @@ -7,9 +7,10 @@ * @author J. Meier */ +#include + #include -#include "ArcsecJsonParamBase.h" #include "fsfw/serviceinterface/ServiceInterface.h" /** diff --git a/mission/controller/ThermalController.cpp b/mission/controller/ThermalController.cpp index 3879339d..9f86254b 100644 --- a/mission/controller/ThermalController.cpp +++ b/mission/controller/ThermalController.cpp @@ -5,10 +5,10 @@ #include #include #include -#include #include #include #include +#include #include #include #include diff --git a/mission/controller/ThermalController.h b/mission/controller/ThermalController.h index e091042b..543353d8 100644 --- a/mission/controller/ThermalController.h +++ b/mission/controller/ThermalController.h @@ -7,10 +7,10 @@ #include #include #include -#include #include #include #include +#include #include #include #include diff --git a/mission/controller/acs/SensorValues.h b/mission/controller/acs/SensorValues.h index 03bc22c4..a0473ae2 100644 --- a/mission/controller/acs/SensorValues.h +++ b/mission/controller/acs/SensorValues.h @@ -4,10 +4,10 @@ #include #include #include -#include #include #include #include +#include #include #include diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt index 7455bdae..e300cd11 100644 --- a/thirdparty/CMakeLists.txt +++ b/thirdparty/CMakeLists.txt @@ -2,4 +2,9 @@ if(EIVE_ADD_LINUX_FILES) add_subdirectory(tas) endif() +# Dependency on proprietary library +if(TGT_BSP MATCHES "arm/q7s") + add_subdirectory(arcsec_star_tracker) +endif() + add_subdirectory(rapidcsv) diff --git a/thirdparty/arcsec_star_tracker b/thirdparty/arcsec_star_tracker index cbb3b24d..2823952e 160000 --- a/thirdparty/arcsec_star_tracker +++ b/thirdparty/arcsec_star_tracker @@ -1 +1 @@ -Subproject commit cbb3b24dc1993b727735fd63576088401ba351ec +Subproject commit 2823952e0902726e6e35dd7c159761f76bf7e505