This commit is contained in:
48
mission/controller/AcsController.cpp
Normal file
48
mission/controller/AcsController.cpp
Normal file
@ -0,0 +1,48 @@
|
||||
#include "AcsController.h"
|
||||
|
||||
AcsController::AcsController() {
|
||||
}
|
||||
|
||||
AcsController::~AcsController() {
|
||||
}
|
||||
|
||||
ReturnValue_t AcsController::initialize() {
|
||||
|
||||
ControllerBase::initialize();
|
||||
}
|
||||
|
||||
ReturnValue_t AcsController::handleCommandMessage(CommandMessage * message) {
|
||||
ReturnValue_t result = actionHelper.handleActionMessage(message);
|
||||
if (result == HasReturnvaluesIF::RETURN_OK) {
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
void AcsController::performControlOperation() {
|
||||
if (mode != MODE_OFF) {
|
||||
monitoring.monitor(&acsParameters);
|
||||
switch (submode) {
|
||||
case SUBMODE_SAFE:
|
||||
performSafe(SAFE_CONTROLLER);
|
||||
break;
|
||||
case SUBMODE_IDLE:
|
||||
performPointing(IDLE_CONTROLLER);
|
||||
break;
|
||||
case SUBMODE_NADIR:
|
||||
performPointing(NADIR_CONTROLLER);
|
||||
break;
|
||||
case SUBMODE_TARGET:
|
||||
performPointing(TARGET_CONTROLLER);
|
||||
break;
|
||||
case SUBMODE_INERTIAL:
|
||||
performPointing(INERTIAL_CONTROLLER);
|
||||
break;
|
||||
case SUBMODE_ROTATION:
|
||||
performPointing(ROTATION_CONTROLLER);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
18
mission/controller/AcsController.h
Normal file
18
mission/controller/AcsController.h
Normal file
@ -0,0 +1,18 @@
|
||||
#ifndef MISSION_CONTROLLER_ACSCONTROLLER_H_
|
||||
#define MISSION_CONTROLLER_ACSCONTROLLER_H_
|
||||
|
||||
#include "fsfw/controller/ControllerBase.h"
|
||||
|
||||
class AcsController : public ControllerBase {
|
||||
public:
|
||||
AcsController();
|
||||
virtual ~AcsController();
|
||||
|
||||
ReturnValue_t initialize() override;
|
||||
|
||||
protected:
|
||||
ReturnValue_t handleCommandMessage(CommandMessage *message);
|
||||
void performControlOperation();
|
||||
};
|
||||
|
||||
#endif /* MISSION_CONTROLLER_ACSCONTROLLER_H_ */
|
Reference in New Issue
Block a user