Hi Matthew.
> I'd just like to chime in and say how excited I am about this
> addition!
glad you like it!
> Can we expose at least some of these numbers via Mavlink? That would allow
> easy real-time testing, switching various systems on and off to find out
> which are causing interference issues with the GPS (this was how I
> identified the PZ0420 as the culprit). The jamming indicator and noise
> level would be the two most useful to see on the mavlink status panel, I'd
> guess.
yes, I'd like to add them as a MAVLink message, but first I'd like to
work out exactly which numbers are the best to report. When we add a
MAVLink message we need to propogate the message changes to all ground
station implementations, so we really want to get it right first time if
possible. Because the dataflash log format is self-describing it is much
easier to create/change messages.
> The other message I think is really useful is SVINFO, which contains the
> CN0 (carrier-to-noise) ratio and signal quality for each satellite. Jamming
> sometimes shows up as 'ghost' satellites with poor quality indicators in
> this message, and I find that the CN0s seems reliable as an indicator of
> the signal quality and noise level than the single noise level value
> recorded in the MON-HW message. Do we have enough SD card bandwidth to
> store this message too? It's quite a big message (8 bytes + 12 bytes for
> each channel), but if we strip out the timestamp, elev, azim and prRes, and
> the unused fields, we could get it down to 2 bytes + 4 bytes for each
> channel.
The problem isn't SD card bandwidth, the problem is the internal
processing in the u-Blox, and the bandwidth on the UART between the
u-Blox and the autopilot.
We are already pushing the limits of the u-Blox LEA-6 running the 4 main
messages (NAV_POSLLH, NAV_STATUS, NAV_SOL and NAV_VELNED) at 5Hz. I've
just add MON_HW and MON_HW2 at 0.5Hz. If we add SVINFO then we'd need to
be very sure that the u-Blox will continue to give us our main
navigation msgs at 5Hz completely reliably. If we push it too hard we
may miss messages.
The SVINFO msg is also variable size, which makes it a difficult message
to handle with our current u-Blox parser without taking up more
memory. Perhaps we could make it available only on PX4 and above (which
is what I did for MON_HW and MON_HW2).
The other problem is giving a clear report to the user. If you have 12
satellites being tracked you will have 12 CNo numbers. Some will be
larger than others. We'd need to know how we can interpret the numbers
to give a useful metric for users.
The UBX1 and UBX2 messages I've added are a first attempt to see what
numbers may be useful.
Could you get a log with the current code and your PZ0420 camera that
causes interference, with the camera on and off, and maybe at a couple
of different distances? It would be nice to see if the UBX1 and UBX2
messages should the effect clearly with your setup.
Cheers, Tridge