Merge branch 'main' into smaller-ploc-tweaks
All checks were successful
EIVE/eive-obsw/pipeline/pr-main This commit looks good
All checks were successful
EIVE/eive-obsw/pipeline/pr-main This commit looks good
This commit is contained in:
commit
561fe5aa3c
13
CHANGELOG.md
13
CHANGELOG.md
@ -16,6 +16,19 @@ will consitute of a breaking change warranting a new major release:
|
|||||||
|
|
||||||
# [unreleased]
|
# [unreleased]
|
||||||
|
|
||||||
|
# [v7.5.1] 2023-12-13
|
||||||
|
|
||||||
|
- `eive-tmtc` v5.12.1
|
||||||
|
|
||||||
|
## Changed
|
||||||
|
|
||||||
|
- Increased the maximum number of scheduled telecommands from 500 to 4000. Merry Christmas!
|
||||||
|
|
||||||
|
## Fixed
|
||||||
|
|
||||||
|
- Faulty mapping of input values for QUEST algorithm.
|
||||||
|
- Fixed validity check for QUEST algorithm.
|
||||||
|
|
||||||
# [v7.5.0] 2023-12-06
|
# [v7.5.0] 2023-12-06
|
||||||
|
|
||||||
- `eive-tmtc` v5.12.0
|
- `eive-tmtc` v5.12.0
|
||||||
|
@ -11,7 +11,7 @@ cmake_minimum_required(VERSION 3.13)
|
|||||||
|
|
||||||
set(OBSW_VERSION_MAJOR 7)
|
set(OBSW_VERSION_MAJOR 7)
|
||||||
set(OBSW_VERSION_MINOR 5)
|
set(OBSW_VERSION_MINOR 5)
|
||||||
set(OBSW_VERSION_REVISION 0)
|
set(OBSW_VERSION_REVISION 1)
|
||||||
|
|
||||||
# set(CMAKE_VERBOSE TRUE)
|
# set(CMAKE_VERBOSE TRUE)
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ include(EiveHelpers)
|
|||||||
option(EIVE_ADD_ETL_LIB "Add ETL library" ON)
|
option(EIVE_ADD_ETL_LIB "Add ETL library" ON)
|
||||||
option(EIVE_ADD_JSON_LIB "Add JSON library" ON)
|
option(EIVE_ADD_JSON_LIB "Add JSON library" ON)
|
||||||
|
|
||||||
set(OBSW_MAX_SCHEDULED_TCS 500)
|
set(OBSW_MAX_SCHEDULED_TCS 4000)
|
||||||
|
|
||||||
if(EIVE_Q7S_EM)
|
if(EIVE_Q7S_EM)
|
||||||
set(OBSW_Q7S_EM
|
set(OBSW_Q7S_EM
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Auto-generated event translation file. Contains 318 translations.
|
* @brief Auto-generated event translation file. Contains 318 translations.
|
||||||
* @details
|
* @details
|
||||||
* Generated on: 2023-12-06 17:19:38
|
* Generated on: 2023-12-13 11:29:45
|
||||||
*/
|
*/
|
||||||
#include "translateEvents.h"
|
#include "translateEvents.h"
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @brief Auto-generated object translation file.
|
* @brief Auto-generated object translation file.
|
||||||
* @details
|
* @details
|
||||||
* Contains 175 translations.
|
* Contains 175 translations.
|
||||||
* Generated on: 2023-12-06 17:19:38
|
* Generated on: 2023-12-13 11:29:45
|
||||||
*/
|
*/
|
||||||
#include "translateObjects.h"
|
#include "translateObjects.h"
|
||||||
|
|
||||||
|
2
fsfw
2
fsfw
@ -1 +1 @@
|
|||||||
Subproject commit 7105e199c650303ac1a48e75aebc44182630931e
|
Subproject commit e64e8b274d436502d5c5b87865b9006e52e4b1aa
|
@ -387,6 +387,7 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
|||||||
0x4304;PUS11_InvalidRelativeTime;No description;4;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
0x4304;PUS11_InvalidRelativeTime;No description;4;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
||||||
0x4305;PUS11_ContainedTcTooSmall;No description;5;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
0x4305;PUS11_ContainedTcTooSmall;No description;5;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
||||||
0x4306;PUS11_ContainedTcCrcMissmatch;No description;6;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
0x4306;PUS11_ContainedTcCrcMissmatch;No description;6;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
||||||
|
0x4307;PUS11_MapIsFull;No description;7;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
||||||
0x4400;FILS_GenericFileError;No description;0;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
0x4400;FILS_GenericFileError;No description;0;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x4401;FILS_GenericDirError;No description;1;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
0x4401;FILS_GenericDirError;No description;1;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x4402;FILS_FilesystemInactive;No description;2;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
0x4402;FILS_FilesystemInactive;No description;2;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
|
|
@ -387,6 +387,7 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
|||||||
0x4304;PUS11_InvalidRelativeTime;No description;4;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
0x4304;PUS11_InvalidRelativeTime;No description;4;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
||||||
0x4305;PUS11_ContainedTcTooSmall;No description;5;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
0x4305;PUS11_ContainedTcTooSmall;No description;5;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
||||||
0x4306;PUS11_ContainedTcCrcMissmatch;No description;6;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
0x4306;PUS11_ContainedTcCrcMissmatch;No description;6;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
||||||
|
0x4307;PUS11_MapIsFull;No description;7;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
||||||
0x4400;FILS_GenericFileError;No description;0;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
0x4400;FILS_GenericFileError;No description;0;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x4401;FILS_GenericDirError;No description;1;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
0x4401;FILS_GenericDirError;No description;1;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x4402;FILS_FilesystemInactive;No description;2;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
0x4402;FILS_FilesystemInactive;No description;2;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Auto-generated event translation file. Contains 318 translations.
|
* @brief Auto-generated event translation file. Contains 318 translations.
|
||||||
* @details
|
* @details
|
||||||
* Generated on: 2023-12-06 17:19:38
|
* Generated on: 2023-12-13 11:29:45
|
||||||
*/
|
*/
|
||||||
#include "translateEvents.h"
|
#include "translateEvents.h"
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @brief Auto-generated object translation file.
|
* @brief Auto-generated object translation file.
|
||||||
* @details
|
* @details
|
||||||
* Contains 179 translations.
|
* Contains 179 translations.
|
||||||
* Generated on: 2023-12-06 17:19:38
|
* Generated on: 2023-12-13 11:29:45
|
||||||
*/
|
*/
|
||||||
#include "translateObjects.h"
|
#include "translateObjects.h"
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Auto-generated event translation file. Contains 318 translations.
|
* @brief Auto-generated event translation file. Contains 318 translations.
|
||||||
* @details
|
* @details
|
||||||
* Generated on: 2023-12-06 17:19:38
|
* Generated on: 2023-12-13 11:29:45
|
||||||
*/
|
*/
|
||||||
#include "translateEvents.h"
|
#include "translateEvents.h"
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @brief Auto-generated object translation file.
|
* @brief Auto-generated object translation file.
|
||||||
* @details
|
* @details
|
||||||
* Contains 179 translations.
|
* Contains 179 translations.
|
||||||
* Generated on: 2023-12-06 17:19:38
|
* Generated on: 2023-12-13 11:29:45
|
||||||
*/
|
*/
|
||||||
#include "translateObjects.h"
|
#include "translateObjects.h"
|
||||||
|
|
||||||
|
@ -8,14 +8,14 @@ AttitudeEstimation::~AttitudeEstimation() {}
|
|||||||
|
|
||||||
void AttitudeEstimation::quest(acsctrl::SusDataProcessed *susData,
|
void AttitudeEstimation::quest(acsctrl::SusDataProcessed *susData,
|
||||||
acsctrl::MgmDataProcessed *mgmData,
|
acsctrl::MgmDataProcessed *mgmData,
|
||||||
acsctrl::AttitudeEstimationData *attitudeEstimation) {
|
acsctrl::AttitudeEstimationData *attitudeEstimationData) {
|
||||||
if (not(susData->susVecTot.isValid() and susData->sunIjkModel.isValid() and
|
if (not(susData->susVecTot.isValid() and susData->sunIjkModel.isValid() and
|
||||||
mgmData->mgmVecTot.value and mgmData->magIgrfModel.isValid())) {
|
mgmData->mgmVecTot.isValid() and mgmData->magIgrfModel.isValid())) {
|
||||||
{
|
{
|
||||||
PoolReadGuard pg{attitudeEstimation};
|
PoolReadGuard pg{attitudeEstimationData};
|
||||||
if (pg.getReadResult() == returnvalue::OK) {
|
if (pg.getReadResult() == returnvalue::OK) {
|
||||||
std::memcpy(attitudeEstimation->quatQuest.value, ZERO_VEC4, 4 * sizeof(double));
|
std::memcpy(attitudeEstimationData->quatQuest.value, ZERO_VEC4, 4 * sizeof(double));
|
||||||
attitudeEstimation->quatQuest.setValid(false);
|
attitudeEstimationData->quatQuest.setValid(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@ -24,10 +24,10 @@ void AttitudeEstimation::quest(acsctrl::SusDataProcessed *susData,
|
|||||||
// Normalize Data
|
// Normalize Data
|
||||||
double normMgmB[3] = {0, 0, 0}, normMgmI[3] = {0, 0, 0}, normSusB[3] = {0, 0, 0},
|
double normMgmB[3] = {0, 0, 0}, normMgmI[3] = {0, 0, 0}, normSusB[3] = {0, 0, 0},
|
||||||
normSusI[3] = {0, 0, 0};
|
normSusI[3] = {0, 0, 0};
|
||||||
VectorOperations<double>::normalize(susData->susVecTot.value, normMgmB, 3);
|
VectorOperations<double>::normalize(susData->susVecTot.value, normSusB, 3);
|
||||||
VectorOperations<double>::normalize(susData->sunIjkModel.value, normMgmI, 3);
|
VectorOperations<double>::normalize(susData->sunIjkModel.value, normSusI, 3);
|
||||||
VectorOperations<double>::normalize(mgmData->mgmVecTot.value, normSusB, 3);
|
VectorOperations<double>::normalize(mgmData->mgmVecTot.value, normMgmB, 3);
|
||||||
VectorOperations<double>::normalize(mgmData->magIgrfModel.value, normSusI, 3);
|
VectorOperations<double>::normalize(mgmData->magIgrfModel.value, normMgmI, 3);
|
||||||
|
|
||||||
// Create Helper Vectors
|
// Create Helper Vectors
|
||||||
double normHelperB[3] = {0, 0, 0}, normHelperI[3] = {0, 0, 0}, helperCross[3] = {0, 0, 0},
|
double normHelperB[3] = {0, 0, 0}, normHelperI[3] = {0, 0, 0}, helperCross[3] = {0, 0, 0},
|
||||||
@ -102,10 +102,10 @@ void AttitudeEstimation::quest(acsctrl::SusDataProcessed *susData,
|
|||||||
QuaternionOperations::slerp(qBI, qOld, acsParameters->onBoardParams.questFilterWeight, qBI);
|
QuaternionOperations::slerp(qBI, qOld, acsParameters->onBoardParams.questFilterWeight, qBI);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
PoolReadGuard pg{attitudeEstimation};
|
PoolReadGuard pg{attitudeEstimationData};
|
||||||
if (pg.getReadResult() == returnvalue::OK) {
|
if (pg.getReadResult() == returnvalue::OK) {
|
||||||
std::memcpy(attitudeEstimation->quatQuest.value, qBI, 4 * sizeof(double));
|
std::memcpy(attitudeEstimationData->quatQuest.value, qBI, 4 * sizeof(double));
|
||||||
attitudeEstimation->quatQuest.setValid(true);
|
attitudeEstimationData->quatQuest.setValid(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
tmtc
2
tmtc
@ -1 +1 @@
|
|||||||
Subproject commit f63a834d9acd4506f0dbd7f8e63007f17c063c1d
|
Subproject commit 747ad34eec5baa5199de49a1330687508c991550
|
Loading…
x
Reference in New Issue
Block a user