Advanced Input Mapping
Advanced Input / Output mapping for the Pilot Pro
Input mapping is a critical step in customizing your Pilot Pro Radio for use with non-Freefly hardware. Whether you're piloting drones, RC planes, or other remote-controlled models, input mapping allows you to configure and assign channels, switches, and controls to suit your unique needs. The Pilot Pro Radio’s robust features make it easy to tailor inputs to your specific preferences, enhancing responsiveness and control precision. In this guide, we’ll explore the fundamentals of input mapping, walk through step-by-step instructions, and share tips for getting the most out of your setup. By the end, you’ll have the skills to unlock the full potential of your Pilot Pro Radio.
Custom Configuration File
The custom configuration YAML file is your gateway to unparalleled flexibility and personalization with the Pilot Pro Radio. This powerful file format allows you to define and fine-tune every aspect of your radio’s setup, from channel assignments and switch functions to advanced input mappings and flight modes. By editing the YAML, you can create a tailored configuration that perfectly matches your flying style, equipment, and mission objectives. In this guide, we’ll introduce the structure and purpose of the YAML file, explain how to edit it safely, and provide tips for crafting configurations that elevate your piloting experience to the next level.
Below we have example configuration YAML's for our radios along with a blank variant for easy setup from scratch
Examples:
General Configuration
The configuration file begins with general information needed to parse and label the configuration:
FORMAT_VERSION
This field indicates the file format version
CONFIG_NAME
Use this field to name your configuration. 16 characters max, alphanumeric and spaces
Important: Do not modify the FORMAT_VERSION field unless instructed to do so.
Parameter Configuration
The parameters define the base layer for communication with the module and some default settings.
Parameter List:
RadioUartBaud
Baud rate for UART communication to the radio. Do not change
SbusBaud
Baud rate for the SBUS protocol. Do not change
SbusChDefaultVal
Default SBUS value when a SBUS channel is not mapped to an input
VehicleCompId
MAVLink Vehicle Component ID
VehicleSysId
MAVLink Vehicle System ID
Input Configuration
The INPUTS section defines all available inputs on your device. Each input type is grouped under its respective category, and the full list of available inputs are listed below:
Input Types:
JOYSTICK_INPUT
Joystick_Left_X Joystick_Left_Y
Joystick_Right_X
Joystick_Right_Y
ROCKER_INPUT
Rocker_Left
Rocker_Right
DIAL_INPUT
Dial_1
Dial_2
Dial_3
Dial_4
BUTTON_INPUT
Button_A1
Button_A2
Button_A3
Button_A4
Button_A5
Button_L1
Button_L2
Button_Power
Button_R1
Button_R2
SWITCH_INPUT
Switch_Kill
Switch_S1 (Up, Center, Down, as 1, 0, -1)
Switch_S1_Center (Boolean, is or is not Center)
Switch_S1_Down (Boolean, is or is not Down)
Switch_S1_Up (Boolean, is or is not Up)
Switch_S2 (Up, Center, Down, as 1, 0, -1)
Switch_S2_Center (Boolean, is or is not Center)
Switch_S2_Down (Boolean, is or is not Down)
Switch_S2_Up (Boolean, is or is not Up)
For each input, there are a variety of settings that can be configured.
Input Settings:
name
The unique name of the input used for the ‘inputName’ field of an output. DO NOT MODIFY.
smoothFactor
The amount of smoothing applied. Higher values create smoother but more delayed responses. The range is 0.0 (no smoothing) to 100.0 (maximum smoothing).
window
The amount of deadband applied. This creates a window where the input is ignored near center stick to eliminate drift. The range is 0.0 (no window) to 100.0 (maximum window).
expoFactor
The amount of expo applied to your stick commands. Set to a value of 0.0 for a linear response. The range is -100.0 (center stick sensitive) to 100.0 (outer stick sensitive).
Important: Do not remove any fields from this section. If an input is not used, leave its fields as they are in the Input section
Output Configuration
The OUTPUTS section defines how inputs are mapped to various output types. Each output type has its own subsection which will apply to it’s respective type of commands it can send:
Output Types:
HID_OUTPUT
Human Interface Device. Commonly used for connections to USB devices
SBUS_OUTPUT
SBUS output. Used often with RC control
SCALAR_OUTPUT
Internal use. These are internal references that you need to adjust to change scaling, or have one input change the behavior of another
MAVLINK_COMMAND_OUTPUT
MAVLink commands. Sends direct MAVLink message
MAVLINK_MANUAL_CONTROL_OUTPUT
MAVLink MANUAL_CONTROL. Used for MAVLink control system inputs
MAVLINK_MODE_SWITCH_OUTPUT
Switch PX4 mode using the MAV_CMD_DO_SET_MODE MAVLink COMMAND_LONG. Used for PX4 Autopilot.
For each output, you will have a combination settings that can be adjusted.
Output Settings:
name
Do not modify this. This is an internal name used to reference this part of the configuration
inputName
The name of the input you would like to apply to this output (ie to use the A1 button, you would put in Button_A1. Input names can be referenced above)
scalarName
A scalar name to scale the output value with
ADCTh
An integer from 0 and 100 sets the threshold for the analog value to be converted to a digital value. Set to -1 if unused
minValue
The minimum value of the output
maxValue
The maximum value of the output
Important: Do not remove any fields from this section. If an input is not used, put ‘None’ in the inputName
Mapping Inputs to Outputs
To map an input to an output:
Find the desired output in the OUTPUTS section.
Set the inputName to the exact name of the input you want to map.
Adjust minValue and maxValue to set the range of the output if needed.
Remember: You can modify all output fields EXCEPT for the ‘name’ field
Using Scalar Outputs
Scalar outputs can be used to modify input values that are mapped to an input. Scalar outputs follow the same output settings as all other outputs, but give an additional point to modify the output
Pilot Pro Input Mapping Processing
To assist with custom configurations, below is a flowchart of how inputs are processed into a usable output. This chart shows how we have mapped the left rocker by default. The rocker is both scaled by dial 1, and uses switch s1 to invert the direction it moves the gimbal.
You can find a high resolution version the flowchart here
Importing / Exporting Configurations
Configurations can be imported or exported through the Pilot Pro app's Input Mapping page
In System Presets, this will include all Freefly Preset configurations:
Under the User Presets, this will be where you can add or create your own configurations. Creating a New configuration will make a copy of your current configuration. Importing a configuration allows you to import a YAML configuration file from anywhere on your device. Importing will copy the configuration to Tablet Storage > Documents > Pilot Pro App > CONFIGURATION PRESETS. To remove a configuration, delete the YAML file from this location
Last updated