EK3_PRIMARY not set to "1" when using the "reset to defaults" option

I recently installed an older Orange Cube on a new copter.

To reset the parameters I took the “reset to defaults” option in Mission Planner.

Working through a problem with vibes, it was found that I had EKF3_PRIMARY=0

So perhaps this parameter needs to be added to the defaults that Mission Planner resets.

Which version of firmware are you using?
It was changed to this at 4.3.2
Also, Mission Planner does not have anything with it, default params are embedded in the firmware.

I was using the last version before 4.4. (4.3?)

When I built this copter about two months ago, I took this older Cube, did the “reset to default” option, and then flashed the current stable version.

If Mission Planner has nothing to do with it - what exactly does the Mission Planner “reset to default” function do?

By the way - I checked another copter here in my shop - it has version 4.3.7. It too had EK3_PRIMARY set to “0”.

And I always do the update to the latest beta version of Mission Planner.

Mission planner just notifies the firmware to reset the parameters. (Actually, it sets the FORMAT_VERSION parameter to zero and reboots, which triggers a parameter reset)

1 Like

OK - that makes perfect sense. Far better that each version of the firmware to know what it’s defaults should be.

In this case - it appears that there are versions of the firmware that don’t know what EK3_PRIMARY default should be for the Orange Cube.

I’ve made a post on the CubePilot facebook group about this - asking that a list of the defaults for the Orange Cube be listed somewhere for reference.

I’m aware of the EK3_IMU_MASK default that was stipulated in a service bulletin. I believe it was incorporated in version 4.1.

I’m not checking all my copters with Orange Cubes - seems none have the proper setting of EK3_PRIMARY.

Before raising the alarm to multiple developers on multiple forums, have you confirmed this is repeatable behavior?

The defaults are listed in Mission Planner, so that seems to suffice for your desire to know what they are.

That none of your Copters have the “correct” default set isn’t surprising, since you’re a long time user and likely upgraded incrementally over time. Previous parameters are rarely rewritten during updates.

Your point is well taken.

The issue at hand to me is that the Mission Planner “reset to default” option did not update EK3_PRIMARY to it’s current default of “1”.

As Andras points out, the defaults are known to the firmware - not Mission Planner. That makes perfect sense - I had assumed Mission Planner knew the defaults.

So it seems that there are versions of 4.3 that don’t have the default for EK3_PRIMARY in it’s roster of defaults.

It would be good to have a list of necessary defaults for popular flight controllers, such as the Orange Cube, so we can verify that these parameters are set correctly.

Correct that early 4.3 releases do not include the EK3_PRIMARY fix. It was first included in 4.3.2-rc1 and released shortly thereafter.

The “roster” of defaults is implicit in the definitions of the parameters. Each one has a default specified at creation time. Those defaults are listed by Mission Planner for reference.

1 Like

Where does Mission Planner list parameter defaults? In the Config full parameter - on each parameter?

This isn’t really useful for checking that hardware specific (like the Orange Cube) parameters are selected - a user wouldn’t know which parameters to investigate.

In my opinion, CubePilot and/or ArduPilot need to have a plain list of defaults that are hardware specific - so that a builder can check that the right defaults are set for the installed equipment.

Yes, that’s exactly where.

image

Do you mean you want a list like this?

image

It already exists:
ardupilot/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange/defaults.parm at Copter-4.3 · ArduPilot/ardupilot (github.com)

I do think that the release notes for 4.3.2 should have been a little more specific and perhaps encouraged users to set the new default. In this specific case, though, you even had a detailed discussion on the subject at the time, thus making you aware…

There is no repro here with CubeOrange and 4.3.7.
Reset to default sets back EK3_PRIMARY to 1.

Do a “Hard reset” on your cube, install rover firmware, and then install a Copter again; it will clear everything that possibly stuck from a long upgrade path.

1 Like

Yes - a list in that form would be helpful.

I’m not sure the list you referred to is complete - for example, it doesn’t have EK3_IMU_MASK.

In my opinion, lists of such defaults should be in the wiki. And then the Initial Tuning Guide should have a link to these lists.

I’ve been working with ArduPilot for 3 years now - and I’m still a novice. But I’m in a position where I can remember how hard it was to get it right in the first place. There’s been some good progress in this regard - such as the Initial Tuning Guide. But I think this has fallen through the cracks.

All I can do is report my experience - and that was when using the last firmware before 4.4, when I did the “Reset to Defaults” it didn’t set EK3_PRIMARY to 1.

I’ve read quite a bit of debate on how to “reset” parameters. There are three ways I’m familiar with:

  1. load a different vehicle type, and then re-load the type you need. (“hard reset” as you say)

  2. Use the “reset to default” feature in Mission Planner.

  3. Set FORMAT_VERSION=0 and reboot.

It’s important to know the pros and cons of each option.

  1. and 3. are exactly the same

Then please take the time to add those things. The time spent here discussing these desires could easily translate to results with a modicum of effort to improve the documentation on your part.

By the way, the change to EK3_PRIMARY for the CubeOrange was made with this PR and it went out with 4.3.3. It was mentioned in the 4.3.3 release announcement as the somewhat-difficult-to-understand, “1c) CubeOrange, CubeYellow gets fast reset of ICM20602” change.

We can ask @bugobliterator can you give some more context on this change if necessary…