Skip to content

MSP Message for link stats of MSP-RC systems #10363

@b14ckyy

Description

@b14ckyy

Current Behavior

Using a RC Link system like mLRS that support RC over MSP, there is currently no way to get receiver and link information to the OSD and for blackbox logging. mLRS is the first system to provide this feature with ELRS maybe following in the future.

Desired Behavior

Having a MSP message the Rx can use to send RC Link stats and information to the FC. This would allow them to be logged and used for the OSD.

Suggested Solution

A New MSP message in INAV so it can receive RC Link information from MSP-RC receivers.
The Link Statistics and Information should be send as a message string that can be extended in the future if necessary.
If more fields are added in the future, then older INAV versions should also work with the existing fields so a longer payload should just be cut off and additional fields ignored.

Basic Fields to be available and their length in bit MSP2_RCSTATS:

Sublink ID - 2 (This would be used in the future to receive dedicated RSSI, LQ and SNR and Power Level values from multiple transceivers. The Rx will rotate through the IDs and send the corresponding data individually to keep message size low, up to 4 transceivers possible)
RC-Link Valid - 1 (Failsafe trigger)
RSSI% - 7 (gives int value defined by the RC Link. Set to 127 if not used)
RSSIdBm - 7 (gives int value defined by the RC Link, will be inverted to negative value by INAV. Set to 127 if not used)
Rx LQ% - 7 (gives int value defined by the RC Link. Set to 127 if not used)
Tx LQ% - 7 (gives int value defined by the RC Link. Set to 127 if not used)
SNRdB - 5 (-20 to +11 dB, only shows in OSD when <10 or negative, -20dB shifted in INAV, Rx would send values 0-31, 31 would also be sent if not supported or not used)
Receiver Antenna - 2 (Not Used; Rx; Tx; RxTx)
Transmitter Antenna - 2 (Not Used; Rx; Tx; RxTx)

Total Payload: 40bit

RC Link Settings that don't usually change often or at all, just sent by the Rx on change or on link establish MSP2_RCINFO:

Sublink ID - 2
Band - 4 byte string (Example: 868M, 2.4G, DUAL)
Mode - 6 byte string (Example: 19Hz, 31Hz, 50Hz. FSK, FLRC // 150Hz, F333Hz 1000Hz)
Power Level Tx dBm - 6 (min power level = 0, Value of 63 for not used and show `--` in the OSD)
Power Level Rx dBm - 6 (min power level = 0, Value of 63 for not used and show `--` in the OSD)

Both messages do not need a reply from the FC to the Receiver. The rate these messages are sent to the FC is defined by the RC Link system. For MSP2_RCSTATS an update rate of 4-10Hz is recommended, depending on how much bandwidth on the MSP port can be sacrificed. MSP2_RCINFO should only be updated when necessary. usually when a value changes.

Who does this impact? Who is this for?

All pilots who want to use MSP capable receivers.

Additional context

A second MSP message could be added to provide an input for advanced link data like the currently used frequency fields. This would then be for logging only and needs a high update rate to be usable. So maybe it should be separated from standard link statistics for the OSD that can easily be at 4Hz update rate.

@olliw42
@Scavanger

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions