mavrouter 0.1.0

A MAVLink router written in Rust
mavrouter-0.1.0 is not a library.
Visit the last successful build: mavrouter-0.1.4

MAVRouter-rs

A MAVLink router written in Rust. Designed for unattended embedded linux systems.

Features

  • Protocols: Serial, UDP (Server/Client), TCP (Server/Client).
  • Routing:
    • Intelligent Loop Prevention.
    • Deduplication (Time-based).
    • System ID / Component ID routing (with Pruning).
    • Message Filtering (Allow/Block lists).
  • Logging:
    • High-throughput TLog recording (compatible with Mission Planner/QGC).
    • Graceful shutdown ensures log integrity.

Usage

Build

cargo build --release

Configuration

Create mavrouter.toml:

[general]
tcp_port = 5760
log = "logs"
log_telemetry = true
bus_capacity = 1000
routing_table_ttl_secs = 300

[[endpoint]]
type = "serial"
device = "/dev/ttyACM0"
baud = 115200

[[endpoint]]
type = "udp"
address = "0.0.0.0:14550"
mode = "server"

Run

./target/release/mavrouter-rs --config mavrouter.toml