GPIO Relay for Camera Trigger not functioning after upgrade to 4.5.5

Today I got an old copter down off the shelf to use again.

This copter has an Orange Cube and it had the version of firmware from just before the changes to the “CAM” parameters.

I’m using a GPIO Relay for a camera trigger. (And also an AUX port GPIO to read hot-shoe input.)

After the update the parameters all appear to be set to the new names and values appropriately.

The only parameter value that needed to change was CAM1_TYPE which now needs to be set to “2” for “RELAY”. (The old firmware value was “1” for “RELAY”) The firmware upgrade made this change to the new value of “2” correctly.

After the firmware upgrade, the GPIO relay no longer functions to trigger the camera. I’ve tested the port with a multi-meter looking for the voltage change from HI to LOW.

Not only that - but the Mission Planner map does not put a camera symbol on the map when the “camera trigger” action is taken. It appears that this version of firmware doesn’t understand the presence of a camera from my parameters.

Are there more parameters to set after upgrading to this new firmware?

Here’s a table of the relevant parameters - showing the old and new names - and the new values:
[parameters after update to 4-5-5.param|attachment]

gpio relay parameters chart

Here’s a file of all the new parameters on my copter after the upgrade to 4.5.5:

(upload://xeJFRpFVxD3mHe93HYEKWRkVp1r.param) (19.0 KB)

My overall setup is:
Transmitter RC Channel 9 used for camera trigger
MAIN-7 used as the GPIO relay for the camera trigger
AUX-5 used as the GPIO input for the hot-shoe

I’d greatly appreciate any suggestions and comments!

Hi @jstroup1986,

So I think it is possible you’ve bumped into a bug that is fixed by this PR which is included in 4.5.6-beta1 which should start testing later today.

Sorry for the troubles, despite all the beta testing, this one snuck through

2 Likes

No worries. I’ll be happy to test the beta when it’s available.

A couple of questions - if I switch to an AUX port for this relay - does the issue still exist?

I’m using a CubePilot mini carrier board and BD-Shot on AUX1-4 and hot-shoe on AUX-6. So I still have one available. It’s just not as convenient.

Also - since there’s no camera image posted on the map (and likely no CAM message) I’m wondering if the problem involves more than just the GPIO relay function on a MAIN port.

Many thanks!

AUX ports have always worked without issue. GPIO on IOMCU is the trouble spot.

AUX5-6 should work great for your use case. They share a timer, so won’t affect DSHOT.

1 Like

Hi @jstroup1986,

Re the camera icon not appearing, that should appear whenever the hot shoe pin goes high (or low maybe). So I think even if you trigger the camera somehow externally a camera icon should appear

1 Like

Thank you Randy -

I’ve installed the beta and it does solve the problem.

And yes - I do believe the camera icons weren’t appearing was because there was no hot-shoe input.

Are there any other things about this beta I should be cautious about? Or improvements I might want to explore?

Thanks a million!

1 Like

Hi @jstroup1986

Ah, great to hear. I’ve just published the 4.5.6-beta1 release announcement here which has the list of changes but at this point in the release cycle the fixes are relatively minor.

The worst item is probably the Payload Place bug but that is a rarely used mission command and apparently nobody had noticed the issue even those who had flown it.

Thanks again for testing!

Today I discovered that when I loaded the 4.5.6-beta, I did so before it was released.

Yuri caught this because he noticed on a screen-shot, Mission Planner still showed 4.5.5-stable.

Who knows what I really had - because after the firmware load - my GPIO worked.

I’ve now got 4.5.6-beta and GPIO still works.

I hope that’s my quota of numbskull mistakes for the month… :slight_smile:

1 Like

I do. You were using Copter / CubeOrangePlus-bdshot 4.5.5 stable. There is a unique hash provided with each build (visible in MP’s title bar and the initial series of GCS connection messages), so unless it’s a custom build, we can identify it positively.

At present, you now have 4.5.6-beta1 (the “1” is somewhat important because we often have several beta releases before stable).

Interesting. I wonder why my GPIO problem was fixed.

I guess the question is if you are on a stable release, and you downgrade to a beta for that release, does the “label” change to the “beta” version or remain the same. Stranger things have happened.

There have been rare instances of the version string not being properly updated during a given release (usually a beta or dev). However, we can POSITIVELY rule that out because the build hash is unique (it’s the first 8 characters of the git commit hash for the release). You had Copter 4.5.5 stable without a doubt.

The issue may have been resolved because you updated some key parameter along the way, which would’ve resolved the issue regardless of version.

1 Like

Hi @jstroup1986 @Yuri_Rage,

BTW, I did slightly mess up the 4.5.6-beta1 release so it originally appeared as, “ArduCopter V4.5.5”

Here’s the list of commits in the release and I added that last commit after I noticed my mistake.

1 Like

Exactly the scenario I described! But the commit history there does not match Copter-4.5.5 stable, as was shown in the series of posts leading to the discussion. So that’s pure coincidence, though it could contribute to some of the confusion as various firmwares were flashed in search of an answer.

1 Like