The Antenna Tracker subsystem in Mission Planner provides the interface for configuring and controlling directional antenna tracking systems. These systems use vehicle telemetry to point a high-gain antenna at the aircraft in real-time, significantly extending the range and reliability of the data link. Mission Planner supports both dedicated ArduTracker hardware and generic tracker interfaces.
The primary interface for configuring a dedicated ArduPilot-based antenna tracker is the ConfigAntennaTracker class. This view allows users to calibrate servos, set movement limits, and tune PID loops for the tracking hardware.
The ConfigAntennaTracker control is a MyUserControl that implements IActivate and IDeactivate GCSViews/ConfigurationView/ConfigAntennaTracker.cs12 It is specifically enabled only when the connected vehicle identifies its firmware as Firmwares.ArduTracker GCSViews/ConfigurationView/ConfigAntennaTracker.cs32-35
When the view is activated via the Activate() method, it initializes several MavlinkComboBox and MavlinkNumericUpDown controls to map UI elements to MAVLink parameters using the ParameterMetaDataRepository GCSViews/ConfigurationView/ConfigAntennaTracker.cs46-90
| Parameter Category | MAVLink Parameters Managed | Description |
|---|---|---|
| Orientation | AHRS_ORIENTATION | Sets the orientation of the tracker hardware GCSViews/ConfigurationView/ConfigAntennaTracker.cs46-48 |
| Yaw Servo | RC1_MIN, RC1_MAX, RC1_TRIM, RC1_REV | Defines the PWM range and direction for the pan axis GCSViews/ConfigurationView/ConfigAntennaTracker.cs62-65 |
| Pitch Servo | RC2_MIN, RC2_MAX, RC2_TRIM, RC2_REV | Defines the PWM range and direction for the tilt axis GCSViews/ConfigurationView/ConfigAntennaTracker.cs68-71 |
| Limits | YAW_RANGE, PITCH_MIN, PITCH_MAX | Sets the physical travel limits in degrees GCSViews/ConfigurationView/ConfigAntennaTracker.cs74-76 |
| PID Tuning | YAW2SRV_P/I/D, PITCH2SRV_P/I/D | Gains for the internal control loops GCSViews/ConfigurationView/ConfigAntennaTracker.cs79-90 |
| Source | ALT_SOURCE | Defines the altitude source for tracking GCSViews/ConfigurationView/ConfigAntennaTracker.cs56-58 |
The UI uses a Hashtable named changes to track modifications made by the user before writing them to the vehicle GCSViews/ConfigurationView/ConfigAntennaTracker.cs17
changes table.BUT_writePIDS_Click method checks if new values are significantly different (e.g., > 2.0x) from current values to prevent hardware damage GCSViews/ConfigurationView/ConfigAntennaTracker.cs144-148MainV2.comPort.setParam(value, (float)changes[value]) GCSViews/ConfigurationView/ConfigAntennaTracker.cs156The following diagram illustrates how the visual components in ConfigAntennaTracker map to the logic in the code-behind and the underlying MAVLink parameters.
Tracker Configuration Mapping
Sources: GCSViews/ConfigurationView/ConfigAntennaTracker.cs17 GCSViews/ConfigurationView/ConfigAntennaTracker.cs46-90 GCSViews/ConfigurationView/ConfigAntennaTracker.cs136-157
Mission Planner supports multiple hardware interfaces for tracking. While ArduTracker is the primary firmware-based solution, the software can also drive trackers via direct serial protocols or servo controllers.
The subsystem includes real-time testing capabilities to verify servo movement and range of motion.
The ConfigAntennaTracker UI provides real-time feedback through timer1, which starts upon activation GCSViews/ConfigurationView/ConfigAntennaTracker.cs92 This allows the GCS to monitor the tracker's current state while adjustments are made to the RCx_MIN/MAX and YAW_RANGE parameters.
The interaction between the user interface and the hardware for testing is handled through the MavlinkNumericUpDown controls, which update the MAVState parameters.
Servo Control Data Flow
Sources: GCSViews/ConfigurationView/ConfigAntennaTracker.cs62-71 GCSViews/ConfigurationView/ConfigAntennaTracker.cs156
The layout is defined in the partial class and localized via resource files.
MavlinkComboBox and MavlinkNumericUpDown are used extensively to ensure that any change in the UI is mapped directly to a vehicle parameter GCSViews/ConfigurationView/ConfigAntennaTracker.cs46-90AddNewLinesForTooltip to format long parameter descriptions for better readability in the UI, ensuring they do not exceed a maximum single-line length GCSViews/ConfigurationView/ConfigAntennaTracker.cs108-134Ctrl+S as a shortcut to trigger the BUT_writePIDS_Click function, committing all pending parameter changes to the tracker GCSViews/ConfigurationView/ConfigAntennaTracker.cs97-106Sources: GCSViews/ConfigurationView/ConfigAntennaTracker.cs108-134 GCSViews/ConfigurationView/ConfigAntennaTracker.cs97-106
Refresh this wiki