Skip to content
Log Analyzer for ArduPilot DataFlash logs and MAVLink telemetry logs.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
DataFlash la: create a logging singleton Oct 9, 2015
analyzer Add XKF (third Kalman filter) analyzer Feb 20, 2018
debian la: 0.3 release Nov 14, 2015
docs docs: include instructions to init git submodules Jul 3, 2016
doxygen Fixes to vagrant and sphinx configuration and source to import commen… Dec 3, 2015
ini moving log-analyzer from private repository Aug 19, 2015
issues Add speed accuracy issue analyzer Jul 1, 2016
jsoncpp move jsoncpp Jan 5, 2016
modules modules/mavlink: update mavlink submodule Feb 19, 2019
test Track new test results Jan 22, 2019
util build: fix building for macOS 10.12 and Xcode 8 Nov 5, 2016
.gitignore build: fix cluttering submodule Jul 7, 2017
.gitmodules Remove mavlink directory in favour of a module Jun 30, 2016
.submodules Add travis ci integration Jan 28, 2016
.travis.yml travis: attempt to build docs on CI Jul 2, 2016
ExifTool_config imagetagger: a tool to take a tlog and directory full of files and ta… Sep 10, 2015
LA_MsgHandler.cpp Add XKF (third Kalman filter) analyzer Feb 20, 2018
LA_MsgHandler.h Add XKF (third Kalman filter) analyzer Feb 20, 2018
LICENSE add apache license to this project Oct 13, 2015
Location.h la: handle dataflash log files Sep 10, 2015
Makefile Makefile: build mavlink for wire-protocol 2.0 Feb 19, 2019
MsgHandler.cpp working compilation using mingw on Server 2012 Jan 5, 2016
MsgHandler.h Understand flight mode for planes Jul 7, 2017
README.md Update Readme to make it clear we build for a number of OS. Also buil… Jan 29, 2016
Vagrantfile Vagrant: move to xenial64 Jul 7, 2017
Vector3f.h Vector3f: add some numeric operations Dec 28, 2015
analyze.cpp Add XKF (third Kalman filter) analyzer Feb 20, 2018
analyze.h Add speed accuracy issue analyzer Jul 1, 2016
analyzer.cpp Fixes for the pure output flag Jan 22, 2016
analyzer.h Fixes for the pure output flag Jan 22, 2016
analyzer_util.cpp Make it compile on Windows / CygWin Jan 5, 2016
analyzer_util.h Make it compile on Windows / CygWin Jan 5, 2016
analyzervehicle.cpp analyzervehicle: take armed state when creating subclassed object Nov 19, 2017
analyzervehicle.h Add XKF (third Kalman filter) analyzer Feb 20, 2018
analyzervehicle_copter.cpp Cope with newer percentage-style MOT_SPIN_ARM Jul 7, 2017
analyzervehicle_copter.h Add analyzer to detect pitch/roll/yaw/motor balance issues Jul 7, 2017
analyzervehicle_plane.cpp la: brownout test fixes, test.py assumes a quadcopter always for now Nov 13, 2015
analyzervehicle_plane.h Understand flight mode for planes Jul 7, 2017
analyzervehicle_rover.cpp Understand Rover vehicle type Aug 18, 2016
analyzervehicle_rover.h Understand Rover vehicle type Aug 18, 2016
analyzing_dataflash_message_handler.cpp Add XKF (third Kalman filter) analyzer Feb 20, 2018
analyzing_dataflash_message_handler.h Fixes inspired by clang compiler on MaxOSX Jan 28, 2016
analyzing_mavlink_message_handler.cpp Pass mavlink_message_t into handle_decoded_message for heartbeat Dec 11, 2018
analyzing_mavlink_message_handler.h Pass mavlink_message_t into handle_decoded_message for heartbeat Dec 11, 2018
circle.yml circleci: attempt to CI docs Jul 2, 2016
common_tool.cpp common_tool: correct comforter output Oct 30, 2017
common_tool.h Print basic stats on progress to stderr Oct 6, 2017
data_sources.h la: add more series to output Oct 5, 2015
dataflash_logger.cpp Fixed issue with detection of flight controller disarm events. Feb 19, 2019
dataflash_logger.h dataflash_logger: rotate files on sender disarm Dec 11, 2018
dataflash_logger_program.cpp Added command line option to dataflash_logger to display version info… Jan 10, 2019
dataflash_logger_program.h Added command line option to dataflash_logger to display version info… Jan 10, 2019
dataflash_message_handler.cpp la: handle dataflash log files Sep 10, 2015
dataflash_message_handler.h la: handle dataflash log files Sep 10, 2015
dataflash_reader.cpp Make it compile on Windows / CygWin Jan 5, 2016
dataflash_reader.h la: support text dump of df log Oct 7, 2015
dataflash_textdump_reader.cpp Correct FALLTHROUGH cases for new compiler warnings Jan 24, 2018
dataflash_textdump_reader.h la: support text dump of df log Oct 7, 2015
format_reader.cpp la: handle dataflash log files Sep 10, 2015
format_reader.h Fixes inspired by clang compiler on MaxOSX Jan 28, 2016
heart.cpp Reduced log level of the repeated heartbeat messge to DEBUG to preven… Jan 10, 2019
heart.h heart: increase rate to 1Hz as GQC considers 3.5s to be too much Jul 7, 2017
imagetagger.cpp imagetagger: compilation fixes Nov 21, 2017
imagetagger.h imagetagger: compilation fixes Nov 21, 2017
la-log.cpp working compilation using mingw on Server 2012 Jan 5, 2016
la-log.h Fix obvious issue which probably broke build on windows. Jan 10, 2019
log_download.cpp
log_download.h Add log-download program Jun 17, 2018
log_download_program.cpp Add log-download program Jun 17, 2018
log_download_program.h Add log-download program Jun 17, 2018
log_list.cpp Add log-download program Jun 17, 2018
log_list.h Add log-download program Jun 17, 2018
loganalyzer.cpp Print basic stats on progress to stderr Oct 6, 2017
loganalyzer.h loganalyzer: remove unimplemented method Jul 7, 2017
mavlink_message_handler.cpp
mavlink_message_handler.h Pass through mavlink_message_t to dataflash_logger, take srcid from it Dec 11, 2018
mavlink_reader.cpp la: add a bytes-ropped field; increase gcc warnings, fix warnings, ne… Oct 20, 2015
mavlink_reader.h Fixes inspired by clang compiler on MaxOSX Jan 28, 2016
mavlink_writer.cpp la: add a bytes-ropped field; increase gcc warnings, fix warnings, ne… Oct 20, 2015
mavlink_writer.h build: fix cluttering submodule Jul 7, 2017
message_handler.cpp la: handle dataflash log files Sep 10, 2015
message_handler.h Fixes suggested by -Weffc++ Jan 20, 2016
mh_imagetagger.cpp imagetagger: a tool to take a tlog and directory full of files and ta… Sep 10, 2015
mh_imagetagger.h imagetagger: compilation fixes Nov 21, 2017
requirements.txt Update build instructions to cover breath/doxygen Jan 27, 2016
sample.config Add speed accuracy to tests; correct gps fix output Jul 1, 2016
sample.config-dataflash_logger dataflash_logger: reinstantiate serial-port access Apr 4, 2016
telem_client.cpp telem clients must take packets not bytes because of telem_forwarder Oct 10, 2015
telem_client.h Add log-download program Jun 17, 2018
telem_forwarder_client.cpp
telem_forwarder_client.h Add log-download program Jun 17, 2018
telem_serial.cpp Add log-download program Jun 17, 2018
telem_serial.h
telem_udp.cpp telem_udp: expand to also act as server Dec 11, 2018
telem_udp.h telem_udp: expand to also act as server Dec 11, 2018
tools.h Correct FALLTHROUGH cases for new compiler warnings Jan 24, 2018

README.md

DroneKit LA (Log Analyzer)

Logo

Circle CI Travis CI

Log analyzer for ArduPilot DataFlash logs and MAVLink telemetry logs.

Overview

DroneKit Log Analyzer (DroneKit-LA) is a powerful open source static analyzer for ArduPilot DataFlash logs and MAVLink telemetry logs.

The tool can read and analyze several log formats, including telemetry logs (tlogs), dataflash binary logs (.BIN) and dataflash text dumps (.log), and output detailed error and warning information in several formats (json, text, summary). The output includes detailed information about the tests, including what tests were run, the results (pass, fail, warn), severity, and supporting evidence.

DroneKit-LA is also fast, memory efficient and extensible. It supports numerous analyzers and can quickly analyzing even very large logs.

The tool is written in C++ and can compile on a Linux, Mac OSX or Windows computer or within a Vagrant-based Linux VM.

The project documentation (including tool download links) is available at la.dronekit.io logs for testing the tool can be found in the dronekit-la-testdata repository.

Getting Started

The Getting Started guide explains how to install DroneKit-LA, how to run the tool, and how to interpret the results.

After installing, the tool, running an analysis can be as simple as entering the following command on a terminal:

# You only need to specify the target file for a dataflash log
./dronekit-la log_file.bin

# Additionally specify frame and model type for a Solo TLOG
./dronekit-la a_log_file.tlog -f copter -m QUAD

The guide also lists all the other command line arguments, provides information about the current set of analyzers, and explains how you can extend DroneKit-LA to get more information out of logs and add new analyzers.

The DroneKit Forums are the best place to ask for technical support on how to use the tool. You can also check out our Gitter channel though we prefer posts on the forums where possible.

Developer Setup

You can build dronekit-la natively on Linux, Mac OS X or Windows using the Makefile in the dronekit-la root directory:

make

The dependencies for building each platform are different, as documented in the guide: Contributing to DroneKit-LA.

Both the tool and documentation can also be built and run from within a Vagrant VM.

Users and contributors wanted!

We'd love your feedback and suggestions about this tool and are eager to evolve it to meet your needs. Please feel free to create an issue to report bugs or feature requests.

If you want to help more directly, see our Contributing guidelines. We welcome all types of contributions but mostly contributions that would help us shrink our issues list.

Licence

DroneKit-LA is made available under the permissive open source Apache 2.0 License.

Resources


Copyright 2016 3D Robotics, Inc.

You can’t perform that action at this time.