diff --git a/mission/controller/AcsController.cpp b/mission/controller/AcsController.cpp index eda4a6f2..3a1051cf 100644 --- a/mission/controller/AcsController.cpp +++ b/mission/controller/AcsController.cpp @@ -43,7 +43,12 @@ ReturnValue_t AcsController::handleCommandMessage(CommandMessage *message) { ReturnValue_t AcsController::executeAction(ActionId_t actionId, MessageQueueId_t commandedBy, const uint8_t *data, size_t size) { switch (actionId) { - case 0: { + case SOLAR_ARRAY_DEPLOYMENT_SUCCESSFUL: { + guidance.solarArrayDeploymentComplete(); + return HasActionsIF::EXECUTION_FINISHED; + } + case RESET_MEKF: { + navigation.resetMekf(&mekfData); return HasActionsIF::EXECUTION_FINISHED; } default: { diff --git a/mission/controller/AcsController.h b/mission/controller/AcsController.h index 63895813..cf469f4c 100644 --- a/mission/controller/AcsController.h +++ b/mission/controller/AcsController.h @@ -59,9 +59,12 @@ class AcsController : public ExtendedControllerBase, public ReceivesParameterMes #endif enum class InternalState { STARTUP, INITIAL_DELAY, READY }; - InternalState internalState = InternalState::STARTUP; + /** Device command IDs */ + static const DeviceCommandId_t SOLAR_ARRAY_DEPLOYMENT_SUCCESSFUL = 0x0; + static const DeviceCommandId_t RESET_MEKF = 0x1; + ReturnValue_t initialize() override; ReturnValue_t handleCommandMessage(CommandMessage* message) override; void performControlOperation() override;