Skip to content

Remove orphaned servo_autotrim_iterm_threshold field - #11800

Open
sensei-hacker wants to merge 1 commit into
iNavFlight:release/9.1from
sensei-hacker:fix-autotrim-iterm-threshold-orphan
Open

Remove orphaned servo_autotrim_iterm_threshold field#11800
sensei-hacker wants to merge 1 commit into
iNavFlight:release/9.1from
sensei-hacker:fix-autotrim-iterm-threshold-orphan

Conversation

@sensei-hacker

Copy link
Copy Markdown
Member

Summary

Removes a dead struct field discovered during review of PR #11617.

Changes

  • Removed servo_autotrim_iterm_threshold from servoConfig_t in src/main/flight/servos.h

Testing

  • Confirmed via tree-wide grep: zero references anywhere (no settings.yaml entry, no reset initializer, no reader). git log -S shows the setting entry/initializer/reader were already removed in 2021 (commit e4f684f); this field was leftover from that cleanup.
  • Built SITL successfully after the change (inav-builder agent), no warnings/errors touching servos.c or any translation unit including servos.h.
  • Reviewed with inav-code-review agent: independently re-verified the grep result and checked PG/EEPROM layout safety (field was the trailing member of the PG-backed servoConfig_t; struct sizeof is unchanged both before and after due to alignment padding, and no other field's offset shifts, so no PG version bump is needed). Same pattern as a prior precedent removal in this struct (commit 58dc107).

Related Issues

None — discovered as a leftover from PR #11617.

Field had no settings.yaml entry, no reset initializer, and no code
references anywhere in the tree.
@sensei-hacker sensei-hacker added this to the 9.1 milestone Aug 20, 2026
@qodo-code-review

Copy link
Copy Markdown
Contributor

ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Remove orphaned servo autotrim threshold field

🐞 Bug fix 🕐 Less than 5 minutes

Grey Divider

AI Description

• Removes the unused servo autotrim I-term threshold configuration field.
• Preserves parameter-group layout because alignment keeps the structure size and offsets unchanged.
High-Level Assessment

Direct removal is optimal because the field has no initializer, setting, or runtime consumer. Retaining a reserved placeholder or incrementing the PG version would add unnecessary complexity because alignment preserves the structure size and all remaining field offsets.

Files changed (1) +0 / -1

Bug fix (1) +0 / -1
servos.hRemove unused servo autotrim threshold member +0/-1

Remove unused servo autotrim threshold member

• Removes the orphaned 'servo_autotrim_iterm_threshold' member from 'servoConfig_t'. As the trailing byte was absorbed by existing alignment padding, the PG-backed structure retains its size and remaining field offsets.

src/main/flight/servos.h

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can copy the agent prompt from any finding and feed it to your IDE agent

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@github-actions

Copy link
Copy Markdown

RAM / Flash usage vs. base branch — commit 6bfcc9b

No size baseline is available yet for this PR's base branch (first run after this feature shipped, or a new branch). This comment will show deltas once a baseline exists.

Target Flash Δ RAM Δ
MATEKF405 624935 B (no baseline) 133256 B (no baseline)
MATEKF722 468307 B (no baseline) 123312 B (no baseline)
MATEKF765 645875 B (no baseline) 138768 B (no baseline)
MATEKH743 664155 B (no baseline) 139776 B (no baseline)

See RAM/flash optimization guide for techniques to reduce usage.

@github-actions

Copy link
Copy Markdown

Test firmware build ready — commit 6bfcc9b

Download firmware for PR #11800

244 targets built. Find your board's .hex file by name on that page (e.g. MATEKF405SE.hex). Files are individually downloadable — no GitHub login required.

Development build for testing only. Use Full Chip Erase when flashing.

sensei-hacker added a commit to sensei-hacker/inav that referenced this pull request Aug 20, 2026
The Release job (nightly upload to iNavFlight/inav-nightly) can fail for
reasons unrelated to the build itself and drags the whole run's
conclusion to failure even when the build succeeded and produced the
size-report/branch-name artifacts. Confirmed live: the 2026-08-20 push
to release/9.1 had every build job succeed but Release fail with "Bad
credentials" (NIGHTLY_TOKEN), so publish-baseline never ran and no
baseline has ever been published — which is why PR iNavFlight#11800 still shows
"No size baseline is available yet".

Check the specific build/upload-artifacts job's conclusion instead of
the aggregate run conclusion.
sensei-hacker added a commit that referenced this pull request Aug 21, 2026
The Release job (nightly upload to iNavFlight/inav-nightly) can fail for
reasons unrelated to the build itself and drags the whole run's
conclusion to failure even when the build succeeded and produced the
size-report/branch-name artifacts. Confirmed live: the 2026-08-20 push
to release/9.1 had every build job succeed but Release fail with "Bad
credentials" (NIGHTLY_TOKEN), so publish-baseline never ran and no
baseline has ever been published — which is why PR #11800 still shows
"No size baseline is available yet".

Check the specific build/upload-artifacts job's conclusion instead of
the aggregate run conclusion.
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