On the bench: When FBW_A is enabled, all control surfaces level off when I tip the plane 20 degrees up and roll it about 30 degrees right. When stabilize is enabled, all surfaces are level when the plane is level.
In the past, I've seen this load of APM2 (version 2.40) operate FBW_A and Stabilize agree on where level is. Not today, though! You should have seen the flight!
How could these two modes not agree on where level is? How can I fix it? Does FBW have some memory of trimming I don't know about that stabilize ignores?
A couple of weekends ago, we were also messing with APM2 and arduplane 2.5, and found all kinds of weirdness with level settings between stabilise, and FBW/auto.
The last thing we had changed was to using the "level" option (which remembers the level set across bootups).
Going back to using normal re-leveling on each boot seemed to fix the problem. Didn't look much further into it at the time as we got busy flying :)
Hmm that's a good idea. I had ZERO luck with 2.5, so downgraded back to 2.4. But I'll try to re-set level; maybe the offsets got weird at some point, though I'd like to know how that could happen. I can't help but think that I was trimming in FBW by accident and the thing remembered the values somehow...
I tried a couple of things... I reloaded 2.4 to the board, re-set level, then copied up an older param file. No luck. The newer one didn't work either, unsurprisingly.
So.... anyone have any ideas for a next step? Last I checked, FBW and stabilize shouldn't disagree on where level is.
We tried re-setting level with no luck as well.
We had to turn the leveling option off, and go back to the original way where it re-levels itself on each powerup. Will see when I get a chance if I can get it to reproduce the behaviour here.
I wonder why this would change in the middle of a day and then persist? I've had the thing set to manual level since it was installed, over a month ago.
Such quirky stuff!
Is there no other APM2 user who has or has had this issue? Is there an expert who can shed light on how the feature works internally? Perhaps there is a thing that needs to be cleared, or... some other such thing?
I've figured this out.
It seems that using manual level does not update the offsets for both fbw and stabilize; just stab is kept current. If you allow the plane to level everything at boot, both modes will agree.
I discovered this after the problem followed me from 2.4 to 2.6.
The most effective solution is blowing away the config and starting over. I simplified this by taking a screenshot of the PID's before clearing the config, since that's the most time-consuming part to redo.
Then I erased the eeprom by entering terminal mode and typing 'setup erase'. Then I restored to factory defaults by typing 'setup reset'. FBW and stab agreed after that. I just re-entered my PID values, recalibrated my radio, set the modes, changed settings here and there, and done. 10 minutes, tops.