MAVLINKHUD

Overview

The ADSB parameter group configures the Automatic Dependent Surveillance–Broadcast (ADS-B) subsystem. This system allows the autopilot to:

  1. Receive (ADS-B In): Detect nearby manned aircraft equipped with ADS-B transmitters. This data is fed into the AVOID library for potential collision avoidance actions.
  2. Transmit (ADS-B Out): Broadcast the drone's position, altitude, and velocity to air traffic control and other aircraft (requires a capable transceiver like the uAvionix Ping2020 or CubeOrange+ ADSB carrier board).

Key Concepts

1. Hardware Selection (ADSB_TYPE)

Tells ArduPilot which driver to use for the connected hardware.

  • 1 (uAvionix): For Ping/PingRX modules communicating via the uAvionix serial protocol.
  • 2 (MAVLink): For devices that send standard ADSB_VEHICLE MAVLink messages (e.g., OpenOpener, some remote IDs).
  • 3 (Sagetech): For Sagetech transponders.

2. Vehicle Identification (ADSB_ICAO_ID / ADSB_SQUAWK)

For "ADS-B Out" capable hardware, these parameters define the aircraft's identity.

  • ICAO ID: The unique 24-bit airframe address assigned by your aviation authority (FAA, EASA, etc.). Do not make this up.
  • Squawk: The 4-digit octal transponder code (usually 1200 for VFR in the US, 7000 in Europe).
  • Callsign: Often set via a separate parameter or string (ADSB_CALLSIGN or FLIGHT_ID).

3. Emitter Category (ADSB_EMIT_TYPE)

Defines the "Wake Turbulence Category" or type of vehicle broadcasted in the ADS-B message.

  • 14: UAV (Unmanned Aerial Vehicle). This is the correct setting for most drones.

4. RF Configuration (ADSB_RF_SELECT)

Configures the radio receiver sensitivity (UAT 978MHz vs 1090ES).

  • RX_ENABLED: Enables receiving.
  • UAT_RX: Enable 978MHz reception (US general aviation below 18k ft).
  • 1090_RX: Enable 1090MHz reception (Commercial airliners, international).

Parameter Breakdown

  • ADSB_ENABLE: Master switch for the library.
  • ADSB_TYPE: Driver selection.
  • ADSB_BAUDRATE: Serial port speed (usually 57600).
  • ADSB_LIST_MAX: Maximum number of tracked targets held in RAM.
  • ADSB_LIST_RADIUS: Detection radius (meters) for tracking targets. Targets outside this are ignored to save memory.
  • ADSB_LOG: Log detected targets to the DataFlash log (ADSB message).

Integration Guide

ADS-B In Setup (PingRX)

  1. Connect PingRX to a Telem port.
  2. Set SERIALx_PROTOCOL to 2 (MAVLink 2) or specific ADSB protocol if required by driver logic (rare, usually auto-detected or mapped to ADSB_TYPE).
  3. Set ADSB_TYPE = 1 (uAvionix).
  4. Reboot.
  5. Verify detections in GCS "Traffic" map.

ADS-B Out Setup

  1. Requires GPS lock and valid time.
  2. Set ADSB_ICAO_ID to your assigned hex code.
  3. Set ADSB_EMIT_TYPE to 14.
  4. Legal Warning: Transmitting invalid ADS-B data is a federal offense in many jurisdictions. Ensure your ICAO ID is registered.

Developer Notes

  • Library: libraries/AP_ADSB
  • Singleton: AP_ADSB::get_singleton()
  • Interaction: Feeds data into AP_Avoidance for "Simple Avoidance" or "ADSB Avoidance" behaviors (climb/descend/loiter).

ADSB_BAUDRATE

Default 57600

ADSB serial baudrate (ADSB_BAUDRATE)

Description

This parameter sets the communication speed (baud rate) for the serial port on the DroneCAN peripheral that is connected to an ADS-B receiver (like the uAvionix PingRX).

The Mathematics

Standard Serial Baud Rates (57600, 115200, etc.).

The Engineer's View

Defined in Tools/AP_Periph/Parameters.cpp. Configures the UART attached to the ADS-B driver stack on the peripheral node.

Tuning & Behavior

  • Default Value: 57600
  • Match Hardware: Must match the fixed baud rate of your ADS-B receiver.

ADSB_EMIT_TYPE

Default 14

Emitter type (ADSB_EMIT_TYPE)

Description

ADSB classification for the vehicle type.

Tuning & Behavior

  • Default Value: 14 (UAV)
  • Values: 0:NoInfo, 1:Light, 2:Small, 3:Large, 4:HighVortexlarge, 5:Heavy, 6:HighlyManuv, 7:Rotocraft, 8:RESERVED, 9:Glider, 10:LightAir, 11:Parachute, 12:UltraLight, 13:RESERVED, 14:UAV, 15:Space, 16:RESERVED, 17:EmergencySurface, 18:ServiceSurface, 19:PointObstacle

ADSB_ICAO_ID

Default 0
Range -1 16777215

ICAO_ID vehicle identification number (ADSB_ICAO_ID)

Description

Unique identifier for this aircraft in the ADS-B system.

Tuning & Behavior

  • Default Value: 0 (Randomly generated)
  • Range: -1 to 16777215
  • -1 means static information is not sent (pre-programmed transceiver).

ADSB_ICAO_SPECL

Default 0

ICAO_ID of special vehicle (ADSB_ICAO_SPECL)

Description

Enables tracking of a specific vehicle by its ICAO ID, bypassing distance and altitude filters.

Tuning & Behavior

  • Default Value: 0 (Disabled)

ADSB_LEN_WIDTH

Default 1

Aircraft length and width (ADSB_LEN_WIDTH)

Description

Physical dimensions of the aircraft for ADS-B reporting.

Tuning & Behavior

  • Default Value: 1 (L15W23)
  • Values: 0:NO_DATA, 1:L15W23, 2:L25W28P5, 3:L25W34, 4:L35W33, 5:L35W38, 6:L45W39P5, 7:L45W45, 8:L55W45, 9:L55W52, 10:L65W59P5, 11:L65W67, 12:L75W72P5, 13:L75W80, 14:L85W80, 15:L85W90

ADSB_LIST_ALT

m
Default 0
Range 0 32767

ADSB vehicle list altitude filter (ADSB_LIST_ALT)

Description

Altitude filter for ADSB-detected vehicles.

Tuning & Behavior

  • Default Value: 0 m
  • Range: 0 32767
  • A value of 0 disables the filter.

ADSB_LIST_MAX

Default 25
Range 1 100

ADSB vehicle list size (ADSB_LIST_MAX)

Description

Maximum number of vehicles to track in the ADSB list.

Tuning & Behavior

  • Default Value: 25
  • Range: 1 100

ADSB_LIST_RADIUS

m
Default 2000
Range 0 100000

ADSB vehicle list radius filter (ADSB_LIST_RADIUS)

Description

Distance filter for ADSB-detected vehicles.

Tuning & Behavior

  • Default Value: 2000 m (Copter/Rover), 10000 m (Plane)
  • Range: 0 100000
  • A value of 0 disables the filter.

ADSB_LOG

Default 1

ADS-B logging (ADSB_LOG)

Description

Controls logging of ADS-B data.

Tuning & Behavior

  • Default Value: 1 (Special ID Only)
  • Values: 0:no logging, 1:log only special ID, 2:log all

ADSB_OFFSET_LAT

Default 4

GPS antenna lateral offset (ADSB_OFFSET_LAT)

Description

Physical location offset from the center of the GPS antenna on the aircraft.

Tuning & Behavior

  • Default Value: 4 (Center)
  • Values: 0:NoData, 1:Left2m, 2:Left4m, 3:Left6m, 4:Center, 5:Right2m, 6:Right4m, 7:Right6m

ADSB_OFFSET_LON

Default 1

GPS antenna longitudinal offset (ADSB_OFFSET_LON)

Description

Physical location offset along the longitudinal axis of the GPS antenna.

Tuning & Behavior

  • Default Value: 1 (AppliedBySensor)
  • Values: 0:NO_DATA, 1:AppliedBySensor

ADSB_OPTIONS

Default 0

ADS-B Options (ADSB_OPTIONS)

Description

Configuration options for ADS-B behavior and failsafes.

Tuning & Behavior

  • Default Value: 0
  • Bitmask: 0:Ping200X Send GPS, 1:Squawk 7400 on RC failsafe, 2:Squawk 7400 on GCS failsafe, 3:Sagetech MXS use External Config

ADSB_PORT

Default 0

ADSB Serial Port (ADSB_PORT)

Description

This parameter is not found in the current ArduPilot ADS-B library. Hardware serial mapping is handled via SERIALx_PROTOCOL.

ADSB_RF_CAPABLE

Default 0

RF capabilities (ADSB_RF_CAPABLE)

Description

Description of the transceiver's hardware RF capabilities.

Tuning & Behavior

  • Default Value: 0
  • Bitmask: 0:UAT_in, 1:1090ES_in, 2:UAT_out, 3:1090ES_out

ADSB_RF_SELECT

Default 1

Transceiver RF selection (ADSB_RF_SELECT)

Description

Selection of Rx/Tx modes for the ADSB transceiver.

Tuning & Behavior

  • Default Value: 1 (Rx Enabled)
  • Bitmask: 0:Rx, 1:Tx

ADSB_SQUAWK

octal
Default 1200
Range 0 7777

Squawk code (ADSB_SQUAWK)

Description

Pre-programmed default VFR squawk code.

Tuning & Behavior

  • Default Value: 1200
  • Range: 0 to 7777 (Octal)

ADSB_TYPE

Default 0

ADSB Type (ADSB_TYPE)

Description

Type of ADS-B hardware.

Tuning & Behavior

  • Default Value: 0 (Disabled)
  • Values: 0:Disabled, 1:uAvionix-MAVLink, 2:Sagetech, 3:uAvionix-UCP, 4:Sagetech MX Series