Ardupilot Cloud EcoSystem Logo

Contents:

  • What is DroneEngage?
  • Getting Started
    • 1. Introduction
    • 2. Select Your Hardware
    • 3. Create Access Code
    • 4. Install DroneEngage Unit
  • WebClient
    • What is Web-Client
    • UDP-Telemetry
    • SWARM Interface
    • Gamepad Navigation
    • Servo Control
    • Configuration
  • Standalone Server
  • Server
    • Authentication Server
    • Communication Server
    • How to Install
      • Air-Gap Tiny Server Installation
  • DroneEngage
    • Web Client
    • Telemetry
      • UDP Telemetry Forwarding
    • Advanced Features
      • GEO-Fencing
      • RC Blocking
      • TX Freeze
      • GamePad Navigation
      • Swarm Operations
    • Plugins
    • Simulation (SITL)
    • Use Cases
      • All-In-One Board (RPI as FCB + Companion)
    • Installation Guide
      • Installing DroneEngage
        • Installing from Binaries
      • RPI Administration Tools
        • WiFi Manager
        • Account Setup
        • App Management
        • Module Updater
        • File Navigator
        • Terminal
    • Contributing
  • Developer Guide
  • Legacy/Andruav
    • What is Andruav
    • Getting Started
    • How to Build Andruav_Ap
    • APK Download
    • Andruav Serial Port
    • Andruav FPV
    • Andruav Advanced Features
      • Andruav RC Blocking
      • Andruav TX Freeze
      • Andruav GEO-Fencing
      • Andruav GamePad Navigation
      • Andruav GPS Injection
      • Andruav SMS Reporting and Control
    • Using Andruav with SITL
  • FAQ
  • Glossary

Sites:

Web-Client Site Account Management Binaries Download
Ardupilot Cloud EcoSystem
  • MAVLink Module Technicals
  • View page source

MAVLink Module Technicals

Overview

The DroneEngage MAVLink module (de_mavlink) provides the interface between the DroneEngage system and flight control boards (FCB) using the MAVLink protocol. It handles flight controller communication, telemetry processing, and command execution for autonomous drone operations.

Architecture

The MAVLink module is designed to support multiple flight controller types and communication methods, providing a unified interface for drone control and monitoring.

Core Components

  • CFCBMain - Main flight controller board interface and connection management

  • MAVLink SDK - Low-level MAVLink protocol implementation

  • Configuration System - Dynamic parameter management

  • Message Processing - Telemetry parsing and command handling

  • Rate Limiting - Message rate optimization and control

Connection Types

The module supports multiple connection methods:

  • Serial: Direct serial communication with flight controller

  • UDP: Network-based UDP communication

  • TCP: Reliable TCP-based communication

Key Features

Flight Controller Integration

  • Multi-Protocol Support: Compatible with ArduPilot and PX4

  • Dynamic Connection: Runtime connection type selection

  • Auto-Reconnection: Automatic recovery from connection losses

  • Telemetry Processing: Real-time data parsing and distribution

Configuration Management

  • JSON-based Configuration: Flexible parameter management

  • Dynamic Updates: Runtime configuration changes

  • File Monitoring: Automatic reload on file changes

  • Backup System: Configuration history and recovery

Rate Limiting

  • Message Optimization: Intelligent message rate control

  • Bandwidth Management: Efficient use of available bandwidth

  • Priority Handling: Critical message prioritization

  • Adaptive Rates: Dynamic rate adjustment based on conditions

RC Control

  • Channel Mapping: Flexible RC channel configuration

  • Smart Channels: Advanced channel processing

  • Guided Mode: Enhanced control in guided flight modes

  • Safety Features: Failsafe and safety mode integration

Communication Flow

  1. Connection Setup: Establish connection with flight controller

  2. Configuration Load: Read and apply configuration parameters

  3. MAVLink Exchange: Begin bidirectional MAVLink communication

  4. Telemetry Processing: Parse and distribute flight data

  5. Command Execution: Process and send commands to FCB

Integration Points

The MAVLink module integrates with:

  • Communication Module: Cloud connectivity and remote control

  • DataBus: Inter-module telemetry and command sharing

  • Plugin System: Custom flight modes and behaviors

  • Mission Planning: Autonomous flight execution

Configuration Structure

Main Configuration

{
    "fcb_connection_uri": {
        "type": "serial|udp|tcp",
        "ip": "connection_ip",
        "port": connection_port,
        "baudrate": serial_baudrate
    },
    "mavlink_ids": {
        "de_mavlink_gcs_id": 255,
        "only_allow_ardupilot_compid": 0,
        "only_allow_ardupilot_sysid": 0
    },
    "message_timeouts": {
        "message_id": [timeout_config]
    }
}

RC Configuration

{
    "rc_channels": {
        "rc_channel_enabled": [flags],
        "rc_channel_reverse": [flags],
        "rc_channel_limits_max": [values],
        "rc_channel_limits_min": [values]
    },
    "rc_smart_channels": {
        "active": true,
        "rc_channel_enabled": [flags],
        "rc_channel_limits_max": [values],
        "rc_channel_limits_min": [values]
    }
}

Performance Optimization

  • Message Filtering: Selective message processing

  • Rate Limiting: Controlled message transmission rates

  • Buffer Management: Efficient data buffering

  • Thread Safety: Concurrent processing capabilities

Safety and Reliability

  • Connection Monitoring: Continuous health checks

  • Failsafe Mechanisms: Automatic recovery procedures

  • Error Handling: Comprehensive error management

  • Logging System: Detailed operation logging

This module provides the critical interface between DroneEngage software and flight controller hardware, enabling reliable autonomous drone operations with comprehensive telemetry and control capabilities.


© Copyright 2026, Ardupilot.org (Powered by Andruav.com).