MAVLINKHUD

Overview

The OUT parameter group (specifically within AP_Periph firmware) configures the motor and servo Output Protocols.

When using a DroneCAN peripheral to drive servos or ESCs, these parameters define how those electrical signals are generated and managed.

Key Concepts

1. ESC Protocols (OUT_BLH_...)

Configures BLHeli_32 and BLHeli_S support for ESCs connected to the peripheral node.

  • OUT_BLH_MASK: Bitmask of which outputs should use BLHeli-compatible PWM.
  • OUT_BLH_BDMASK: Enables Bidirectional DShot (RPM telemetry).

2. DShot Configuration (OUT_DSHOT_RATE)

Sets the digital speed of the motor protocol (e.g., 150, 300, 600).

3. GPIO Conversion (OUT_GPIO_MASK)

Allows some PWM pins on the peripheral to be converted to digital High/Low pins.

Developer Notes

  • Library: Tools/AP_Periph.
  • Performance: DShot rates are limited by the MCU speed of the peripheral node (typically F4 or G4).

OUT1_FUNCTION

Default 0
Range 0 100

Relay function (OUT1_FUNCTION)

Description

This parameter defines the function of the Relay 1 output. Relays are simple On/Off (GPIO) switches used for things like camera triggers, parachutes, or powering lights.

The Mathematics

N/A. Function Mapping.

The Engineer's View

Defined in libraries/AP_Relay/AP_Relay_Params.cpp. Matches the Relay::function enum.

  • 0: None
  • 1: Relay (General purpose)
  • ...

Tuning & Behavior

  • Default Value: 0 (None)
  • Set to: 1 (Relay) to control via RELAY_PIN.

OUT_32_ENABLE

null
Default 0
Range null

Enable pullup after altitude wait

Note: This parameter configures instance 32_ENABLE. It functions identically to SERVO_32_ENABLE.

OUT_BLH_3DMASK

Default 0
Range 0 4294967295

BLHeli 3D Mode Mask (OUT_BLH_3DMASK)

Description

OUT_BLH_3DMASK enables "3D Mode" (reversible throttle) for specific motors.

In standard flight, 0 throttle is stop, 100% is full speed.
In 3D mode, 50% throttle is stop, 100% is full forward, and 0% is full reverse.

Tuning & Behavior

  • Default Value: 0 (Disabled).
  • Usage: Used for 3D aerobatic quads (flying upside down) or rovers/boats with reversible ESCs.
  • Safety: Ensure your props are tight! Reversing direction in flight exerts huge torque on the prop nut.

OUT_BLH_AUTO

Default 0
Range null

BLHeli pass-thru auto-enable for multicopter motors

Note: This parameter configures instance BLH_AUTO. It functions identically to SERVO_BLH_AUTO.

OUT_BLH_BDMASK

Default 0
Range null

BLHeli bitmask of bi-directional dshot channels

Note: This parameter configures instance BLH_BDMASK. It functions identically to SERVO_BLH_BDMASK.

OUT_BLH_DEBUG

null
Default 0
Range null

BLHeli debug level

Note: This parameter configures instance BLH_DEBUG. It functions identically to SERVO_BLH_DEBUG.

OUT_BLH_MASK

Default 0
Range 0 4294967295

BLHeli Output Mask (OUT_BLH_MASK)

Description

OUT_BLH_MASK tells the autopilot which motors are "Smart ESCs" (BLHeli_S, BLHeli_32, or AM32).

Enabling these bits allows:

  1. DShot Pass-through: Change ESC settings using the BLHeliSuite configurator.
  2. Telemetry: Read RPM, Temperature, and Voltage from the ESCs.
  • Bit 0 (1): Servo 1
  • Bit 1 (2): Servo 2

Tuning & Behavior

  • Default Value: 0
  • Recommendation: Set this bitmask to match your motor output channels (e.g., 15 for a standard Quad).
  • Reboot Required: Yes.

OUT_BLH_OTYPE

Default 0
Range 0 4

BLHeli Output Type (OUT_BLH_OTYPE)

Description

OUT_BLH_OTYPE selects the "Language" the autopilot uses to talk to your ESCs for telemetry.

  • 0: None. No telemetry.
  • 1: BLHeli_S / BLHeli_32. Standard DShot telemetry.
  • 4: AM32. For AM32 based ESCs.

Tuning & Behavior

  • Default Value: 0
  • Recommendation: Match your ESC hardware. Most modern ESCs use 1.

OUT_BLH_POLES

Default 14
Range 2 50

Nr. electrical poles

Note: This parameter configures instance BLH_POLES. It functions identically to SERVO_BLH_POLES.

OUT_BLH_PORT

null
Default 0
Range null

Control port

Note: This parameter configures instance BLH_PORT. It functions identically to SERVO_BLH_PORT.

OUT_BLH_RVMASK

Default 0
Range 0 4294967295

BLHeli Reversed Mask (OUT_BLH_RVMASK)

Description

OUT_BLH_RVMASK allows you to change motor direction without soldering.

If Motor 1 is spinning clockwise but needs to spin counter-clockwise, you can simply check the box for Bit 0 in this mask. ArduPilot sends a DShot command to the ESC to invert its rotation.

Tuning & Behavior

  • Default Value: 0.
  • Recommendation: Use this during setup to fix motor directions.
  • Note: Only works with DShot-capable ESCs (BLHeli_S, BLHeli_32, AM32).

OUT_BLH_TEST

null
Default 0
Range null

BLHeli internal interface test

Note: This parameter configures instance BLH_TEST. It functions identically to SERVO_BLH_TEST.

OUT_BLH_TMOUT

s
Default 0
Range 0 300

BLHeli protocol timeout

Note: This parameter configures instance BLH_TMOUT. It functions identically to SERVO_BLH_TMOUT.

OUT_BLH_TRATE

Hz
Default 10
Range 0 500

BLHeli telemetry rate

Note: This parameter configures instance BLH_TRATE. It functions identically to SERVO_BLH_TRATE.

OUT_DSHOT_RATE

Note: This parameter configures instance DSHOT_RATE. It functions identically to SERVO_DSHOT_RATE.

OUT_FTW_MASK

null
Default 0
Range null

Tiltrotor mask

Note: This parameter configures instance FTW_MASK. It functions identically to SERVO_FTW_MASK.

OUT_FTW_POLES

null
Default 14
Range 1 127

BLHeli Motor Poles

Note: This parameter configures instance FTW_POLES. It functions identically to SERVO_FTW_POLES.

OUT_FTW_RVMASK

null
Default 0
Range null

BLHeli bitmask of reversed channels

Note: This parameter configures instance FTW_RVMASK. It functions identically to SERVO_FTW_RVMASK.

OUT_GPIO_MASK

null
Default 0
Range null

Tiltrotor mask

Note: This parameter configures instance GPIO_MASK. It functions identically to SERVO_GPIO_MASK.

OUT_RATE

Hz
Default 50
Range 25 400

Output Rate (OUT_RATE)

Description

OUT_RATE defines how many times per second the autopilot sends a new PWM signal to your servos.

  • 50Hz (Standard): Standard for analog servos.
  • 400Hz (High-Speed): Standard for digital servos.

Using a high rate with an analog servo can burn it out!

The Engineer's View

Sets the global default timer period for the PWM peripheral. Note that if you use DShot or certain specific functions (like ESC telemetry), this global rate might be overridden for specific groups of pins sharing a timer.

Tuning & Behavior

  • Default Value: 50 Hz.
  • Digital Servos: Set to 400 for significantly better flight performance and faster response times.
  • Analog Servos: Keep at 50.

OUT_ROB_POSMAX

Default 4095
Range 0 4095

Robotis servo position max

Note: This parameter configures instance ROB_POSMAX. It functions identically to SERVO_ROB_POSMAX.

OUT_ROB_POSMIN

Default 0
Range 0 4095

Robotis servo position min

Note: This parameter configures instance ROB_POSMIN. It functions identically to SERVO_ROB_POSMIN.

OUT_SBUS_RATE

deg/s
Default default_rate
Range 1 360

Maximum Controlled Rate

Note: This parameter configures instance SBUS_RATE. It functions identically to SERVO_SBUS_RATE.

OUT_VOLZ_MASK

Default 0
Range 0 4294967295

Volz Servo Mask (OUT_VOLZ_MASK)

Note: This parameter is an alias for SERVO_VOLZ_MASK.