diff --git a/skyward-boardcore b/skyward-boardcore index 93254875ba79c70c4e1b4fb1b144a8b117337abf..da169eb8192e8cb760fb4b6e3ec23ef60f7b85fa 160000 --- a/skyward-boardcore +++ b/skyward-boardcore @@ -1 +1 @@ -Subproject commit 93254875ba79c70c4e1b4fb1b144a8b117337abf +Subproject commit da169eb8192e8cb760fb4b6e3ec23ef60f7b85fa diff --git a/src/RIGv2/StateMachines/TARS1/TARS1.cpp b/src/RIGv2/StateMachines/TARS1/TARS1.cpp index f7675725b7582617cd59c1e21385a3405120c99b..83b2111ed7b98f7855ede18550cb596f181f98bc 100644 --- a/src/RIGv2/StateMachines/TARS1/TARS1.cpp +++ b/src/RIGv2/StateMachines/TARS1/TARS1.cpp @@ -37,7 +37,6 @@ TARS1::TARS1() Config::Scheduler::TARS1_PRIORITY) { EventBroker::getInstance().subscribe(this, TOPIC_TARS); - EventBroker::getInstance().subscribe(this, TOPIC_TARS_ASYNC); EventBroker::getInstance().subscribe(this, TOPIC_MOTOR); } @@ -83,35 +82,11 @@ void TARS1::state_ready(const Event& event) } } -#define ASYNC_BEGIN(topic, event) \ - constexpr auto _ASYNC_TOPIC = topic; \ - constexpr auto _ASYNC_CONT_EVENT = event; \ - static int _lc = 0; \ - if (event == TARS_ASYNC_CONTINUE || event == EV_ENTRY) \ - { \ - switch (_lc) \ - { \ - case 0: -#define ASYNC_END() \ - } \ - return; \ - } - -#define ASYNC_WAIT_FOR(t) \ - _lc = __LINE__; \ - case __LINE__: \ - if (event != __LINE__) \ - { \ - nextDelayedEventId = EventBroker::getInstance().postDelayed( \ - _ASYNC_CONT_EVENT, _ASYNC_TOPIC, t); \ - return; \ - } - void TARS1::state_refueling(const Event& event) { Actuators* actuators = getModule<Actuators>(); - ASYNC_BEGIN(TOPIC_TARS_ASYNC, TARS_ASYNC_CONTINUE) + ASYNC_BEGIN(TOPIC_TARS) // Reset TARS state massStableCounter = 0; @@ -185,7 +160,7 @@ void TARS1::state_refueling(const Event& event) // Wait for system stabilization based on valve opening time ASYNC_WAIT_FOR( actuators->getServoOpeningTime(ServosList::VENTING_VALVE) + - Config::TARS1::PRESSURE_STABILIZE_WAIT_TIME * 5) // wait (5000ms) + Config::TARS1::PRESSURE_STABILIZE_WAIT_TIME * 5) // If the pressure is not stable, keep waiting until it is while (true) @@ -228,8 +203,6 @@ void TARS1::state_refueling(const Event& event) LOG_INFO(logger, "TARS manual stop"); logAction(TarsActionType::MANUAL_STOP); - // Disable next event - EventBroker::getInstance().removeDelayed(nextDelayedEventId); transition(&TARS1::state_ready); break; } @@ -241,8 +214,7 @@ void TARS1::state_refueling(const Event& event) // The user requested that we stop getModule<Actuators>()->closeAllServos(); - // Disable next event - EventBroker::getInstance().removeDelayed(nextDelayedEventId); + transition(&TARS1::state_ready); break; } diff --git a/src/RIGv2/StateMachines/TARS1/TARS1.h b/src/RIGv2/StateMachines/TARS1/TARS1.h index eba7653f2d985ada2ef80897f3b798946e4254a9..f1ed53cd600e1a34a392a0b7a32dc7063faff1ad 100644 --- a/src/RIGv2/StateMachines/TARS1/TARS1.h +++ b/src/RIGv2/StateMachines/TARS1/TARS1.h @@ -73,8 +73,7 @@ private: float massSample = 0; float pressureSample = 0; - int massStableCounter = 0; - uint16_t nextDelayedEventId = 0; + int massStableCounter = 0; }; } // namespace RIGv2 diff --git a/src/common/Events.h b/src/common/Events.h index 1d24ae46f4d5ef916428aa62f57c730ae27fb4e2..fc524997e62255a4e295a0af299ca491f8c49618 100644 --- a/src/common/Events.h +++ b/src/common/Events.h @@ -163,7 +163,6 @@ enum Events : uint8_t TARS_PRESSURE_STABILIZED, TARS_FILLING_DONE, TARS_REFINING_DONE, - TARS_ASYNC_CONTINUE, ALTITUDE_TRIGGER_ALTITUDE_REACHED, WING_ALGORITHM_ENDED, LAST_EVENT diff --git a/src/common/Topics.h b/src/common/Topics.h index b9e7171c697fbc6e110f78f95bf4b6d80be895b7..37c83378b8c33e1938504aea4c94ad625728e2af 100644 --- a/src/common/Topics.h +++ b/src/common/Topics.h @@ -44,7 +44,6 @@ enum Topics : uint8_t TOPIC_TMTC, TOPIC_MOTOR, TOPIC_TARS, - TOPIC_TARS_ASYNC, TOPIC_ALT, TOPIC_WING, };