My speculation that the incident was caused by a faulty gyro is incorrect. It’s clear that the 180° change in Yaw was done by the FC and not as a result of any sensor data. E.g., this plot shows the Yaw (red) and the integrated gyroZ values.
The eventLog stream provides some hints about why this happened. Using the eventLog stream is always problematical as it is unclear what many of the entries actually mean. Anyway, it appears that IMU(0) was the active IMU and the FC switched to IMU(1) at about the time the Yaw value started changing. I’m speculating the the switch from IMU(0) to IMU(1) didn’t go well.
831.616 : 46862 [L-NS][comm] ext ns disconnect2
831.672 : 46865 [L-FDI]NS(0) FUSION(1): fault on , disconnect
831.672 : 46865 [L-FDI]ns req:fdi,1to0,reason:imu.disconnect,result:succeed
831.672 : 46865 [L-FDI][SWITCH] req:2,1->0,result:6,serr:1000617,derr:5
831.673 : 46865 [L-IMU][heading] state: drift
831.673 : 46865 [L-FMU/DM]Busy Device Changed. Type:imu0_local, <ID:15 idx:1–>ID:7 idx:0>, change tim
831.711 : 46866 [L-NS][comm] ext ns connect2
Coincidentally, there had been several (at least 100) entries that looks like the FC was attempting to auto calibrate the compass.
830.335 : 46798 [L-COMPASS][mag auto cali(0)] init|
What does all this mean? Don’t know for sure but it seems that the cause is due to some FC error and is not a HW issue or a pilot caused error. You may have to hammer on DJI to get them to see this. Good luck.