Implement MIDAS FSM V2 Specification & Improved MIDAS Interface & Meta Logging fix & Log Error Detection & Logging Improvements & Log Introspection & Feather duo updates & Pyro I2C bus contention fixes & ADC fixes & GPS update rate changes & HITL & More..#208
Implement MIDAS FSM V2 Specification & Improved MIDAS Interface & Meta Logging fix & Log Error Detection & Logging Improvements & Log Introspection & Feather duo updates & Pyro I2C bus contention fixes & ADC fixes & GPS update rate changes & HITL & More..#208mpkarpov-ui wants to merge 141 commits into
Conversation
Just some small bug fixes. Right now I'm stuck on what 'MultipleLogSink<Sinks...> sinks;' is and why it isn't working. I'm assuming its because of the other files.
Thank you mpkarpov for the starter code, that is helping plenty
|
FSM SILSIM: 6/6 passed ✓ — plots |
|
Adding @divijgarg for approval on GNC file changes -- which involve updating files for parity with the updated FSM states. |
Interpretation of FSM SILSIM Resultsaether_nofireThe aether_nofire test is simple and ensures that no pyro events occur if the board is not in a flight state. This is done by setting the state to cassie_nofireIdentical to the cassie_nominalRuns the updated FSM on the Cassie flight data, and ensures that pyros configured for this flight fire at the right times, and no extraneous transitions occur. sawa3_nominalRuns functionally the same test as aether_nominal_susAnother nominal test like aether_offnom_booThis test runs Aether II booster data, which experienced an in-flight avionics failure on ascent. This test checks whether the FSM performs predictably under the same conditions by configuring pyro events to fire as they would on the booster, and ensuring that state transitions occur where expected (and do not trigger early pyros as the TeleMega did in that flight). |
MIDAS Mini HITL Implementation
|
This is the greatest PR of all time |
|
We were so preoccupied with whether we could, we forgot to stop and think whether we should... 😢 |
There was a problem hiding this comment.
Note for myself: Looks like u are using shell for IDENT response, I'll have to update Base to figure out some way to be able to send shell command without being connected first. WOWZERS! HOORAY! AMAZING! WHAT A LOVELY WOW!
Instead of previous ARK, BRK commands, we are using serial no. and the command to make sure it goes to that specific MIDAS.
There was a problem hiding this comment.
Difference between a desired serial vs serial? From google: Real frequency -> generated by the hardware. Desired vs real helps understand any frequency shifts and how to calibrate them.
There was a problem hiding this comment.
How to work with eeprom, files look about right.
There was a problem hiding this comment.
I see that you have shifted the frequencies into the eeprom and put the serial no. in there too.
There was a problem hiding this comment.
What does this file do?
There was a problem hiding this comment.
I see that you are reducing i2c crowding by comparing the new and old states -> optimization. Constexpr for gpio address means straight access to the address we need for changes.
There was a problem hiding this comment.
Shouldn’t we reset current_motor to 0 on armed? Bc what if it has a false detection? Hmm i think you only increment the motor increment only when you are done with the lock in period. Makes sense so i guess we dont have to worry abt the motor increment as you only increment after false check, I genuinely cannot find anything wrong but I may have missed something. FSM states do seem to work + the graphs are evidence.I want to learn how to do both the hitl and silsim tests cus why not askhfaljgkhawlgjkn
There was a problem hiding this comment.
Where all the time go?
|
In all seriousness, after reviewing the PR, this is what I can make out. Everything the PR description says is true. I've put a summary of my comments below. The new FSM revamp appears to be functioning as intended. The system now supports configurable channels and thresholds via the shell interface, and has been validated against past launch data. Thomas's video 1 and video 2 demonstration confirms correct behavior following the fixes associated with the 5/3 event. Confirmed working: My uncertainties: Next steps: Note: In terms of software, these guys pretty much knocked it out the park, I dont think there is anything else we might NEED to do before launch. Ofc |






This PR does a lot of things and touches a lot of files, so let's break it down 👯♂️
fsm_testbuild target, which allows for the simulation of MIDAS's FSM and pyro capability in a SIL environment, allowing for better FV of FSM functionality.Formal verification steps follow...