Skip to content

fix(Vehicle): remove initial connect outer timeouts causing slow-link failures (Stable_V5.1) - #15023

Merged
DonLakeFlyer merged 1 commit into
mavlink:Stable_V5.1from
DonLakeFlyer:RemoveInitialConnectTimeouts_Stable
Sep 2, 2026
Merged

fix(Vehicle): remove initial connect outer timeouts causing slow-link failures (Stable_V5.1)#15023
DonLakeFlyer merged 1 commit into
mavlink:Stable_V5.1from
DonLakeFlyer:RemoveInitialConnectTimeouts_Stable

Conversation

@DonLakeFlyer

Copy link
Copy Markdown
Contributor

Stable backport of #15020.

Cherry-pick of 85a1c6b. Only conflict was test/Vehicle/CMakeLists.txt: dropped the TrajectoryPointsTest entries (master-only, not part of this fix) and kept the new StandardModesTest entries.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Build Results

Platform Status

Platform Status Details
Linux Passed View
Windows Passed View
MacOS Passed View
Android Passed View

All builds passed.

Pre-commit

Check Status Details
pre-commit Failed (non-blocking) View

Pre-commit hooks: 2 passed, 76 failed, 7 skipped.

Test Results

linux-coverage-integration: 40 passed, 0 skipped
linux-coverage-unit: 122 passed, 0 skipped
linux-sanitizers-integration: 23 passed, 0 skipped
linux-sanitizers-unit: 122 passed, 0 skipped
Total: 307 passed, 0 skipped

Code Coverage

Coverage: 69.9%

No baseline available for comparison

Artifact Sizes

Artifact Size
QGroundControl 252.28 MB
QGroundControl-aarch64 174.46 MB
QGroundControl-installer-AMD64 128.67 MB
QGroundControl-installer-AMD64-ARM64 71.28 MB
QGroundControl-installer-ARM64 100.02 MB
QGroundControl-linux 84.32 MB
QGroundControl-mac 84.32 MB
QGroundControl-x86_64 186.60 MB
No baseline available for comparison

Updated: 2026-09-02 18:33:13 UTC • Commit: b63fbf3 • Triggered by: Android

@DonLakeFlyer
DonLakeFlyer force-pushed the RemoveInitialConnectTimeouts_Stable branch from d18ee07 to c45df53 Compare September 2, 2026 15:24
… failures

The fixed outer timeouts on each InitialConnectStateMachine state could fire on
slow links (e.g. SiK radios) even though the underlying protocols (ParameterManager,
PlanManager, ComponentInformationManager, StandardModes) handle their own
timeouts/retries and always signal completion. Force-advancing on timeout left the
vehicle half-initialized.

ParameterManager gains a terminal initialParametersRequestFailed signal so the
Parameters state can advance when the vehicle never answers PARAM_REQUEST_LIST.

Also fixes GimbalController sending MAV_CMD_REQUEST_MESSAGE raw, which collided
with RequestMessageCoordinator users in the command queue duplicate check and
flakily failed the AVAILABLE_MODES fetch.

Also improves timeout/failure logging visibility and sanitizes downloaded URL
logging.
@DonLakeFlyer
DonLakeFlyer force-pushed the RemoveInitialConnectTimeouts_Stable branch from c45df53 to b63fbf3 Compare September 2, 2026 17:27
@codecov

codecov Bot commented Sep 2, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 44.61538% with 36 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (Stable_V5.1@4568b58). Learn more about missing BASE report.

Files with missing lines Patch % Lines
src/Vehicle/RequestMessageCoordinator.cc 20.00% 10 Missing and 2 partials ⚠️
src/FactSystem/ParameterManager.cc 20.00% 0 Missing and 8 partials ⚠️
src/Vehicle/InitialConnectStateMachine.cc 66.66% 2 Missing and 3 partials ⚠️
src/Gimbal/GimbalController.cc 66.66% 1 Missing and 3 partials ⚠️
...nentInformation/RequestMetaDataTypeStateMachine.cc 0.00% 1 Missing and 1 partial ⚠️
src/Comms/MockLink/MockLink.cc 50.00% 0 Missing and 1 partial ⚠️
src/Utilities/StateMachine/States/WaitStateBase.cc 0.00% 0 Missing and 1 partial ⚠️
...lities/StateMachine/Transitions/RetryTransition.cc 0.00% 0 Missing and 1 partial ⚠️
src/Vehicle/StandardModes.cc 66.66% 0 Missing and 1 partial ⚠️
src/Vehicle/Vehicle.cc 50.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@              Coverage Diff               @@
##             Stable_V5.1   #15023   +/-   ##
==============================================
  Coverage               ?   33.03%           
==============================================
  Files                  ?      784           
  Lines                  ?    67742           
  Branches               ?    31355           
==============================================
  Hits                   ?    22381           
  Misses                 ?    30373           
  Partials               ?    14988           
Flag Coverage Δ
unittests 33.03% <44.61%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/Comms/MockLink/MockLink.h 64.58% <100.00%> (ø)
src/FactSystem/ParameterManager.h 83.33% <ø> (ø)
src/Gimbal/GimbalController.h 50.00% <ø> (ø)
...omponentInformation/ComponentInformationManager.cc 62.02% <100.00%> (ø)
...ComponentInformation/ComponentInformationManager.h 50.00% <ø> (ø)
src/Comms/MockLink/MockLink.cc 57.43% <50.00%> (ø)
src/Utilities/StateMachine/States/WaitStateBase.cc 72.05% <0.00%> (ø)
...lities/StateMachine/Transitions/RetryTransition.cc 52.38% <0.00%> (ø)
src/Vehicle/StandardModes.cc 42.85% <66.66%> (ø)
src/Vehicle/Vehicle.cc 30.54% <50.00%> (ø)
... and 5 more

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4568b58...b63fbf3. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@DonLakeFlyer
DonLakeFlyer merged commit b068d2d into mavlink:Stable_V5.1 Sep 2, 2026
46 checks passed
@DonLakeFlyer
DonLakeFlyer deleted the RemoveInitialConnectTimeouts_Stable branch September 2, 2026 18:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant