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

wboayue / stable-flight / 38764761149
92%

Build:
DEFAULT BRANCH: main
Ran 15 Oct 2026 04:03PM UTC
Jobs 1
Files 148
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

15 Oct 2026 03:56PM UTC coverage: 91.665% (+0.2%) from 91.48%
38764761149

push

github

web-flow
QuadPlaneGuidance, QuadPlaneStabilizer, Setpoint::Blend (#391) (#428)

PR 3 of 3 for #391: the quadplane flies hover, transitions, and plane
flight closed loop on `SimQuadPlane`. It adds `QuadPlaneGuidance`,
`QuadPlaneStabilizer`, and `Setpoint::Blend`.

## Behavior

- **`Setpoint::Blend`** (`BlendSetpoint { hover, plane, lift_share }`):
both sides fly at once through a transition (plan decision 8a).
- **`QuadPlaneStabilizer`:**
- Hover setpoints fly the lift rotors on `CopterStabilizer`, with the
surfaces neutral and the pusher stopped (`cruise: Some(0, 0)`, PX4
`VT_ELEV_MC_LOCK`).
- Plane setpoints fly the surfaces and pusher on `PlaneStabilizer`
(`cruise`), with the lift rotors stopped.
- A blend flies both: the lift rotors' thrust and moments are weighted
by the share (NaN counts as 1), and the surfaces fly in full (PX4
`standard.cpp:294-368`).
  - A side that starts flying is primed.
- Autotune runs on the hover side. Params chain `STAB_*` and `PSTAB_*`.
- **`QuadPlaneGuidance`:** `CopterGuidance`, `PlaneGuidance`, and the
`LiftTransition` from #423, with no `View`.
- **Forward:** the hover side holds the altitude the transition began
at, wings level. The pusher flies the plane guidance's thrust for the
command, rising at most `TRAN_PSH_SLEW` (0.33/s, PX4) and capped at
`TRAN_FW_THR` (1.0).
- **Forward pitch:** both sides fly the plane guidance's pitch, within
ArduPilot's transition limits: 0 below 3 m/s of ground speed, ±3°
waiting for airspeed, ±8° on the lift ramp (`quadplane.cpp:4747-4766`).
- **Back:** the pusher is cut and both sides are held level (PX4
`standard.cpp:269`).
- **Other rules:** `Land` requests copter, a bank past `TRAN_ROLL_MAX`
cuts a transition short, and on entering `Plane` the pusher thrust
blends over `TRAN_HANDOFF`.
- **Params:** they chain `GUID_*`, `PGUID_*`, and `TRAN_*`.
`LiftTransitionConfig` gains `forward_thrust`, `pusher_slew_per_s`,
`handoff_s`, and `roll_limit_rad`.
- **Sim:** `airframes::quadplane()` carries ... (continued)

422 of 449 new or added lines in 12 files covered. (93.99%)

7247 of 7906 relevant lines covered (91.66%)

7.23 hits per line

Uncovered Changes

Lines Coverage ∆ File
8
92.0
crates/stable-flight-sim/tests/common/transition.rs
7
91.46
crates/stable-flight/src/stabilizers/vtol/quadplane.rs
4
81.4
-4.81% crates/stable-flight-sim/tests/common/quadplane.rs
4
96.95
crates/stable-flight/src/guidance/vtol/quadplane.rs
3
80.58
-2.25% crates/stable-flight/src/lib.rs
1
91.89
-1.66% crates/stable-flight-sim/src/airframes/plane.rs
Jobs
ID Job ID Ran Files Coverage
1 38764761149.1 15 Oct 2026 04:03PM UTC 148
91.66
GitHub Action Run
Source Files on build 38764761149
  • Tree
  • List 148
  • Changed 19
  • Source Changed 16
  • Coverage Changed 18
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #38764761149
  • 77048723 on github
  • Prev Build on main (#38759824623)
  • Next Build on main (#38787771267)
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