From 6f25736ad220fe9a951abb193b437a7bdce884db Mon Sep 17 00:00:00 2001
From: Davide Mor <davide.mor@skywarder.eu>
Date: Tue, 21 Nov 2023 13:46:50 +0100
Subject: [PATCH] [RIG] Changes for the test on 22/11/2023

---
 src/boards/RIG/Actuators/Actuators.cpp         |  2 +-
 src/boards/RIG/Configs/ActuatorsConfig.h       |  2 +-
 .../GroundModeManager/GroundModeManager.cpp    | 18 ++++++++++++++++--
 3 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/src/boards/RIG/Actuators/Actuators.cpp b/src/boards/RIG/Actuators/Actuators.cpp
index ba98cbee3..64412c669 100644
--- a/src/boards/RIG/Actuators/Actuators.cpp
+++ b/src/boards/RIG/Actuators/Actuators.cpp
@@ -46,7 +46,7 @@ Actuators::Actuators(TaskScheduler* sched) : scheduler(sched)
                   Config::Servos::MAX_PULSE, Config::Servos::MIN_PULSE);
     servo4 =
         new Servo(Config::Servos::SERVO4_TIMER, Config::Servos::SERVO4_PWM_CH,
-                  Config::Servos::MIN_PULSE, Config::Servos::MAX_PULSE);
+                  Config::Servos::MAX_PULSE, Config::Servos::MIN_PULSE);
     servo5 =
         new Servo(Config::Servos::SERVO5_TIMER, Config::Servos::SERVO5_PWM_CH,
                   Config::Servos::MAX_PULSE, Config::Servos::MIN_PULSE);
diff --git a/src/boards/RIG/Configs/ActuatorsConfig.h b/src/boards/RIG/Configs/ActuatorsConfig.h
index 78c7081d9..52f1f0d69 100644
--- a/src/boards/RIG/Configs/ActuatorsConfig.h
+++ b/src/boards/RIG/Configs/ActuatorsConfig.h
@@ -60,7 +60,7 @@ constexpr uint32_t DEFAULT_RELEASE_OPENING_TIME    = 10000;  // 10s
 constexpr uint32_t DEFAULT_DISCONNECT_OPENING_TIME = 10000;  // 10s
 
 constexpr float DEFAULT_FILLING_MAXIMUM_APERTURE    = 0.97f;
-constexpr float DEFAULT_VENTING_MAXIMUM_APERTURE    = 0.40f;
+constexpr float DEFAULT_VENTING_MAXIMUM_APERTURE    = 0.80f;
 constexpr float DEFAULT_MAIN_MAXIMUM_APERTURE       = 0.87f;
 constexpr float DEFAULT_RELEASE_MAXIMUM_APERTURE    = 0.97f;
 constexpr float DEFAULT_DISCONNECT_MAXIMUM_APERTURE = 0.110f;
diff --git a/src/boards/RIG/StateMachines/GroundModeManager/GroundModeManager.cpp b/src/boards/RIG/StateMachines/GroundModeManager/GroundModeManager.cpp
index 36e9140c3..67bded4a9 100644
--- a/src/boards/RIG/StateMachines/GroundModeManager/GroundModeManager.cpp
+++ b/src/boards/RIG/StateMachines/GroundModeManager/GroundModeManager.cpp
@@ -141,7 +141,8 @@ void GroundModeManager::state_igniting(const Event& event)
             oxidantTimeoutEventId = EventBroker::getInstance().postDelayed(
                 MOTOR_OPEN_OXIDANT, TOPIC_MOTOR, ignitionTime);
 
-            return logStatus(GroundModeManagerState::IGNITING);
+            logStatus(GroundModeManagerState::IGNITING);
+            break;
         }
         case MOTOR_OPEN_OXIDANT:
         {
@@ -152,6 +153,18 @@ void GroundModeManager::state_igniting(const Event& event)
             break;
         }
         case MOTOR_CLOSE_FEED_VALVE:
+        {
+            // Shut down the igniter
+            miosix::relays::ignition::high();
+
+            // Close all the valves
+            modules.get<Actuators>()->closeAllServo();
+
+            EventBroker::getInstance().removeDelayed(oxidantTimeoutEventId);
+
+            transition(&GroundModeManager::state_ready);
+            break;
+        }
         case TMTC_DISARM:
         {
             // Shut down the igniter
@@ -173,7 +186,8 @@ void GroundModeManager::state_igniting(const Event& event)
                 miosix::relays::nitrogen::high();
             }
 
-            return transition(&GroundModeManager::state_ready);
+            transition(&GroundModeManager::state_ready);
+            break;
         }
     }
 }
-- 
GitLab