QGC on HereLink V1.1 - shoulder button won't do "Trigger Camera"

I have been unable to configure the shoulder button (or any other button) on my HereLink 1.1 to perform the Trigger Camera function.

This function does work on the main flight screen using the camera widget.

I can’t tell if this is a QGC bug, or if I’ve simply done something wrong in the configuration.

Comments? Suggestions? Many Thanks!

This works:

This does not work:

1 Like

I’m having this same issue. Did you get it figured out?

Yes - and no.

For the benefit of others who may find this post, I’m going to provide a lengthy explanation - beyond what you’ve asked about. Thank you for your patience.

The buttons on the HereLink controller can either be assigned to send PWM on an R/C channel, or assigned to send a MavLink command over the telemetry link.

To configure a button to send PWM on an R/C channel, use the HereLink setting configuration.

To configure a button to send a MavLink command, first disable the PWM-R/C channel setting, then configure the app (Qgroundcongrol or Solex) to send a MavLink command (such as camera shutter trigger) when a specific button is pressed.

The version of Qgroundcontrol written for HereLink appears to have a bug in it - and it can’t assign MavLink commands when the shoulder button is pressed.

The alternative is to configure the HereLink so that the shoulder button sends a PWM signal on an R/C channel. It can be any available channel - but channel 7 has been used frequently for camera triggering.

To have ArduPilot respond to the PWM signal on a channel (I’ll use channel 7 as an example) you set the parameter RC7_OPTION=9 for camera trigger.

This is how I’ve done my configuration - and it works fine.

The issue with this approach in my opinion is that we are limited to the options in the RC(n)_OPTION parameter as to what functions are available for HereLink buttons. RC(n)_OPTION does allow starting a LUA script - but it doesn’t allow specifying a MavLink command.

CubePilot asserts that only flight mode changes should be done using the HereLink app functions - all other commands/controls should be done with the button assignment to R/C channels. I don’t know there reasoning - but as I understand it, they say it has to do with reliability.

I have raised the shoulder button and camera trigger issue with Cube Pilot - and they haven’t seemed to be inclined to address the bug. It took me a while to figure out that the version of Qgroundcontrol on HereLink is a custom version that was written for it. So there’s no avenue to address the bug other than having CubePilot have it fixed.

3 Likes

Joseph, thank you very much for your bug description. I spent quite some time on this asking me what I’m doing wrong here.

1 Like

Hello and thank you @jstroup1986 for sharing this,

I’m interested in triggering the VTOL quick tune lua script from within QGC in the Herelink controller. How did you guys actually do it? If I set the RC7_option = 9 and then set the trim (default value) for it to 300, I get no response from the FC.

Thank you,

Marty

Can you explain the thought process behind setting RC7_OPTION = 9 and RC7_TRIM = 300?

Because what you have done with that is to define RC7 as camera trigger with the trim (which is irrelevant for a camera trigger anyway) about 70% out of range (for a typical range of 1000 to 2000).

Try to set RC7_OPTION = 300, as explained here:

Thank you Jan,

The thought process was to workaround the lack of a “scripting” button option on QGroundControl running on the Herelink controller. I thought I could trick it in such was that the camera trigger could simply kick in the 300 value I needed for the script to run. But, definitely I will look into that link (thank you again for this) and report back.

I also realized that only when I upload the lua script, I get to modify the “QUIK_” variables. I’ve set it to autorun and autosave, though I’m not clear how to check on this from the PID data perspective (yet).

Marty

When you go to the RC calibration and press the camera trigger button, does channel 7 switch from low to high? If that is the case, setting RC7_OPTION = 300 is literally the only thing you have to do to make it work.

Regarding the check for PID changes: go to the full parameter list and click “save to file” in the upper right corner before and after the quicktune flight, then compare the two files.
Alternatively do the whole tuning process with Amilcar Lucas’s Methodic Configurator GUI, we also use quiktune in there.

Thanks a lot Jan,

Really appreciated. I will try all this out and report back.

Marty

Now I realize something I forgot to mention. When using the Herelink controller with the Airunit, the camera button cannot (apparently) be assigned to a channel allowing a 300 option. That’s why I’ll try the autostart and autosave and see where I go from there.

Thanks,

Marty