From f7c997980c01c51e46f4185983e3e4fdb0f2d620 Mon Sep 17 00:00:00 2001 From: meggert Date: Mon, 29 Jan 2024 11:08:47 +0100 Subject: [PATCH] this makes more sense --- mission/controller/AcsController.cpp | 10 +++++----- mission/controller/AcsController.h | 10 ---------- mission/controller/acs/Guidance.cpp | 10 +++++----- mission/controller/acs/Guidance.h | 7 ------- .../controllerdefinitions/AcsCtrlDefinitions.h | 14 ++++++++++++++ 5 files changed, 24 insertions(+), 27 deletions(-) diff --git a/mission/controller/AcsController.cpp b/mission/controller/AcsController.cpp index 2310a99b..22eb7a41 100644 --- a/mission/controller/AcsController.cpp +++ b/mission/controller/AcsController.cpp @@ -450,7 +450,7 @@ void AcsController::performPointingCtrl() { bool allRwAvailable = true; double rwPseudoInv[4][3] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}; ReturnValue_t result = guidance.getDistributionMatrixRw(&sensorValues, *rwPseudoInv); - if (result == Guidance::MULTIPLE_RW_UNAVAILABLE) { + if (result == acsctrl::MULTIPLE_RW_UNAVAILABLE) { if (multipleRwUnavailableCounter >= acsParameters.rwHandlingParameters.multipleRwInvalidTimeout) { triggerEvent(acs::MULTIPLE_RW_INVALID); @@ -460,7 +460,7 @@ void AcsController::performPointingCtrl() { return; } multipleRwUnavailableCounter = 0; - if (result == Guidance::SINGLE_RW_UNAVAILABLE) { + if (result == acsctrl::SINGLE_RW_UNAVAILABLE) { allRwAvailable = false; } @@ -1087,7 +1087,7 @@ ReturnValue_t AcsController::writeTleToFs(const uint8_t *tle) { tleFile << "\n"; tleFile.write(reinterpret_cast(tle + 69), 69); } else { - return WRITE_FILE_FAILED; + return acsctrl::WRITE_FILE_FAILED; } tleFile.close(); return returnvalue::OK; @@ -1111,12 +1111,12 @@ ReturnValue_t AcsController::readTleFromFs(uint8_t *line1, uint8_t *line2) { std::memcpy(line2, tleLine2.c_str(), 69); } else { triggerEvent(acs::TLE_FILE_READ_FAILED); - return READ_FILE_FAILED; + return acsctrl::READ_FILE_FAILED; } tleFile.close(); } else { triggerEvent(acs::TLE_FILE_READ_FAILED); - return READ_FILE_FAILED; + return acsctrl::READ_FILE_FAILED; } return returnvalue::OK; } diff --git a/mission/controller/AcsController.h b/mission/controller/AcsController.h index bb4e3c37..928926fb 100644 --- a/mission/controller/AcsController.h +++ b/mission/controller/AcsController.h @@ -108,16 +108,6 @@ class AcsController : public ExtendedControllerBase, public ReceivesParameterMes static const DeviceCommandId_t UPDATE_TLE = 0x3; static const DeviceCommandId_t READ_TLE = 0x4; - //! [EXPORT] : [COMMENT] File deletion failed and at least one file is still existent. - static constexpr ReturnValue_t FILE_DELETION_FAILED = - returnvalue::makeCode(acsctrl::IF_ACS_CTRL_ID, 0); - //! [EXPORT] : [COMMENT] Writing the TLE to the file has failed. - static constexpr ReturnValue_t WRITE_FILE_FAILED = - returnvalue::makeCode(acsctrl::IF_ACS_CTRL_ID, 1); - //! [EXPORT] : [COMMENT] Reading the TLE to the file has failed. - static constexpr ReturnValue_t READ_FILE_FAILED = - returnvalue::makeCode(acsctrl::IF_ACS_CTRL_ID, 2); - ReturnValue_t initialize() override; ReturnValue_t handleCommandMessage(CommandMessage* message) override; void performControlOperation() override; diff --git a/mission/controller/acs/Guidance.cpp b/mission/controller/acs/Guidance.cpp index 185158d5..3b5d325c 100644 --- a/mission/controller/acs/Guidance.cpp +++ b/mission/controller/acs/Guidance.cpp @@ -474,21 +474,21 @@ ReturnValue_t Guidance::getDistributionMatrixRw(ACS::SensorValues *sensorValues, } else if (not rw1valid and rw2valid and rw3valid and rw4valid) { std::memcpy(rwPseudoInv, acsParameters->rwMatrices.pseudoInverseWithoutRW1, 12 * sizeof(double)); - return SINGLE_RW_UNAVAILABLE; + return acsctrl::SINGLE_RW_UNAVAILABLE; } else if (rw1valid and not rw2valid and rw3valid and rw4valid) { std::memcpy(rwPseudoInv, acsParameters->rwMatrices.pseudoInverseWithoutRW2, 12 * sizeof(double)); - return SINGLE_RW_UNAVAILABLE; + return acsctrl::SINGLE_RW_UNAVAILABLE; } else if (rw1valid and rw2valid and not rw3valid and rw4valid) { std::memcpy(rwPseudoInv, acsParameters->rwMatrices.pseudoInverseWithoutRW3, 12 * sizeof(double)); - return SINGLE_RW_UNAVAILABLE; + return acsctrl::SINGLE_RW_UNAVAILABLE; } else if (rw1valid and rw2valid and rw3valid and not rw4valid) { std::memcpy(rwPseudoInv, acsParameters->rwMatrices.pseudoInverseWithoutRW4, 12 * sizeof(double)); - return SINGLE_RW_UNAVAILABLE; + return acsctrl::SINGLE_RW_UNAVAILABLE; } - return MULTIPLE_RW_UNAVAILABLE; + return acsctrl::MULTIPLE_RW_UNAVAILABLE; } void Guidance::resetValues() { std::memcpy(quatIXprev, ZERO_VEC4, sizeof(quatIXprev)); } diff --git a/mission/controller/acs/Guidance.h b/mission/controller/acs/Guidance.h index f6319c7b..bdf6d7fb 100644 --- a/mission/controller/acs/Guidance.h +++ b/mission/controller/acs/Guidance.h @@ -65,13 +65,6 @@ class Guidance { // reation wheel maybe can be done in "commanding.h" ReturnValue_t getDistributionMatrixRw(ACS::SensorValues *sensorValues, double *rwPseudoInv); - //! [EXPORT] : [COMMENT] A single RW has failed. - static constexpr ReturnValue_t SINGLE_RW_UNAVAILABLE = - returnvalue::makeCode(acsctrl::IF_ACS_CTRL_ID, 3); - //! [EXPORT] : [COMMENT] Multiple RWs have failed. - static constexpr ReturnValue_t MULTIPLE_RW_UNAVAILABLE = - returnvalue::makeCode(acsctrl::IF_ACS_CTRL_ID, 4); - private: const AcsParameters *acsParameters; diff --git a/mission/controller/controllerdefinitions/AcsCtrlDefinitions.h b/mission/controller/controllerdefinitions/AcsCtrlDefinitions.h index 7de3e36e..a9e527f4 100644 --- a/mission/controller/controllerdefinitions/AcsCtrlDefinitions.h +++ b/mission/controller/controllerdefinitions/AcsCtrlDefinitions.h @@ -10,6 +10,20 @@ namespace acsctrl { static const uint8_t IF_ACS_CTRL_ID = CLASS_ID::ACS_CTRL; +//! [EXPORT] : [COMMENT] File deletion failed and at least one file is still existent. +static constexpr ReturnValue_t FILE_DELETION_FAILED = + returnvalue::makeCode(acsctrl::IF_ACS_CTRL_ID, 0); +//! [EXPORT] : [COMMENT] Writing the TLE to the file has failed. +static constexpr ReturnValue_t WRITE_FILE_FAILED = + returnvalue::makeCode(acsctrl::IF_ACS_CTRL_ID, 1); +//! [EXPORT] : [COMMENT] Reading the TLE to the file has failed. +static constexpr ReturnValue_t READ_FILE_FAILED = returnvalue::makeCode(acsctrl::IF_ACS_CTRL_ID, 2); +//! [EXPORT] : [COMMENT] A single RW has failed. +static constexpr ReturnValue_t SINGLE_RW_UNAVAILABLE = + returnvalue::makeCode(acsctrl::IF_ACS_CTRL_ID, 3); +//! [EXPORT] : [COMMENT] Multiple RWs have failed. +static constexpr ReturnValue_t MULTIPLE_RW_UNAVAILABLE = + returnvalue::makeCode(acsctrl::IF_ACS_CTRL_ID, 4); enum SetIds : uint32_t { MGM_SENSOR_DATA,