Skip to content

Conversation

@okotwal17
Copy link

I accidentally started on a new branch, so sorry about that, but this PR addresses the problems within PR#172. I have modified the python version with some logical changes.

I added another timer(burnout_time_elapsed_with_sudden_acceleration_change) to the SustainerFSM class. This acts as the amount of time from the first time there is an abnormal acceleration change to the time it goes back to normal.

The logic is as follows:
If we have a normal acceleration that is below our threshold, we simply reset the timer.

However, if we have an abnormal acceleration and we haven't started the error timer yes. we start the timer.

When we check again later, if there is still an abnormal acceleration and the timer is going, we check if the delta is greater than our constant of 250 ms. If it is we transition back to the First Boost state.

Even though we have that timer, we still want to check if we need to transition into the next state of the sustainer ignition.

I have just added the changes for the Sustainer right now, but if the logic is approved, then I can easily add the changes to the booster, and then convert everything into C++ code.

Copy link
Contributor

@rkontham24 rkontham24 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review incoming, but seems like there's a build issue coming from a missing macro in fsm.cpp. I think minimum_time_for_burnout_to_first_boost was changed to be specific to sustainer but wasn't changed back.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants