So I take it the screenshot and settings I posted don’t indicate anything at all that could lead to the “Cannot start compass thread” error?
Could it indicate a hardware problem on the GPS/compass unit? Because searching for this error, it seems extremely rare.
FC before and after: Matek F405-CTR. GPS/compass is unchanged: BN-880. Shouldn’t it be enough to delete and re-add the compass to the configuration? This doesn’t affect anything else, even the GPS data from the same unit seems to be correct.
After spending another few hours on this I’m on the verge of giving up and flying this without compass.
A tried a total of 3 different GPS units, and only once, out of dozens of attempts, I managed to get the calibration running. After a reboot however, it still claimed calibration is missing, and “Cannot start compass thread” appeared again on subsequent attempts.
Maybe someone with insight into the code could explain under what conditions “Cannot start compass thread” could appear, or what could keep this thread from starting (I’m not a programmer myself).
The error really means it couldn’t start the thread - which is weird. Are you able to check how much free memory you have? I’m guessing some kind of resource limit has prevented this. Maybe out of stack space. What is your flight controller? Are you able to ftp @SYS/threads.txt and @SYS/tasks.txt to see if anything weird is going on?
FC is a Matek F405-CTR (target MatekF405). How can I check used memory and where to enter those FTP commands? Sounds very interesting, a whole new approach.
I had some suspicions for a while that this might not actually be related to the GPS/compass units I tried, because they’re always recognized correctly - all 3 of them.
On a side note, is it normal that circular movements of the compass alone are not registered? I noticed that I can see the the compass display moving in MP even without a compass connected. But when I turn only the compass unit (not the FC), there is no movement.
Install firmware for another platform like rover or traditional helicopter and then install ArduCopter for your frame type. This will start you over from scratch which is what you should have done in the first place.
Yes, I’d like to use more F7, but I really like Matek FCs best. And the only ones with F7 that are supported are for wings, I think. Too expensive and also too big for this tiny project.
I used a Kakute F7 AIO on another copter (which crashed 2 days ago, investigation thread coming up later today…) and found it unnecessarily hard to solder. On the plus side, it does play the multi-pitch tones which I really like.
Although the memory is not larger than on the F405, maybe some more processing power would have helped in this case - somehow.
For the larger copter I had originally bought an F722-SE, assuming it would run AP as a kind of successor to the F405-CTR, but switched to the Holybro when I found out that it only has half the flash memory - not enough for AP.
I had also planned a wing build with an F765-WING and was looking forward to finally being able to use the “unlimited” version of AP on it, but in the end I didn’t manage to even start it last summer.
Yes I noticed in the meantime, hence the high price (about 2x F405). Yet I definitely would have picked it instead of the Holybro, had it already been available in spring.
The higher price is likely because the H743 boards have 2 IMU’s and a better barometer and CAN. And somehow they managed to get a SD card reader on the mini 20x20 board. A lot of funtionality on that tiny board.
I meant the F405-CTR of course, which I’m using for this copter. But still you’re right, it’s not double the price of an H743-MINI. About £13 difference when bought in the UK for example.
Anyway, back to the topic. I did an indoor test and it flew! Yet I noticed something odd that also occured on the bigger copter that crashed last week (still haven’t got around to posting the log for investigation):
The throttle input seems to be scaled to about 50%, and I wonder if that’s normal (never had it on Arduplane):
This screenshot is from the bigger one but I expect to see the same with this one, because when testing indoors, the throttle % in OSD already didn’t correlate to the stick input, just like in the image above.
I wonder if ATC_THR_MIX_MAX is the value to adjust? It’s set to 0.5 at the moment.