The data from this flight provides a one of a kind opportunity to observe how GPS data is used. Not really pertinent to see what happened, just interesting - to me at least.
The Lat,Long coords used by the FC don't come directly from the GPS module. Rather, the Lat,Long coords are derived from the GPS data and IMU data. By fusing these data it's possible to obtain higher accuracy coords (both temporally and position) than can be obtained from either GPS data or IMU data. This flight allows us to observe the fused coords with GPS data held constant. Here the red plot is GPS longitude data (held constant) and the blue plot is the fused longitude data.
View attachment 96113
Presumably the changes in the fused longitude are due to just IMU data shown here. The pink background are where the FC has decided the GPS data can't be used and coincides with abrupt changes in IMU data.
View attachment 96114
I think the reason for the saw-toothed lat/long data is that the GPS health is still listed as 3, and so the FC is still trying to use the GPS lat/long (now constant) via the Kalman filter to correct for IMU drift and bias. The IMU data indicate that the aircraft is still moving, but the GPS says that it is stationary, and the GPS data are causing it to reset its estimate of position much more aggressively than it should in that situation.
What I don't understand is why the process has not been abandoned in the same way that when magnetic yaw and IMU yaw disagree the FC stops the sensor fusion process in terms of computing yaw. If the GPS totally failed that would happen, but it appears that the code does not have a contingency to cope with spurious GPS data that are being reported as good.