Skip to content

update docs - softserial limit - #11771

Open
RomanLut wants to merge 1 commit into
iNavFlight:masterfrom
RomanLut:submit-fix-softserial-docs
Open

update docs - softserial limit#11771
RomanLut wants to merge 1 commit into
iNavFlight:masterfrom
RomanLut:submit-fix-softserial-docs

Conversation

@RomanLut

@RomanLut RomanLut commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Software serial does not limit to 19200 since version 5 or so. Fixed misleading docs.

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown

Branch Targeting Suggestion

You've targeted the master branch with this PR. Please consider if a version branch might be more appropriate:

  • maintenance-9.x - If your change is backward-compatible and won't create compatibility issues between INAV firmware and Configurator 9.x versions. This will allow your PR to be included in the next 9.x release.

  • maintenance-10.x - If your change introduces compatibility requirements between firmware and configurator that would break 9.x compatibility. This is for PRs which will be included in INAV 10.x

If master is the correct target for this change, no action is needed.


This is an automated suggestion to help route contributions to the appropriate branch.

@qodo-code-review

qodo-code-review Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

PR Summary by Qodo

Fix telemetry docs: remove outdated softserial baud-rate limits

📝 Documentation 🕐 Less than 5 minutes

Grey Divider

AI Description

• Remove outdated MAVLink softserial 19200 baud requirement from telemetry documentation.
• Remove incorrect IBUS softserial 19200 baud-limit note; keep only fixed 115200 baud requirement.
High-Level Assessment

The following are alternative approaches to this PR:

1. Add a short version/target note instead of removing constraints
  • ➕ Clarifies when/why older softserial baud limitations applied
  • ➕ Reduces risk of readers assuming all targets can reliably run 115200 on any softserial implementation
  • ➖ Requires accurate historical/version and per-target details
  • ➖ Adds maintenance burden as serial implementations evolve

Recommendation: The PR’s approach (removing inaccurate hard limits) is appropriate and low risk. If confusion persists, consider adding a brief note that achievable baud rates can vary by target/serial implementation, rather than stating a universal limit.

Files changed (1) +2 / -2

Documentation (1) +2 / -2
Telemetry.mdRemove obsolete softserial baud-limit statements for MAVLink and IBUS +2/-2

Remove obsolete softserial baud-limit statements for MAVLink and IBUS

• Updates the MAVLink section to remove the claim that softserial requires 19200 baud. Updates the IBUS section to remove the statement that softserial is limited to 19200 baud, leaving only the fixed 115200 baud requirement.

docs/Telemetry.md

@qodo-code-review

Copy link
Copy Markdown
Contributor

Code Review by Qodo

🐞 Bugs (2) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. Softserial limit docs conflict 🐞 Bug ⚙ Maintainability
Description
docs/Telemetry.md removes the “softserial limited to 19200” guidance, but other docs still claim
SoftSerial is capped at 19200, creating contradictory configuration guidance. The SoftSerial
implementation appears to accept an arbitrary baud (no explicit 19200 clamp), so the remaining
“19200 limit” statements are likely misleading or at least need qualification as a practical
recommendation rather than a hard limit.
Code

docs/Telemetry.md[236]

+It runs at a fixed baud rate of 115200.
Evidence
The PR removes the SoftSerial 19200-limit wording in Telemetry.md, but Serial.md and Blackbox.md
still assert a 19200 limit. The SoftSerial driver configures its timer period from the requested
baud and does not show an explicit 19200 maximum clamp, so leaving a hard-limit statement elsewhere
is inconsistent with the codebase and with the updated Telemetry.md.

docs/Telemetry.md[205-236]
docs/Serial.md[36-49]
docs/Blackbox.md[68-76]
src/main/drivers/serial_softserial.c[170-189]
src/main/drivers/serial_softserial.c[204-345]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`docs/Telemetry.md` no longer states SoftSerial is limited to 19200 baud, but `docs/Serial.md` and `docs/Blackbox.md` still state (as a hard limit) that SoftSerial is limited to 19200. This creates contradictory documentation after this PR.

### Issue Context
The SoftSerial code path takes a `baud` parameter and configures timers from it without a clear 19200 cap, so documentation that presents 19200 as a strict limit is inconsistent with the current implementation.

### Fix Focus Areas
- docs/Telemetry.md[205-236]
- docs/Serial.md[36-49]
- docs/Blackbox.md[68-76]
- src/main/drivers/serial_softserial.c[170-189]
- src/main/drivers/serial_softserial.c[204-345]

### Suggested change
Update the other docs to match the new reality (e.g., remove the “limited to 19200” hard-limit phrasing) or rephrase consistently as a practical/recommended limit if that’s the intended guidance (e.g., “SoftSerial may be unreliable at high baud rates; prefer hardware UART for >19200 / high bandwidth”).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Informational

2. MAVLink sentence punctuation 🐞 Bug ⚙ Maintainability
Description
The new sentence “transmit-only, is usable…” is a comma splice and reads ambiguously. This reduces
clarity in the updated documentation.
Code

docs/Telemetry.md[209]

+MAVLink implementation in INAV is transmit-only, is usable at low baud rates. MAVLink V1 and V2 are supported.
Evidence
The awkward punctuation is introduced by the new sentence added in Telemetry.md.

docs/Telemetry.md[205-210]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The updated MAVLink line uses a comma splice (“transmit-only, is usable”), which is grammatically awkward and can be misread.

### Issue Context
This is purely a documentation clarity/readability fix.

### Fix Focus Areas
- docs/Telemetry.md[205-210]

### Suggested change
Reword to something like:
- “MAVLink implementation in INAV is transmit-only and usable at low baud rates. MAVLink V1 and V2 are supported.”

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


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

Qodo Logo

Comment thread docs/Telemetry.md

It shares 1 line for both TX and RX, the rx pin cannot be used for other serial port stuff.
It runs at a fixed baud rate of 115200, so it need hardware uart (softserial is limit to 19200).
It runs at a fixed baud rate of 115200.

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.

Remediation recommended

1. Softserial limit docs conflict 🐞 Bug ⚙ Maintainability

docs/Telemetry.md removes the “softserial limited to 19200” guidance, but other docs still claim
SoftSerial is capped at 19200, creating contradictory configuration guidance. The SoftSerial
implementation appears to accept an arbitrary baud (no explicit 19200 clamp), so the remaining
“19200 limit” statements are likely misleading or at least need qualification as a practical
recommendation rather than a hard limit.
Agent Prompt
### Issue description
`docs/Telemetry.md` no longer states SoftSerial is limited to 19200 baud, but `docs/Serial.md` and `docs/Blackbox.md` still state (as a hard limit) that SoftSerial is limited to 19200. This creates contradictory documentation after this PR.

### Issue Context
The SoftSerial code path takes a `baud` parameter and configures timers from it without a clear 19200 cap, so documentation that presents 19200 as a strict limit is inconsistent with the current implementation.

### Fix Focus Areas
- docs/Telemetry.md[205-236]
- docs/Serial.md[36-49]
- docs/Blackbox.md[68-76]
- src/main/drivers/serial_softserial.c[170-189]
- src/main/drivers/serial_softserial.c[204-345]

### Suggested change
Update the other docs to match the new reality (e.g., remove the “limited to 19200” hard-limit phrasing) or rephrase consistently as a practical/recommended limit if that’s the intended guidance (e.g., “SoftSerial may be unreliable at high baud rates; prefer hardware UART for >19200 / high bandwidth”).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment thread docs/Telemetry.md
MAVLink is a lightweight header-only message marshalling library for micro air vehicles. INAV supports MAVLink for compatibility with ground stations, OSDs and antenna trackers built for PX4, PIXHAWK, APM and Parrot AR.Drone platforms.

MAVLink implementation in INAV is transmit-only and usable on low baud rates and can be used over soft serial (requires 19200 baud). MAVLink V1 and V2 are supported.
MAVLink implementation in INAV is transmit-only, is usable at low baud rates. MAVLink V1 and V2 are supported.

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.

Informational

2. Mavlink sentence punctuation 🐞 Bug ⚙ Maintainability

The new sentence “transmit-only, is usable…” is a comma splice and reads ambiguously. This reduces
clarity in the updated documentation.
Agent Prompt
### Issue description
The updated MAVLink line uses a comma splice (“transmit-only, is usable”), which is grammatically awkward and can be misread.

### Issue Context
This is purely a documentation clarity/readability fix.

### Fix Focus Areas
- docs/Telemetry.md[205-210]

### Suggested change
Reword to something like:
- “MAVLink implementation in INAV is transmit-only and usable at low baud rates. MAVLink V1 and V2 are supported.”

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

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

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (4) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Action required

1. MAVLink not transmit-only 🐞 Bug ≡ Correctness ⭐ New
Description
docs/Telemetry.md states MAVLink in INAV is “transmit-only”, but the current MAVLink telemetry
implementation reads and processes incoming MAVLink messages (missions/params/RC override/etc). This
misleads users about MAVLink capabilities and is in-scope because the PR edited this sentence but
kept the incorrect claim.
Code

docs/Telemetry.md[209]

+MAVLink implementation in INAV is transmit-only, is usable at low baud rates. MAVLink V1 and V2 are supported.
Evidence
The documentation explicitly claims transmit-only, while the implementation explicitly reads from
the MAVLink serial port and handles multiple incoming message types, so the doc statement is
incorrect.

docs/Telemetry.md[205-210]
src/main/telemetry/mavlink.c[1388-1433]
src/main/telemetry/mavlink.c[1444-1456]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`docs/Telemetry.md` says MAVLink is transmit-only, but the implementation processes inbound MAVLink messages. This is incorrect documentation and can lead users to wrong configuration/expectations.

### Issue Context
The telemetry MAVLink code contains an explicit receive loop and dispatches received message IDs.

### Fix Focus Areas
- docs/Telemetry.md[205-210]
- src/main/telemetry/mavlink.c[1388-1433]
- src/main/telemetry/mavlink.c[1444-1456]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. SoftSerial baud docs conflict 🐞 Bug ⚙ Maintainability ⭐ New
Description
This PR removes the “softserial is limit to 19200” note from the iBus telemetry section, but other
docs still state SoftSerial is limited to 19200 baud. This leaves contradictory guidance across the
documentation set and will confuse users configuring SoftSerial-based telemetry/logging.
Code

docs/Telemetry.md[236]

-It runs at a fixed baud rate of 115200, so it need hardware uart (softserial is limit to 19200).
+It runs at a fixed baud rate of 115200.
Evidence
Telemetry.md removed the old SoftSerial=19200 limitation language, but other docs still assert that
limit, creating contradictory guidance.

docs/Telemetry.md[231-237]
docs/Serial.md[46-48]
docs/Blackbox.md[68-75]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
After this PR, `docs/Telemetry.md` no longer mentions a 19200 SoftSerial limit for iBus, but `docs/Serial.md` and `docs/Blackbox.md` still claim SoftSerial is limited to 19200 baud. This is conflicting documentation.

### Issue Context
The PR’s stated goal is to fix misleading SoftSerial-limit docs; this should be applied consistently across the documentation set.

### Fix Focus Areas
- docs/Telemetry.md[231-237]
- docs/Serial.md[46-48]
- docs/Blackbox.md[68-75]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


3. Softserial limit docs conflict 🐞 Bug ⚙ Maintainability
Description
docs/Telemetry.md removes the “softserial limited to 19200” guidance, but other docs still claim
SoftSerial is capped at 19200, creating contradictory configuration guidance. The SoftSerial
implementation appears to accept an arbitrary baud (no explicit 19200 clamp), so the remaining
“19200 limit” statements are likely misleading or at least need qualification as a practical
recommendation rather than a hard limit.
Code

docs/Telemetry.md[236]

+It runs at a fixed baud rate of 115200.
Evidence
The PR removes the SoftSerial 19200-limit wording in Telemetry.md, but Serial.md and Blackbox.md
still assert a 19200 limit. The SoftSerial driver configures its timer period from the requested
baud and does not show an explicit 19200 maximum clamp, so leaving a hard-limit statement elsewhere
is inconsistent with the codebase and with the updated Telemetry.md.

docs/Telemetry.md[205-236]
docs/Serial.md[36-49]
docs/Blackbox.md[68-76]
src/main/drivers/serial_softserial.c[170-189]
src/main/drivers/serial_softserial.c[204-345]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`docs/Telemetry.md` no longer states SoftSerial is limited to 19200 baud, but `docs/Serial.md` and `docs/Blackbox.md` still state (as a hard limit) that SoftSerial is limited to 19200. This creates contradictory documentation after this PR.
### Issue Context
The SoftSerial code path takes a `baud` parameter and configures timers from it without a clear 19200 cap, so documentation that presents 19200 as a strict limit is inconsistent with the current implementation.
### Fix Focus Areas
- docs/Telemetry.md[205-236]
- docs/Serial.md[36-49]
- docs/Blackbox.md[68-76]
- src/main/drivers/serial_softserial.c[170-189]
- src/main/drivers/serial_softserial.c[204-345]
### Suggested change
Update the other docs to match the new reality (e.g., remove the “limited to 19200” hard-limit phrasing) or rephrase consistently as a practical/recommended limit if that’s the intended guidance (e.g., “SoftSerial may be unreliable at high baud rates; prefer hardware UART for >19200 / high bandwidth”).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Informational

4. MAVLink sentence punctuation 🐞 Bug ⚙ Maintainability
Description
The new sentence “transmit-only, is usable…” is a comma splice and reads ambiguously. This reduces
clarity in the updated documentation.
Code

docs/Telemetry.md[209]

+MAVLink implementation in INAV is transmit-only, is usable at low baud rates. MAVLink V1 and V2 are supported.
Evidence
The awkward punctuation is introduced by the new sentence added in Telemetry.md.

docs/Telemetry.md[205-210]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The updated MAVLink line uses a comma splice (“transmit-only, is usable”), which is grammatically awkward and can be misread.
### Issue Context
This is purely a documentation clarity/readability fix.
### Fix Focus Areas
- docs/Telemetry.md[205-210]
### Suggested change
Reword to something like:
- “MAVLink implementation in INAV is transmit-only and usable at low baud rates. MAVLink V1 and V2 are supported.”

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


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

Qodo Logo

Comment thread docs/Telemetry.md
MAVLink is a lightweight header-only message marshalling library for micro air vehicles. INAV supports MAVLink for compatibility with ground stations, OSDs and antenna trackers built for PX4, PIXHAWK, APM and Parrot AR.Drone platforms.

MAVLink implementation in INAV is transmit-only and usable on low baud rates and can be used over soft serial (requires 19200 baud). MAVLink V1 and V2 are supported.
MAVLink implementation in INAV is transmit-only, is usable at low baud rates. MAVLink V1 and V2 are supported.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Action required

1. Mavlink not transmit-only 🐞 Bug ≡ Correctness

docs/Telemetry.md states MAVLink in INAV is “transmit-only”, but the current MAVLink telemetry
implementation reads and processes incoming MAVLink messages (missions/params/RC override/etc). This
misleads users about MAVLink capabilities and is in-scope because the PR edited this sentence but
kept the incorrect claim.
Agent Prompt
### Issue description
`docs/Telemetry.md` says MAVLink is transmit-only, but the implementation processes inbound MAVLink messages. This is incorrect documentation and can lead users to wrong configuration/expectations.

### Issue Context
The telemetry MAVLink code contains an explicit receive loop and dispatches received message IDs.

### Fix Focus Areas
- docs/Telemetry.md[205-210]
- src/main/telemetry/mavlink.c[1388-1433]
- src/main/telemetry/mavlink.c[1444-1456]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment thread docs/Telemetry.md
Ibus telemetry requires a single connection from the TX pin of a bidirectional serial port to the Ibus sens pin on an FlySky telemetry receiver. (tested with fs-iA6B receiver, iA10 should work)

It shares 1 line for both TX and RX, the rx pin cannot be used for other serial port stuff.
It runs at a fixed baud rate of 115200, so it need hardware uart (softserial is limit to 19200).

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Remediation recommended

2. Softserial baud docs conflict 🐞 Bug ⚙ Maintainability

This PR removes the “softserial is limit to 19200” note from the iBus telemetry section, but other
docs still state SoftSerial is limited to 19200 baud. This leaves contradictory guidance across the
documentation set and will confuse users configuring SoftSerial-based telemetry/logging.
Agent Prompt
### Issue description
After this PR, `docs/Telemetry.md` no longer mentions a 19200 SoftSerial limit for iBus, but `docs/Serial.md` and `docs/Blackbox.md` still claim SoftSerial is limited to 19200 baud. This is conflicting documentation.

### Issue Context
The PR’s stated goal is to fix misleading SoftSerial-limit docs; this should be applied consistently across the documentation set.

### Fix Focus Areas
- docs/Telemetry.md[231-237]
- docs/Serial.md[46-48]
- docs/Blackbox.md[68-75]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

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