-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSP Message for link stats of MSP-RC systems #10363
Comments
very desirable IMHO and suggestion looks highly reasonable to me 👍 |
Quick note: SNR is dB, not dBm. Depending on rf chip, min may be lower. |
@OptimusTi thanks for the hint. you think any RF Chip can handle a Signal that is more than 15dB under the noise floor? I have seen mLRS in 31Hz mode to reach -8dB SNR without breakup and at -10 it was over. -15 will be a very long shot I guess. Even for LoRa. Sure we could add a bit more if that is really reasonable but I have doubts. |
Maybe in a perfect world. I'd use -20dB for sanity. Common in the LoRa world. |
this field is VERY specific to lora anyway ... other link systems may have very different measures/metrics for "noise" |
I think Crossfire was FSK only in the past and also had it but I could be mistaken. in the worst case if we do 4 Linkstat frames, we could steal a bit from the LQ. I think a 2% step precision for LQ would not hurt anyone :P Lets see what @MUSTARDTIGERFPV has in mind for the framing and what @Scavanger says about that implementation. alternatively (in the end we transmit positive numbers only and shift them in inav afterwards) we could just do a -20 to 11dB range for SNR. |
my mistake, I probably should have said specific to semtech sx chips, not ruling out others do too but point is some others don't do ... so, doesn't invalidate the statement ;) |
How many sf used in mlrs? That should tell you how low you can go. |
For SNR, anything beyond -20dB is unlikely to be valuable. Crossfire measures SNR differently than ELRS and mLRS, not using RegPktSNR but instead measuring RSSI during the dead time between packets - that's why it has SNR available even in its 150Hz FSK mode. On the MAVLink RC channels discussion, a device manufacturer was arguing for 4 sublink values, so we might want to keep that flexibility. IMHO it's more valuable to have this than SNRs that LoRa chips can't decode anyway (and are likely near theoretical limit). |
@MUSTARDTIGERFPV I think you both have good points. In INAV's case and I would assume also in BF, the SNR on the OSD only shows up if it is <10dB. As we can only send integers anyway afaik, a 5 bit value for SNR should be fine and on the INAV side we shift that value by -20. This way we get a -20 to 11 range to use on the FC while the Rx sends a raw value from 0-31. Additionally a value of 31 could then be just "SNR not supported/disabled" as well. Edit: I have added the sub link ID and we are at nice round 5 byte payload. I guess it also makes sense to have the ID for |
So far this looks pretty good but I have one question: with the antenna Tx/Rx state, we would currently cover information about a dual-band or diversity setup with 2 transceivers. Would this make more sense then: So we would use each sub-link ID also for each antenna or transceiver if there are multiple. Could even be used for antenna switching if you want that and we save 2 bit. |
I think you encounter here a situation which comes from not being logically/conceptually consistent but mish mash. I.e., here mix the concept of sending data in different messages with the concept of sending some combined data in one message. this may point to few obvious appraches to resolve :
not saying any is great, but just to indicate paths towards possible resolution |
I think the vaue for power needs more specification. The power can also be negative, as well as positive. Not clear to me this is intended to be represented currently. |
power levels: wasn't attempting a suggestion just trying to say that it needs to be specified. :) looking forward to 63 dBm devices LOL |
got it, added that. |
any progress planned, or dead horse? |
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
: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
: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
The text was updated successfully, but these errors were encountered: