Compass dev id getting reset

Hello.
I am using one external compass here3+.
Earlier it was working properly but one day after 4-5 flights compass inconsistant error occoured, to resolve issue i rebooted drone, but after that compass not found error occoured, compass dev id set to 0 automatically.
and also in mission planner its showing external compass is missing.
my three here3+ gps got same problem, now i am unable to fly drone.
Please help me with this.
Also i tried to upgrade here3+ firmware version.

Thank You.

@amilcarlucas @xfacta @rmackay9 can you help me?

I have experienced this issue 3 times. Each time is an exact copy of the previous experience.
We are running Arducopter 4.5.4
Cube Orange
Here3

Flight log includes crash and params after each flight
https://drive.google.com/drive/folders/1uYmSnQHqSTLsKKtA8BnQ46hStC9j_rCg?usp=sharing

Order of operations:
Run accel calibration
Run compass calibration

Flight 1
Take off: great
Flight: great
Landing: great

Flight 2
Take off: good
Flight: great
Landing: great

Flight 3
Take off: ok
Flight: great
Landing: great

Flight 4
Take off: Unstable but recovers
Flight: great
Landing: 1st and 2nd flight lands, 3rd flight crash

Flight 5
Take off: 1st and 2nd flights: Unstable and crashes

We have flown in different locations each time.
We calibrate the drone in each location before the first flight.

I did a log analyzer and this was the result.
Vehicletype ArduCopter
Firmware Version V4.5.4
Firmware Hash fd1bcc61
Hardware Type
Free Mem 0
Skipped Lines 0
Test: Autotune = UNKNOWN - No ATUN log data
Test: Brownout = GOOD -
Test: Compass = FAIL - FAIL: Large compass offset in MAG data (X:-140.00, Y:-530.00, Z:210.00)
Large change in mag_field (489.98%)
Max mag field length (1040.10) > recommended (550.00)

Test: Dupe Log Data = GOOD -
Test: Empty = GOOD -
Test: Event/Failsafe = FAIL - ERR found: CRASH
Test: GPS = FAIL - Min satellites: 0, Max HDop: 0.85
Test: IMU Mismatch = NA -
Test: Motor Balance = UNKNOWN - ‘HEXA/X’
Test: NaNs = FAIL - Found NaN in CTUN.TAlt
Found NaN in CTUN.DSAlt

Test: OpticalFlow = FAIL - ‘FLOW_FXSCALER’ not found
Test: Parameters = FAIL - ‘MAG_ENABLE’ not found
Test: PM = UNKNOWN - ‘NLoop’
Test: Pitch/Roll = UNKNOWN - ‘BarAlt’
Test: Thrust = GOOD -
Test: VCC = UNKNOWN - No CURR log data

The tune of the drone is not complete, many parameters are still on defaults… No filtering is setup.

There’s a big spread on the motor outputs. So likely the airframe is not straight or not balanced.

Both compasses need improvement in their calibration. Use of Magfit would be the ideal tool. It would work better if there was accurate current monitoring however. Compasses do not need to be re-calibrated at different locations. That’s an old DJI thing. If you have followed the process and calibrated with Magfit then you never need to do it again unless you change or move the compass on the drone itself.

The log analyzer tool in MP is outdated and useless. Don’t waste your time with it.

Flying auto missions on an un-tuned drone is risky and generally not recommended.

I recommend you follow the procedure set out here: How to methodically configure and tune any ArduCopter Do all the steps, don’t skip anything. You’ll have a great flying drone if you do.

Thank you very much for your response here, Allister. I appologize for the double post. I thought it might get more attention with its own thread vs. responding to an older one.