Skip to content

feat(mavftp): Add mavftp reentracy support from ardupilot/pymavlink#1288 - #2192

Merged
amilcarlucas merged 1 commit into
masterfrom
mavftp
Oct 10, 2026
Merged

amilcarlucas merged 1 commit into
masterfrom
mavftp

Conversation

@amilcarlucas

Copy link
Copy Markdown
Collaborator

Description

Add mavftp reentracy support from ArduPilot/pymavlink#1288

Checklist

  • Run pre-commit checks locally
  • Verified by a human programmer
  • All commits are signed off (use git commit --signoff)
  • Code follows our coding standards
  • Documentation updated if needed
  • No breaking changes or properly documented

Testing

Describe how you tested these changes:

  • Unit tests pass
  • Integration tests pass
  • Manual testing performed
  • Tested on flight controller hardware



Signed-off-by: Dr.-Ing. Amilcar do Carmo Lucas <amilcar.lucas@iav.de>
Copilot AI balanced review requested due to automatic review settings October 10, 2026 11:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The new re-entrancy paths lack corresponding regression tests in this repository.

1 open finding
What changed in this PR

Ports upstream MAVFTP re-entrancy hardening into the flight-controller communication backend.

Changes:

  • Adds iterative drains for inline replies.
  • Guards transfer cleanup and callbacks against operation replacement.
  • Hardens upload, download, and CRC state ownership.
File Description
ardupilot_methodic_configurator/​backend_mavftp.py Adds re-entrant MAVFTP state handling and cleanup guards.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +961 to +962
def __send_continuation(self, op: FTP_OP) -> None:
"""Send list and burst continuations without nesting inline replies."""
@github-actions

Copy link
Copy Markdown
Contributor

☂️ Code Coverage

current status: ✅

Overall Coverage

Statements Covered Coverage Threshold Status
26601 24334 91% 89% 🟢

New Files

No new covered files...

Modified Files

No covered modified files...

updated for commit: d7ad26b by action🐍

@github-actions

Copy link
Copy Markdown
Contributor

Test Results

     3 files  ±0       3 suites  ±0   35m 26s ⏱️ - 1m 47s
 6 577 tests ±0   6 568 ✅ ±0   9 💤 ±0  0 ❌ ±0 
19 612 runs  ±0  19 579 ✅ ±0  33 💤 ±0  0 ❌ ±0 

Results for commit d7ad26b. ± Comparison against base commit 66cf608.

@amilcarlucas
amilcarlucas merged commit e1880a6 into master Oct 10, 2026
30 of 32 checks passed
@amilcarlucas
amilcarlucas deleted the mavftp branch October 10, 2026 12:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants