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

wboayue / stable-flight / 38506439244
92%

Build:
DEFAULT BRANCH: main
Ran 14 Oct 2026 03:32AM UTC
Jobs 1
Files 116
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 03:28AM UTC coverage: 89.818% (-0.1%) from 89.918%
38506439244

push

github

web-flow
Autotune lowers a start above the relay's ceiling (#375) (#380)

Autotune: a search whose start is above its ceiling lowers it to the
relay's rule gains (P at most `0.6·Ku`) and commits them as soon as the
relay measures (`AutotuneEvent::Lowered`), so the vehicle settles on
them and they stay if the stage keeps or fails. A relay that can't
settle starts at `settle_timeout_s` instead of failing the stage: it
replaces the loop's output, so a loop ringing on its own gains still
measures.

Closes #375

## Why

`quad_x`, 10 ms delay, rate gains × 3: the roll relay measures Ku 1.34,
but roll kept flying its start P 5.85 between probes, rang at ~0.1
rad/s, and the stage failed `NotSettled`. With this change roll settles
on P 0.61 within a second.

## What's left (re-ignored, not fixed here)

The delay rows from the high start still fail, now on a second cause:
**pitch**, at its own × 3 start, rings once the roll relay disturbs it
(0.12 rad/s on `quad_x` at 10 ms, up to 1.07 rad/s on `racer`), so the
roll stage's steps can't settle. That's #379 (a later stage's loop
ringing on its start gains).

## Settle widening: tried and dropped

ArduPilot's level check
(`libraries/AC_AutoTune/AC_AutoTune.cpp:327-364`, master `368dc0c`)
covers every axis, widens its limits linearly with time waited up to ×2
(`:343`), fails at three timeouts (`:335`), and never lowers gains
(between tests it flies the original ones,
`AC_AutoTune_Multi.cpp:460-485`). Widening the same way passed
`quad_x`/`heavy_quad` 10 ms from high, but on the clean plant it started
about half of all probes before the vehicle was still; angle steps then
clipped (#310), failing `converges_from_{moderately_,}high_rate_gains`
and `quad_x_clean_high`. Main is robust to timing (hover settle
14.9–15.7 s flips nothing), so those were real regressions. Dropped;
recorded in `architecture.md#autotune` and #379.

## Robustness table

8 pass (main: 9). `heavy_quad_clean_high` is now ignored on #378: its
pitch relay re... (continued)

17 of 25 new or added lines in 2 files covered. (68.0%)

5390 of 6001 relevant lines covered (89.82%)

5.59 hits per line

Uncovered Changes

Lines Coverage ∆ File
7
88.0
-1.52% crates/stable-flight/src/tuning/autotune.rs
1
98.18
-0.87% crates/stable-flight/src/tuning/autotune/procedure/search.rs
Jobs
ID Job ID Ran Files Coverage
1 38506439244.1 14 Oct 2026 03:32AM UTC 116
89.82
GitHub Action Run
Source Files on build 38506439244
  • Tree
  • List 116
  • Changed 4
  • Source Changed 4
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #38506439244
  • 9486daf7 on github
  • Prev Build on main (#38500459694)
  • Next Build on main (#38509271703)
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