diff --git a/Components/FlightControl/RocketSM.cpp b/Components/FlightControl/RocketSM.cpp index fb043eb6..db8ffcc7 100644 --- a/Components/FlightControl/RocketSM.cpp +++ b/Components/FlightControl/RocketSM.cpp @@ -189,6 +189,8 @@ RocketState PreLaunch::OnEnter() // Make sure the MEV is closed MEVManager::MEV_CLOSE(); + GPIO::PowerSelect::UmbilicalPower(); + PBBRxProtocolTask::SendFastLogCommand(Proto::FastLog::FastLogCommand::FL_RESET); PBBRxProtocolTask::SendFastLogCommand(Proto::FastLog::FastLogCommand::FL_RESET); @@ -912,7 +914,8 @@ RocketState Abort::OnEnter() // Make sure the MEV closed and vents are open GPIO::Vent::Open(); GPIO::Drain::Open(); - MEVManager::MEV_CLOSE(); + MEVManager::MEV_CLOSE(); + GPIO::PowerSelect::UmbilicalPower(); return rsStateID; } @@ -974,7 +977,8 @@ Test::Test() RocketState Test::OnEnter() { // Test does not have any entry actions - return rsStateID; + GPIO::PowerSelect::UmbilicalPower(); + return rsStateID; } /** diff --git a/Components/GPIO.hpp b/Components/GPIO.hpp index 58861fcd..aa850206 100644 --- a/Components/GPIO.hpp +++ b/Components/GPIO.hpp @@ -71,11 +71,11 @@ namespace GPIO namespace PowerSelect { - inline void InternalPower() { HAL_GPIO_WritePin(BATTERY_EN_GPIO_Port, BATTERY_EN_Pin, GPIO_PIN_SET); } - inline void UmbilicalPower() { HAL_GPIO_WritePin(BATTERY_EN_GPIO_Port, BATTERY_EN_Pin, GPIO_PIN_RESET); } + inline void InternalPower() { HAL_GPIO_WritePin(BATTERY_EN_GPIO_Port, BATTERY_EN_Pin, GPIO_PIN_RESET); } + inline void UmbilicalPower() { HAL_GPIO_WritePin(BATTERY_EN_GPIO_Port, BATTERY_EN_Pin, GPIO_PIN_SET); } inline void Toggle() { HAL_GPIO_TogglePin(BATTERY_EN_GPIO_Port, BATTERY_EN_Pin); } - inline bool IsInternal() { return HAL_GPIO_ReadPin(BATTERY_EN_GPIO_Port, BATTERY_EN_Pin) == GPIO_PIN_SET; } + inline bool IsInternal() { return HAL_GPIO_ReadPin(BATTERY_EN_GPIO_Port, BATTERY_EN_Pin) == GPIO_PIN_RESET; } } }