Merge branch 'main' into gnss-ctrl-improvements

This commit is contained in:
Marius Eggert 2024-04-10 11:40:04 +02:00
commit ef8736bd81
3 changed files with 15 additions and 10 deletions

View File

@ -20,6 +20,8 @@ will consitute of a breaking change warranting a new major release:
- Reverted lower OP limit of `PLOC` to -10°C.
- All pointing laws are now allowed to use the `MEKF` per default.
- Changed limits in `PWR Controller`.
- PUS time service: Now dumps the time before and after relative timeshift or setting absolute time
- The `GPS Controller` does not set itself to `OFF` anymore, if it has not detected a valid fix for
some time. Instead it attempts to reset both GNSS devices once.
- The maximum time to reach a fix is shortened from 30min to 15min.
@ -32,22 +34,25 @@ will consitute of a breaking change warranting a new major release:
- Altitude, latitude and longitude messages are not checked anymore, in case the mode message was
already invalid.
## Added
- PUS timeservice relative timeshift.
## Fixed
- Fixed wrong order in quaternion multiplication for computation of the error quaternion.
# [v7.7.4] 2024-03-21
## Changed
- Rotational rate limit for the GS target pointing is now seperated from controller limit. It
is also reduced to 0.75°/s now.
- PUS time service: Now dumps the time before and after relative timeshift or setting absolute time
## Fixed
- Fixed wrong sign in calculation of total current within the `PWR Controller`.
## Added
- PUS timeservice relative timeshift.
# [v7.7.3] 2024-03-18
- Bumped `eive-fsfw`

View File

@ -57,9 +57,9 @@ class PowerController : public ExtendedControllerBase, public ReceivesParameterM
float batteryMaximumCapacity = 2.6 * 2; // [Ah]
float coulombCounterVoltageUpperThreshold = 16.2; // [V]
double maxAllowedTimeDiff = 1.5; // [s]
float payloadOpLimitOn = 0.90; // [%]
float payloadOpLimitLow = 0.75; // [%]
float higherModesLimit = 0.6; // [%]
float payloadOpLimitOn = 0.80; // [%]
float payloadOpLimitLow = 0.65; // [%]
float higherModesLimit = 0.60; // [%]
// OCV Look-up-Table {[Ah],[V]}
static constexpr uint8_t LOOK_UP_TABLE_MAX_IDX = 99;

View File

@ -303,9 +303,9 @@ void Guidance::comparePtg(double currentQuat[4], double currentSatRotRate[3], do
// First calculate error quaternion between current and target orientation without reference
// quaternion
double errorQuatWoRef[4] = {0, 0, 0, 0};
QuaternionOperations::multiply(currentQuat, targetQuat, errorQuatWoRef);
QuaternionOperations::multiply(targetQuat, currentQuat, errorQuatWoRef);
// Then add rotation from reference quaternion
QuaternionOperations::multiply(refQuat, errorQuatWoRef, errorQuat);
QuaternionOperations::multiply(errorQuatWoRef, refQuat, errorQuat);
// Keep scalar part of quaternion positive
if (errorQuat[3] < 0) {
VectorOperations<double>::mulScalar(errorQuat, -1, errorQuat, 4);