Skip to content

Update devourer submodule: unified TX retry-limit knob, default 0 (devourer #354) - #111

Merged
vertexodessa merged 1 commit into
OpenIPC:masterfrom
vertexodessa:update-devourer-submodule
Aug 2, 2026
Merged

Update devourer submodule: unified TX retry-limit knob, default 0 (devourer #354)#111
vertexodessa merged 1 commit into
OpenIPC:masterfrom
vertexodessa:update-devourer-submodule

Conversation

@vertexodessa

Copy link
Copy Markdown
Collaborator

Bumps app/wfbngrtl8812/src/main/cpp/devourer b7c50ec..bb03774.

Headline (devourer #354, merged): jaguar1/2/3 now honor DEVOURER_TX_RETRY_LIMIT (default 0) instead of a hardcoded 12-retry descriptor limit. On a busy half-duplex link the chip's autonomous retries flooded the air and starved video RX (the uplink-airtime regression); the knob restores the pre-regression behaviour and stays settable for hardware-ARQ (SetAckResponder) use.

Also pulls in devourer master work since the last pointer: adaptive FHSS sensing/exclusion/hopset commits, per-rate TX power diff tables, jaguar2 firmware channel fast path, Kestrel FastRetune, and docs updates (full list in the submodule log).

Bumps app/wfbngrtl8812/src/main/cpp/devourer b7c50ec..bb03774.

Headline: jaguar1/2/3 now honor DEVOURER_TX_RETRY_LIMIT (default 0) instead
of a hardcoded 12-retry descriptor limit — on a busy half-duplex link the
chip's autonomous retries flooded the air and starved video RX. The knob
restores the pre-regression behaviour and stays settable for hardware-ARQ
(SetAckResponder) use.

Also pulls in the devourer master work since the last pointer: adaptive
FHSS sensing/exclusion/hopset commits, per-rate TX power diff tables,
jaguar2 firmware channel fast path, Kestrel FastRetune, and docs updates.
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Bump devourer submodule to bb03774 (unified TX retry-limit knob, default 0)

🐞 Bug fix ✨ Enhancement ⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

AI Description

• Bump devourer submodule to pick up TX retry-limit knob (DEVOURER_TX_RETRY_LIMIT, default 0).
• Fix uplink-airtime regression by avoiding hardcoded 12 autonomous retries on busy half-duplex
 links.
• Pull in upstream devourer improvements (adaptive FHSS, per-rate TX power tables, fast
 retune/channel paths, docs).
Diagram

graph TD
  A["wfbngrtl8812 app"] --> B["devourer submodule"] --> C["Jaguar1/2/3 TX"]
  D["ENV: DEVOURER_TX_RETRY_LIMIT"] --> B
  C --> E{{"RF medium"}}
  E --> F["Video RX"]
  subgraph Legend
    direction LR
    _app["App/host"] ~~~ _lib["Submodule"] ~~~ _env["Config/ENV"] ~~~ _ext{{"External/system"}}
  end
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Cherry-pick only the retry-limit fix into the existing submodule SHA
  • ➕ Minimizes behavioral surface area change (less risk from unrelated upstream features).
  • ➕ Potentially faster validation cycle if only one regression is being addressed.
  • ➖ Requires maintaining a forked devourer commit chain and resolving conflicts later.
  • ➖ Misses other upstream fixes/improvements referenced in the bump; increases long-term maintenance cost.
2. Pin devourer to a tagged release + add a short in-repo changelog note
  • ➕ Improves traceability/reproducibility versus moving-target SHAs.
  • ➕ Gives reviewers/operators a stable reference for behavior changes like the retry-limit default.
  • ➖ May require upstream release/tag discipline or extra process overhead.
  • ➖ Does not reduce the immediate integration risk if the tag still includes all changes.
3. Expose the retry-limit knob through an explicit app config surface (not only ENV)
  • ➕ More discoverable and testable than environment-only configuration.
  • ➕ Allows per-profile defaults and clearer runtime reporting/telemetry.
  • ➖ Requires additional integration work in this repo beyond the submodule bump.
  • ➖ Risk of duplicating configuration paths if upstream already documents ENV usage.

Recommendation: If the goal is to both fix the airtime regression and stay current with devourer master, this submodule bump is the right approach—just treat it as a behaviorally meaningful upgrade despite the tiny diff. If risk tolerance is low (e.g., field-critical builds), consider the cherry-pick approach short-term, but prefer the full bump long-term to avoid carrying a fork; optionally add an in-repo release note pointing to devourer #354 and the DEVOURER_TX_RETRY_LIMIT default change.

Files changed (1) +1 / -1

Other (1) +1 / -1
devourerUpdate devourer submodule SHA to bb03774 +1/-1

Update devourer submodule SHA to bb03774

• Moves the 'devourer' git submodule pointer from 'b7c50ec' to 'bb03774'. This pulls in upstream changes including honoring 'DEVOURER_TX_RETRY_LIMIT' (default 0) instead of a hardcoded retry limit, plus additional FHSS, power-table, firmware fast-path, retune, and documentation updates.

app/wfbngrtl8812/src/main/cpp/devourer

@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

To customize comments, go to the Qodo configuration screen, or learn more in the docs.

Qodo Logo

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.

1 participant