Hello guys,
When I tested GPS fix, I noticed that there is a mismatched GPS_RAW_INT value from MAVLink protocol.
master = mavutil.mavlink_connection('udp:127.0.0.1:14551')
master.recv_match(type='VFR_HUD', blocking=True)
msg = master.recv_match(type='GPS_RAW_INT', blocking=True,
condition='GPS_RAW_INT.fix_type>=3 and GPS_RAW_INT.lat != 0')
print(msg.fix_type)
Result:
6
6
6
…
Regardless of GPS 3D fix, fix_type has always 6 on SITL.
It seems likely to me that the fix_type is just the number of detected GPS satellites, but fix_type has to be changed according to GPS fix type (Messages (common) · MAVLink Developer Guide).
Please help me to figure out why there is the mismatched implementation. Thanks!