I am using ArduCopter on a Kakute F7 Mini since July 2019 (at that time AC 3.6.9 was current stable), meanwhile it was updated to 3.6.10 and 3.6.11. Flying without problems. Starting from 3.6.12 there was a seperate build especially for the “Mini” but I skipped 3.6.12 and updated to 4.0.0 (still on the build for Kakute F7 - non-Mini). I guess, the only difference is the default setting for the logging as the “Mini” has no microSD card slot. My setting so far was LOG_BACKEND_TYPE 0 (no logging).
Since I updated to AC 4.0.0, sporadically the flight controller reboots and after the reboot I see the message “PreArm: Internal errors (0x800)” and “watchdog_reset”. Furtunately, so far this was only before or after flights and not in-flight. I am aware that this would end with a crash when it happens inflight.
As I had to get through some flight tests today, I (thought I) disabled the watchdog with BRD_OPTIONS 0 - aware that this is a bad workaround. After the (successful) flight and disarming, again the FC rebooted and I saw the same message again.
So, although BRD_OPTIONS was set to 0, the watchdog still seemes to trigger a reboot.
By searching for the root cause, I played around with the logging setting. When setting the LOG_BACKEND_TYPE to 1 (file) it reports “Bad logging” as expected and the watchdog reboot also happened while the copter was armed and motors running (copter fixed on the ground) - causing them to stop .
After I learned, that there is a “block logging” option (LOG_BACKEND_TYPE 4) that should work also on Kakute F7 Mini (writing to integrated flash memory), I switched to this logging type. Until two more tests, the watchdog reboot was not yet seen but I am not yet confident that this will fix the watchdog issue.
Now the problem is, that even with block logging, I still get no logfiles. When I try to retrieve a log, mission planner only reports:
Getting list of log files...
Error:System.TimeoutException: Timeout on read - GetLogEntry
at MissionPlanner.MAVLinkInterface.GetLogEntry(UInt16 startno, UInt16 endno)
at MissionPlanner.MAVLinkInterface.GetLogList()
at MissionPlanner.Log.LogDownloadMavLink.<LoadLogList>b__12_0()
The AC 4.0.0 release notes mention that there was also some kind of rework on the watchdog, so there must be something that triggers it newly on Kakute F7 and I would like to find it out…
I did not yet switch to the dedicated Kakute F7 Mini build as this would mean, I would have to redo configuration from scratch. But if you can give me good reasons why this makes sense (are there other differences than only the logging defaults?), I will go that way…