Cannot use Position control mode, and the heading is 180 degree wrong (reversed compass) (wrong outdoor but correct indoor)

After updating the firmware to 1.13.3 by QGroundcontrol.

The QGroundcontrol keeps showing the mode “Stabilized”, and cannot switch to the mode “Position control”

In the past, the drone should change to “Position control” mode automatically.

When trying to switch “Position control” mode, it shows the error
"Switch to mode “Position control” is currently not possible . check for a valid position estimate "

After recalibrating, upload firmware, and reboot, the error disappears.
However, the drone still cannot switch to the "Position control " mode.
The drone only can use “stabilized” and "manual " modes now.

It is wired that the light of GPS keeps red and purple.

However, I tried two different open locations and detected 10~15 GPS satellites.
The number of GPS should be good enough for “Position control” mode.

Moreover, the heading of the drone (red arrow) becomes wrong.
The red arrow is 180 degree different from the PX4 flight controller, even though I already calibrated compass, gyroscope, accelerometer and level horizon, again.
image
I also tried to change “ROTATION_YAW_180”, but it still cannot work.

Before updating the firmware,
I remember that the light of GPS should turn green automatically and then allows for “Position control” mode.
The orientation was “ROTATION_NONE”, and the heading is correct as same as PX4 flight controller.

One possible reason may be
Yesterday, we tried to update the sampling rate of the IMU and lidar-lite by QGroundControl.
However, we already change all parameters back to the default.

QGroundControl version is v4.2.1
image

There is the log file.

Thank you very much for your help.

By the way, if indoor, the compass (red arrow) will be correct.
180 degree reversed compass happens outdoor

Now, I downgrade the firmware back to 1.13.0 and the compass is still wrong.
I decided to compare two log in the same firmware version 1.13.0
The first log is correct heading, and the second log is wrong heading.
I also found that the wrong heading only happens when the pixhawk connected with GPS, outdoor.
If indoor, the heading is correct.
If outdoor without GPS, the heading is correct.

Thus, something happen, when connecting the GPS, the compass value gets affected.

I am checking the Non-default parameter one by one.
The good one is on the left side. The bad one is on the right side.

The bad one misses “EKF2_RNG_AID” and “EKF2_WIND_NOISE”

The bad one shows the Pitch may be wrong

The bad one has “SYS_MC_EST_GROUP”

I solved it by changing the parameter “SYS_MC_EST_GROUP” back to EKF2

Then, the both of 1.13.3 and 1.13.0 firmware work correctly now ^^
Can support “Position control” mode

To summarize how the issue happens, the reason is that I tried to update the sampling rate of IMU and lidar-lite-v3 by QGroundControl.
I changed the MAVlink stream rate and increase the sampling rate of these two sensor by QGroundControl.