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

wboayue / stable-flight / 38691601797
92%

Build:
DEFAULT BRANCH: main
Ran 15 Oct 2026 06:24AM UTC
Jobs 1
Files 143
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 06:18AM UTC coverage: 91.371% (+0.06%) from 91.313%
38691601797

push

github

web-flow
Lift+cruise output split: ControlOutput::cruise, MixRow::pusher, TableMixer::quadplane (#391) (#422)

PR 1 of 3 for #391 (plan decisions 1a, 2a): core can carry a lift+cruise
VTOL's two actuator sets in one `ControlOutput`, and a `TableMixer` can
drive them. No guidance or stabilizer sets the cruise output yet (PR 3).

## Changes

- **`ControlOutput::cruise: Option<CruiseOutput>`** (**Breaking**:
struct literals add `cruise: None`). `CruiseOutput { thrust, moments }`
is the pusher's thrust and the surfaces' moments; `thrust`/`moments`
stay the lift rotors'. `None` everywhere today, so every existing
stabilizer and table mixes as before. `View` rotates cruise moments with
the others.
- **`MixRow::pusher(i)`**: a motor slot flying `cruise.thrust ×
thrust_factor` (same scaling as `plane()`'s motor), no moments, outside
the lift motors' desaturation. Pushers follow the motor slots
(`MixerError::PusherBeforeMotor`). Servo rows fly `cruise.moments` when
set, `moments` otherwise.
- **`TableMixer::quadplane()`**: `quad_x` lift 0–3, pusher 4, `plane`
surfaces on servos 0–2. The sim quadplane airframe uses it instead of
its hand-built 7-row table; the sim's hover-thrust helper skips pusher
rows.
- **Sim (unpublished)**: `QuadPlaneModel::pusher_slot` removed;
`SimQuadPlane::new` takes the pusher from the mixer's one
`MixRow::pusher` row (`ModelError::PusherCount` for none or several;
`SimQuadPlane::pusher_slot()`), so the slot has one source.
- **Link**: `PROTOCOL_VERSION` 6 (`Record.control` shape).
`MAX_FRAME_LEN` 256 → 384: the worst-case `Record` payload grows 237 →
253 B, past the 250 B that fits 256 after COBS + CRC, and PR 3's
`Setpoint::Blend` adds about 35 B more. Costs 256 B of RAM across the
router and publisher buffers; firmware doesn't use the link yet.
- Docs: `architecture.md` (Mixer bullet: why the split, rejected
designs; frame size), core/sim/link READMEs, core/link/bridge
CHANGELOGs.

## Rejected (plan `sandbox/391-quadplane-plan.md`)

- PX4's... (continued)

37 of 38 new or added lines in 8 files covered. (97.37%)

6798 of 7440 relevant lines covered (91.37%)

7.18 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
86.36
1.52% crates/stable-flight-sim/src/quadplane.rs
Jobs
ID Job ID Ran Files Coverage
1 38691601797.1 15 Oct 2026 06:24AM UTC 143
91.37
GitHub Action Run
Source Files on build 38691601797
  • Tree
  • List 143
  • Changed 19
  • Source Changed 15
  • Coverage Changed 15
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #38691601797
  • 45995540 on github
  • Prev Build on main (#38686583219)
  • Next Build on main (#38759824623)
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