Giter VIP home page Giter VIP logo

mavlink-cli's Introduction

About

A tool to interact with MAVLink compatible vehicles.

Currently the majority of the features is aimed at configuration management. However, it is planned to extend the scope of this tool to other MAVLink related tasks as well, hence the name.

configure mode

more screenshots

Why

I always wanted a neat yet feature rich CLI tool for mavlink.

Usage

from the mavlink-cli --help output:

USAGE:
    mavlink-cli [OPTIONS] <SUBCOMMAND>

FLAGS:
    -h, --help
            Prints help information

    -V, --version
            Prints version information


OPTIONS:
    -c, --connection <mavlink-connection>
            MAVLink connection string. (tcpout|tcpin|udpout|udpin|udpbcast|serial|file):(ip|dev|path):(port|baud)
            [default: udpbcast:0.0.0.0:14551]

SUBCOMMANDS:
    configure
            Interactive configuration management

            Starts a fuzzy finder which allows to search through the MAVLink parameters available on the connected
            vehicle. Select one ([Return]) or multiple ([Tabulator]) parameters which you would like to inspect. You can
            modify them, including sanity checking if metainformation is avaibable on the parameter.
    help
            Prints this message or the help of the given subcommand(s)

    info
            Browse all parameters with available metainformation

            Starts a fuzzy finder which allow to search through the MAVLink paramters for which metainformation is
            available. Select one ([Return]) or multiple ([Tabulator]) parameters which you would like to inspect. The
            avaibable metainformation for each parameter is printed to stdout.
    pull
            Pull configuration from the vehicle to a file

    push
            Push configuration from a file to the vehicle

Planned features

  • PX4 support
  • no waiting for all parameters to arrive in configure mode
  • fuzzy search through descriptions as well (see this issue
  • better Error reporting
  • report flag, which enable a detailed report about which parameters where changed on program termination
  • motor test capability
  • live monitiroing of attitude, battery telemetry & more
  • in configure mode show current value in preview
  • Implement local parameter repo

Todo

  • evaluate cursive, it might be a good replacement for skim + dialoguer
  • document everything public
  • refined support for the mavlink parameter protocol
  • refine user interaction
  • retain last search in configure mode
  • implement current value adoption for Bitmask
  • sending heartbeat ourselves
  • detecting missing communication
  • better errorhandling in the mavlink_stub module
  • PATH like mechanism for parameter definition files
  • Fix super slow push
  • Enable build on windows

Disclaimer

I develop this project in my free time out of personal interest in the topic. You're welcome to leave feedback in the issues. However, as my time for working on this is limited, I might be slow to respond.

mavlink-cli's People

Contributors

github-actions[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

mavlink-cli's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.