Skip to content

DOC: add SIL parachute ejection integration example (#524) - #1131

Merged
Gui-FernandesBR merged 2 commits into
RocketPy-Team:developfrom
thatrandomasiandev:doc/524-sil-parachute-example
Aug 15, 2026
Merged

DOC: add SIL parachute ejection integration example (#524)#1131
Gui-FernandesBR merged 2 commits into
RocketPy-Team:developfrom
thatrandomasiandev:doc/524-sil-parachute-example

Conversation

@thatrandomasiandev

Copy link
Copy Markdown

Summary

  • Add docs/user/sil_parachute_ejection.rst showing Software-in-the-Loop parachute ejection detection wired through Flight / parachute trigger callables.
  • Link the page from the user guide toctree and from the parachute triggers "See Also" section.
  • Include a simplified stateful barometric detector, dual-deploy attachment pattern, notes on wrapping compiled recovery firmware, and a cautious HIL mention; points to the Valetudo Monte Carlo inspiration.

Fixes #524

Test plan

  • Confirm toctree entry renders under Special Case Simulations
  • Skim sil_parachute_ejection.rst for Sphinx link resolution (:doc:, :ref:, :class:)
  • Optional: cd docs && make html if the docs env is available

@thatrandomasiandev
thatrandomasiandev requested a review from a team as a code owner August 11, 2026 01:46
@Gui-FernandesBR
Gui-FernandesBR force-pushed the doc/524-sil-parachute-example branch from 977177d to 8df7099 Compare August 15, 2026 01:45
@Gui-FernandesBR

Copy link
Copy Markdown
Member

Two things and then this can go in.

1. The build-docs failure is not yours. It was an invalid RST sublist in StochasticModel.dict_generator's docstring that reached develop through another PR:

rocketpy/stochastic/stochastic_model.py:docstring of ...dict_generator:13: ERROR: Unexpected indentation. [docutils]

I fixed that directly on develop. Merge develop in and the docs job goes green — nothing to change on your side.

2. The "Dual path: trigger vs controller callback" section uses a Markdown table inside an .rst file. RST has no pipe-table syntax: a leading | is parsed as a line block, so this renders as a column of ragged lines rather than a table. Sphinx does not error on it, which is why CI never caught it — but the published page would be wrong. Please convert it to an RST list-table (or a simple table), e.g.

.. list-table::
   :header-rows: 1

   * - Approach
     - When it fires
   * - ``trigger``
     - ...
   * - controller callback
     - ...

@Gui-FernandesBR
Gui-FernandesBR force-pushed the doc/524-sil-parachute-example branch from 8df7099 to dea5438 Compare August 15, 2026 14:48
@Gui-FernandesBR
Gui-FernandesBR force-pushed the doc/524-sil-parachute-example branch from dea5438 to a1ecc9b Compare August 15, 2026 15:07
RST has no pipe-table syntax. A line starting with "|" is parsed as a
line block, so the "Dual path: trigger vs controller callback" section
rendered as a column of ragged lines with the pipes and the "---------"
separator showing through, rather than as a table.

Sphinx does not warn about this, which is why the docs job stayed green
and it went unnoticed.

Converted to a list-table, matching the two-column explanatory tables
already used in docs/user/flight.rst (:header-rows: 1, :widths: 30 70).

Verified by building the page with Sphinx 8.1.3 under -W --keep-going:
the section now emits one <table class="docutils"> with a real header
row, where before it emitted zero tables and one line-block. No new
warnings.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@Gui-FernandesBR

Copy link
Copy Markdown
Member

I pushed the table fix to your branch myself (67c262f9) so this doesn't have to wait on another round trip — your rebase had already cleared the build-docs failure, and the table was the only thing left.

What changed: the "Dual path: trigger vs controller callback" section is now a list-table, matching the two-column explanatory tables already in docs/user/flight.rst (:header-rows: 1, :widths: 30 70). Nothing else touched — one file, +15/-5.

For the record, since Sphinx never warned about this and it would have shipped silently, I built the page both ways with Sphinx 8.1.3 under -W --keep-going:

before:  0 <table>,  1 line-block   -> pipes and the "---------" row rendered as ragged text
after :  1 <table class="docutils"> with a real header row

No new warnings either way, which is exactly why CI stayed green on it.

I also scanned the rest of the 245-line file for other Markdown leakage — no fenced code blocks, no [text](url) links, no # headings, no other pipe tables. The one table was the only thing.

Documentation is green on the new head and this is still approved and mergeable, so it's ready to go. Thanks for the write-up — it's a genuinely useful page.

@Gui-FernandesBR
Gui-FernandesBR merged commit 1dd2365 into RocketPy-Team:develop Aug 15, 2026
1 check passed
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.

DOC: Software in a Loop (SIL) example with parachute ejection systems

2 participants