Mateksys F722WPX Freezes when uploading Diff File from 7.1.2 to 8.0.1
Current Behavior
Used a valid Diff file from 7.1.2. It will execute partially then halt execution mid way. No indication of any errors that might cause this.
Steps to Reproduce
- Reboot flight controller
- Enter CLI and select load file.
- Load and execute valid 7.1.2 Diff file
Expected behavior
Diff file should execute and complete
INAV_7.1.2_cli_HW_T1-1_20250929_153226GOOD.txt
Suggested solution(s)
Additional context
I have successfully upgraded two other models from 7.1.2 to 8.0.1 without any issues.
- FC Board name and vendor: Mateksys F722WPX
- INAV version string: INAV/MATEKF722WPX 7.1.2 May 31 2024 / 23:58:15 (4e1e59eb)
A diff from 7.1.2 is not valid in 8.0.1. The change in major versions is to inform you that settings are not directly compatible. There are instructions in the release notes to modify the file and often a tool that will automate the update of the diff file.
Upgrading from INAV 7.0 and 7.1 Backup configuration with CLI diff all command Download and install the new INAV Configurator 8.0 Flash INAV 8.0 WITH Full Chip Erase option enabled Edit the 7.x diff and apply Diff breaking changes described bellow, and save it as your new inav 8 diff. See Diff breaking changes section below. Select Keep current settings from the defaults pop-up Go to CLI and restore your edited inav diff Done This tool can help migrate your INAV 7.x diff over to INAV 8.0.0. It will take care of the major changes that have been highlighted in these release notes.
@daijoubu I wanna add some context here: Even without the changes the diff upload should not cause a lockup of the FC. It sounds like the same issue as we get when we upload a diff to F411 with a custom 8.0 compile. I think it was mosca who assumed a out of memory issue of the MSP Parser when uploading a diff above a certain size.
I had some comments with @preisedj on FB and splitting the diff in 2 parts works just fine if both smaller parts are applied.
@preisedj can you try to save a DUMP of the 8.0 setup and then try to upload that dump again without reflash? If its the same root cause as with the F411 then it should also lockup.
Further information on this.
- I tried the same diff file 7.1.2 on a Mateksys F405 and Speedybee F405 without any issues. Only the Mateksys F722WPX showed this behaviour.
- Slitting the diff file into 2 or more parts works fine with the F722WPX.
- The resulting 8.0.1 diff file is about the same size as the 7.1.2 diff file. I can set the F722WPX to default and load the 8.0.1 diff file without any problem.
can you upload the 7.1.2 version of your diff as well please?
My bad, I was too tired already :D
So I have compared the Diffs and I can't load any of them on a F722PX that I have spare either. But I think I found the culprit:
Line 94: osd_layout 0 7 25 16 V
this OSD element causes the FC to lockup. Its the flight mode element. I can set that in the CLI after the full diff is applied and saved but not over the default config state for some reason. Then the FC locks up. I commented it out and then the full diff runs through.
I have no idea about debugging so a developer would need to look into that and give an explanation.
So I have compared the Diffs and I can't load any of them on a F722PX that I have spare either. But I think I found the culprit: Line 94:
osd_layout 0 7 25 16 Vthis OSD element causes the FC to lockup. Its the flight mode element. I can set that in the CLI after the full diff is applied and saved but not over the default config state for some reason. Then the FC locks up. I commented it out and then the full diff runs through.
I take it the Diff load hangs at line 94 ? And did you try setting just osd_layout 0 7 25 16 V over the default config state by itself without the rest of the Diff ?
yes that also works. When I do defaults_noreboot and then osd_layout 0 7 25 16 V right after, it works fine. Only when its in the diff it seems to lock up. When removed, the diff runs through.
For me both diffs locked up the 7.1.2 and the 8.0.1 diff.