Coder Social home page Coder Social logo

flightplot's Introduction

FlightPlot

Build Status

Universal flight log plotter

Releases can be found on GitHub releases.

Overview

Supported formats:

  • PX4 log (.px4log, .bin)
  • APM log (.bin)
  • ULog (.ulg)

Features:

  • Data processing: low pass filtering, scaling, shifting, derivative, integral, etc.
  • Track export in KML and GPS format
  • Saving plot as image

Building from source

Requirements:

Clone the repository. The --recursive flag is required to pull in the jMAVlib submodule).

git clone --recursive https://github.com/PX4/FlightPlot.git

Build:

cd FlightPlot
ant

If you want to create deb file for ubuntu, use gen_deb.

cd FlightPlot
ant gen_deb
sudo dpkg -i out/production/FlightPlot.deb

Run:

java -jar out/production/flightplot.jar

flightplot's People

Contributors

andreasantener avatar bkueng avatar dagar avatar drton avatar dyeldandi avatar gitter-badger avatar julianoes avatar kd0aij avatar kubark42 avatar maetugr avatar okalachev avatar pigeonhunter avatar stmoon avatar thomasgubler avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flightplot's Issues

jMAVlib commit not available

git submodule update --init --recursive
fatal: reference is not a tree: 69f6e9908930fa3ec611e4cb2bae04aabf5a197a
Unable to checkout '69f6e9908930fa3ec611e4cb2bae04aabf5a197a' in submodule path 'jMAVlib'

FYI: @bkueng

Plot euler angles independently

At the moment you can only plot roll, pitch and yaw simultaneously when using the EulerFromQuaternion
operator. Would be nice to be able to plot them individually.

Match timestamps between plot and ulog messages

The messages contained in a log are displayed with the time since boot. The time axis of the plot is from log start time by default, but can be configured via the View menu.
Only if View->Boot time is selected is it possible to determine at what point on the plot's time axis the messages occur.

The messages' timestamps should change to match whatever time reference is used in the plot.

Encounter errors with java version's issue

I build FlightPlot at my macOS(10.5.2 Big Sur).It encounter errors like this:

% ant                                 
Buildfile: /Users/kevin/FlightPlot/build.xml

make_dirs:

compile:
   [javac2] Compiling 108 source files to /Users/kevin/FlightPlot/out/production/FlightPlot
   [javac2] WARNNING: [options] can't define path with -source 6
   [javac2] ERROR: no longer support for  ver6。please use ver7 or higher version。
   [javac2] ERROR: no longer selecting ver6。please use ver7 or higher version。

BUILD FAILED
/Users/kevin/FlightPlot/build.xml:24: Compile failed; see the compiler error output for details.

Total time: 0 seconds

Euler angles are not displayed

Hi, Thanks for FlightPlot.
Euler angles are not displayed in recent version.
Instead, quaternion is displayed but it is difficult to understand attitude change.
So in FlightPlot please make some attitude representation support function.

Environment:
By Pixhawk2.1, px4 v1.7.3 and FlightPlot v0.3.2

Processor of type "Expression" doesn't work for some fields/expressions

Description

I have a log file and I want to look at the magnetic field norm: sqrt(x2+y2+z2), where {x,y,z} are taken from parameters sensor_combined_0.magnetometer_ga[0,1,2].

Separately adding fileds sensor_combined_0.magnetometer_ga[i] works fine, but adding them as an expression does not: I can't see any plot:

Adding sensor_combined_0.magnetometer_ga[0] as "Simple":
as field

Adding sensor_combined_0.magnetometer_ga[0] as "Expression":
as expression

How to reproduce

  1. Download this log file
  2. Open it in flightplot and add processor of type Simple with field sensor_combined_0.magnetometer_ga[0]. You should see a plot.
  3. Add new processor of type 'Expression'. Enter sensor_combined_0.magnetometer_ga[0]/2 as an expression for the processor.

Expected behavior: you see 2 plots.
Actual behavior: you only see 1 plot.

Flightplot v0.3.2, ubuntu 16.04 LTS.

Display name of imported preset which is currently loaded

When you use "import preset", its name does not appear in the preset pulldown. One must manually type a name into the preset field and hit return to avoid having to import it again. This is very non-intuitive and also inconvenient.

Also, the menu names on this toolbar are truncated:
px4_flightplot

Two different EulerFromQuaternion sources not viewable at the same time

I opened a ulog, chose the set of variables
control_state_0.q[0] control_state_0.q[1] control_state_0.q[2] control_state_0.q[3]
with EulerFromQuaternion processor and did the same for
vehicle_attitude_setpoint_0.q_d[0] vehicle_attitude_setpoint_0.q_d[1] vehicle_attitude_setpoint_0.q_d[2] vehicle_attitude_setpoint_0.q_d[3].

The result is they newer get displayed at the same time. If both are enabled to view (with the checkboxes) I see either only the first set or the data of the first set in the colors of the second. If only one is displayed it works as expected.

FlightPlot can't export to kml from ulg

image

only got this

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
<Document>
<name>Track</name>
<description></description>
<Style id="yellow">
<LineStyle>
<color>7f00ffff</color>
<width>4</width>
</LineStyle>
</Style>
<Style id="blue">
<LineStyle>
<color>7fff0000</color>
<width>4</width>
</LineStyle>
</Style>
<Style id="red">
<LineStyle>
<color>7f0000ff</color>
<width>4</width>
</LineStyle>
</Style>
</Document>
</kml>

Build fails with "java.lang.NoClassDefFoundError"

Hi, I'm trying to build FlightPlot from source but I'm getting a "NoClassDefFoundError".
I'm on macOS Big Sur (11.4).
I also needed to update the build.xml file; source and target versions (1.6) are now deprecated. I instead used "1.8".

Here's the complete error log:

`
BUILD FAILED
/Users/h3xept/Desktop/FlightPlot/build.xml:24: java.lang.NoClassDefFoundError: sun/misc/Resource
at com.intellij.compiler.instrumentation.InstrumentationClassFinder$ClassFinderClasspath.getLoader(InstrumentationClassFinder.java:499)
at com.intellij.compiler.instrumentation.InstrumentationClassFinder$ClassFinderClasspath.getLoader(InstrumentationClassFinder.java:470)
at com.intellij.compiler.instrumentation.InstrumentationClassFinder$ClassFinderClasspath.getResource(InstrumentationClassFinder.java:436)
at com.intellij.compiler.instrumentation.InstrumentationClassFinder.getClassBytesAsStream(InstrumentationClassFinder.java:148)
at com.intellij.compiler.instrumentation.InstrumentationClassFinder.loadClass(InstrumentationClassFinder.java:104)
at com.intellij.uiDesigner.compiler.StringPropertyCodeGenerator.generateClassStart(StringPropertyCodeGenerator.java:56)
at com.intellij.uiDesigner.compiler.AsmCodeGenerator$FormClassVisitor.visit(AsmCodeGenerator.java:254)
at org.jetbrains.asm4.ClassReader.accept(Unknown Source)
at org.jetbrains.asm4.ClassReader.accept(Unknown Source)
at com.intellij.uiDesigner.compiler.AsmCodeGenerator.patchClass(AsmCodeGenerator.java:184)
at com.intellij.uiDesigner.compiler.AsmCodeGenerator.patchClass(AsmCodeGenerator.java:154)
at com.intellij.uiDesigner.compiler.AsmCodeGenerator.patchFile(AsmCodeGenerator.java:126)
at com.intellij.ant.Javac2.instrumentForms(Javac2.java:298)
at com.intellij.ant.Javac2.compile(Javac2.java:215)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:1117)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at org.apache.tools.ant.Task.perform(Task.java:350)
at org.apache.tools.ant.Target.execute(Target.java:449)
at org.apache.tools.ant.Target.performTasks(Target.java:470)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
at org.apache.tools.ant.Main.runBuild(Main.java:827)
at org.apache.tools.ant.Main.startAnt(Main.java:223)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)
Caused by: java.lang.ClassNotFoundException: sun.misc.Resource
at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1383)
at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1338)
at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1093)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
... 32 more

Total time: 0 seconds
`

I'm not familiar with the ant build tool -- how can I fix the problem and build the program?
Thanks!

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.