added ReceiversParameterMessagesIF and ParameterHelper to ACS Ctrl
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
This commit is contained in:
parent
4e74dc7bee
commit
887d193526
File diff suppressed because it is too large
Load Diff
@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
#include <fsfw/controller/ExtendedControllerBase.h>
|
#include <fsfw/controller/ExtendedControllerBase.h>
|
||||||
#include <fsfw/globalfunctions/math/VectorOperations.h>
|
#include <fsfw/globalfunctions/math/VectorOperations.h>
|
||||||
|
#include <fsfw/parameters/ParameterHelper.h>
|
||||||
|
#include <fsfw/parameters/ReceivesParameterMessagesIF.h>
|
||||||
|
|
||||||
#include "acs/ActuatorCmd.h"
|
#include "acs/ActuatorCmd.h"
|
||||||
#include "acs/Guidance.h"
|
#include "acs/Guidance.h"
|
||||||
@ -18,7 +20,7 @@
|
|||||||
#include "mission/devices/devicedefinitions/SusDefinitions.h"
|
#include "mission/devices/devicedefinitions/SusDefinitions.h"
|
||||||
#include "mission/devices/devicedefinitions/imtqHandlerDefinitions.h"
|
#include "mission/devices/devicedefinitions/imtqHandlerDefinitions.h"
|
||||||
|
|
||||||
class AcsController : public ExtendedControllerBase {
|
class AcsController : public ExtendedControllerBase, public ReceivesParameterMessagesIF {
|
||||||
public:
|
public:
|
||||||
static constexpr dur_millis_t INIT_DELAY = 500;
|
static constexpr dur_millis_t INIT_DELAY = 500;
|
||||||
|
|
||||||
@ -36,6 +38,12 @@ class AcsController : public ExtendedControllerBase {
|
|||||||
static const Event SAFE_RATE_VIOLATION =
|
static const Event SAFE_RATE_VIOLATION =
|
||||||
MAKE_EVENT(0, severity::MEDIUM); //!< The limits for the rotation in safe mode were violated.
|
MAKE_EVENT(0, severity::MEDIUM); //!< The limits for the rotation in safe mode were violated.
|
||||||
|
|
||||||
|
MessageQueueId_t getCommandQueue() const;
|
||||||
|
|
||||||
|
ReturnValue_t getParameter(uint8_t domainId, uint8_t parameterId,
|
||||||
|
ParameterWrapper* parameterWrapper, const ParameterWrapper* newValues,
|
||||||
|
uint16_t startAtIndex) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void performSafe();
|
void performSafe();
|
||||||
void performDetumble();
|
void performDetumble();
|
||||||
@ -54,6 +62,8 @@ class AcsController : public ExtendedControllerBase {
|
|||||||
|
|
||||||
uint8_t detumbleCounter;
|
uint8_t detumbleCounter;
|
||||||
|
|
||||||
|
ParameterHelper parameterHelper;
|
||||||
|
|
||||||
enum class InternalState { STARTUP, INITIAL_DELAY, READY };
|
enum class InternalState { STARTUP, INITIAL_DELAY, READY };
|
||||||
|
|
||||||
InternalState internalState = InternalState::STARTUP;
|
InternalState internalState = InternalState::STARTUP;
|
||||||
@ -68,8 +78,6 @@ class AcsController : public ExtendedControllerBase {
|
|||||||
// Mode abstract functions
|
// Mode abstract functions
|
||||||
ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode,
|
ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode,
|
||||||
uint32_t* msToReachTheMode) override;
|
uint32_t* msToReachTheMode) override;
|
||||||
void modeChanged(Mode_t mode, Submode_t submode);
|
|
||||||
void announceMode(bool recursive);
|
|
||||||
|
|
||||||
/* ACS Datasets */
|
/* ACS Datasets */
|
||||||
IMTQ::DipoleActuationSet dipoleSet = IMTQ::DipoleActuationSet(objects::IMTQ_HANDLER);
|
IMTQ::DipoleActuationSet dipoleSet = IMTQ::DipoleActuationSet(objects::IMTQ_HANDLER);
|
||||||
|
Loading…
Reference in New Issue
Block a user