• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wboayue / stable-flight / 38644215217
92%

Build:
DEFAULT BRANCH: main
Ran 14 Oct 2026 10:05PM UTC
Jobs 1
Files 138
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

14 Oct 2026 09:57PM UTC coverage: 91.151% (+0.2%) from 90.94%
38644215217

push

github

web-flow
Sim: tailsitter transitions (#349) (#389)

Transition tests for the sim tailsitter against PX4's VTOL limits, plus
the two airframe settings they need. Closes #349.

## Tests (`tests/tailsitter_transition.rs`, calm air, 30 m)

Bands are from PX4 main `edeba2f` `vtol_att_control_params.yaml`,
checked at source:
- `VT_TRANS_TIMEOUT` 15 s (`:92-97`)
- `VT_B_TRANS_DUR` 10 s (`:35-40`)
- `VT_QC_T_ALT_LOSS` 20 m, active until 5 s after (`:145-160`). PX4
applies it to forward transitions only; here it applies to every
transition.

| Test | Asserts | Measured |
|---|---|---|
| `transitions_forward_into_level_flight` | `Plane` ≤ 15 s; loss ≤ 20 m;
then `plane_level`'s bands for 30 s (ArduPilot ±1 m, ±1 m/s; cross-track
1 m) | 2.2 s; −1.2 m; 0.00 m / 0.00 m/s / < 1 mm |
| `transitions_back_into_a_hover` | `Copter` ≤ 10 s; loss ≤ 20 m; then
the copter's calm-air hover bands for 10 s | 1.3 s; −0.1 m (climbs 7.4
m, #343); 0.05 m off |
| `ends_a_forward_transition_early` | `Copter` request (no refusal, at
once, then the calm-air hover bands over the origin); timeout with max
tilt 40° (`TransitionTimeout` at 15 s); 8 m/s span gust (`RollError`);
never `Plane`, loss ≤ 20 m | gust: 47° of roll; hold 0.01 m off |
| `waits_for_the_transition_height` | `Plane` at 1 s refused
`BelowMinAltitude`, `ToPlane` once above `min_height_m`, `Plane` ≤ 15 s,
loss ≤ 20 m | ramp at 5.0 m |

- `determinism` flies the tailsitter forward and back through the gusty
wind (10 000 ticks).
- Harness (`tests/common`):
  - `forward`/`forward_and_back`: the existing `Interlude`, nested.
  - `trace`/`Trace`: per-tick mode, refusal, and state.
- `HoverDeviation` and `LineDeviation`: shared with `tailsitter_hover`
and `plane_level`, which now use them.
  - `hover_at`, `north_line_command`.
  - The ArduPilot level-flight bands moved to `common::plane`.
- The copter's calm-air hover bands are named once in `common`
(`CALM_*`); `hover`, `tailsitter_hover`, and the transition tests use
them.

## Airfra... (continued)

222 of 228 new or added lines in 9 files covered. (97.37%)

1 existing line in 1 file now uncovered.

6417 of 7040 relevant lines covered (91.15%)

6.87 hits per line

Uncovered Changes

Lines Coverage ∆ File
5
91.51
1.77% crates/stable-flight-sim/tests/common/tailsitter.rs
1
99.16
crates/stable-flight-sim/tests/tailsitter_transition.rs

Coverage Regressions

Lines Coverage ∆ File
1
94.34
-0.28% crates/stable-flight-sim/tests/common/plane.rs
Jobs
ID Job ID Ran Files Coverage
1 38644215217.1 14 Oct 2026 10:05PM UTC 138
91.15
GitHub Action Run
Source Files on build 38644215217
  • Tree
  • List 138
  • Changed 9
  • Source Changed 8
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #38644215217
  • 798e3bec on github
  • Prev Build on main (#38612077553)
  • Next Build on main (#38658498873)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc