Skip to content

Actions Overview

Here you will be introduced to the features and functionalities that are common to all actions.

What is an Action?

An action is simply a button that allows you to send a MAVLink command, and provides feedback. There are a number of pre-defined and customisable actions available to you within the KH Control Stream Deck plugin. It is also possible to setup an action for any MAVLink command.

Action states

All actions have a common set of states that are used to provide information to the user. To explain each of these states the VTOL Takeoff action will be used as an example. "Command available" means that a command will be sent if the button is pressed.

StateDisplayCommand availableDescription
No linktestKH Control is not connected to a link, or Stream Deck plugin is not connected to KH Control
No DatatestKH Control is connected to a link but no heartbeats have been received from the target
ConnectedtestKH Control is connected and receiving heartbeats from the vehicle
Waiting for ACKtestA Command had been send, KH Control is waiting for the acknowledgment
ACKsee acknowledgment tableDisplaying received acknowledgment

Acknowledgment states

When in the ACK state the type of acknowledgment is displayed for a short time before returning to the underlying No link / No Data / Connected state.

StateDisplayDescription
ACK OKtestAcknowledgment received, result: Accepted or In progress
ACK FailtestAcknowledgment received, result: Denied, Unsupported, Failed, Cancelled, Command long only, Command int only, unsupported altitude frame
TimeouttestNo acknowledgment received
Send failtestCommand could not be sent
Configuration errortestError with action configuration

Conventions

All actions follow some basic conventions to try and keep behaviour as consistent and predictable as possible.

  • Pressing a button triggers a single command, no matter the state of the vehicle. For example Arm/Disarm could have been implemented as a toggle however this requires that KH Control knows the current state of the vehicle to know if arm or disarm command should be sent. If this state were to get out of sync for any reason the wrong command would be sent. This rule does mean that a separate action must be setup for arming and disarming. However, this removes unexpected results.

  • Pressing a button triggers exactly one command to be sent. There is no automatic retry. Again the goal of this to remove unexpected behaviour and give the user complete control. The button state will show if no acknowledgement has been received and the user can then decide to retry manually.

Confirmation press

Actions can be configured to require a confirmation press. This can be used on critical actions to prevent accidental triggering. Actions that require a confirmation press will display without a boarder, the first press makes the boarder appear and a second press triggers the action. If no second press is received the action resets after 2.5 seconds.

TODO: Add configured image

TIP

Require a confirmation press on critical actions, such as force disarm.

Colour palettes

Three colour palettes are provided, you can also configure custom colour.

DarkLightFire & Ice
picpicpic

Custom colour

TODO: how to setup custom colours.

Custom targets

If Custom Target per Action is selected in KH Control MAVLink settings each action will have user settable target component and system ID fields. This allows control of multiple vehicles or a vehicle and gimbal. The target system ID and component ID will also be shown on the action itself.

TODO: add image of action with custom target

TIP

Select a different colour palette for each custom target.

Available actions