flightdata 0.2.28__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {flightdata-0.2.28 → flightdata-0.3.0}/PKG-INFO +4 -3
- flightdata-0.3.0/examples/interpolation/slice_linear_interpolation.py +53 -0
- flightdata-0.3.0/examples/interpolation/st.json +1 -0
- flightdata-0.3.0/examples/interpolation/temp.py +18 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/pyproject.toml +4 -3
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/__init__.py +1 -1
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/base/collection.py +24 -3
- flightdata-0.3.0/src/flightdata/base/table/__init__.py +6 -0
- {flightdata-0.2.28/src/flightdata/base → flightdata-0.3.0/src/flightdata/base/table}/constructs.py +4 -3
- flightdata-0.3.0/src/flightdata/base/table/label.py +95 -0
- flightdata-0.3.0/src/flightdata/base/table/labelgroup.py +358 -0
- flightdata-0.3.0/src/flightdata/base/table/labelgroups.py +131 -0
- flightdata-0.3.0/src/flightdata/base/table/slicer.py +30 -0
- flightdata-0.3.0/src/flightdata/base/table/table.py +504 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/coefficients.py +5 -2
- flightdata-0.3.0/src/flightdata/environment/environment.py +79 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/environment/wind.py +38 -45
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/flight/flight.py +5 -5
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/flow.py +12 -3
- flightdata-0.3.0/src/flightdata/state/__init__.py +2 -0
- flightdata-0.3.0/src/flightdata/state/alignment.py +78 -0
- flightdata-0.3.0/src/flightdata/state/kinematics.py +18 -0
- {flightdata-0.2.28/src/flightdata → flightdata-0.3.0/src/flightdata/state}/state.py +185 -136
- flightdata-0.3.0/src/flightdata/state_maker.py +22 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/base/test_base_constructs.py +2 -5
- flightdata-0.3.0/test/base/test_labels.py +206 -0
- flightdata-0.3.0/test/base/test_table.py +257 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/conftest.py +2 -1
- flightdata-0.3.0/test/data/old_state.json +200 -0
- flightdata-0.3.0/test/test_dtw.py +20 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/test_environment/test_environment.py +2 -2
- {flightdata-0.2.28 → flightdata-0.3.0}/test/test_environment/test_environment_wind.py +2 -4
- {flightdata-0.2.28 → flightdata-0.3.0}/test/test_flight.py +2 -1
- {flightdata-0.2.28 → flightdata-0.3.0}/test/test_model/test_model_coefficients.py +1 -1
- flightdata-0.3.0/test/test_model/test_model_flow.py +45 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/test_origin.py +1 -1
- flightdata-0.3.0/test/test_state/test_state.py +85 -0
- flightdata-0.3.0/test/test_state/test_state_builders.py +132 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/test_state/test_state_conversions.py +9 -10
- flightdata-0.3.0/test/test_state/test_state_measurements.py +19 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/uv.lock +108 -5
- flightdata-0.2.28/src/flightdata/base/table.py +0 -473
- flightdata-0.2.28/src/flightdata/environment/environment.py +0 -56
- flightdata-0.2.28/test/base/test_table.py +0 -142
- flightdata-0.2.28/test/test_model/test_model_flow.py +0 -45
- flightdata-0.2.28/test/test_state/test_state.py +0 -65
- flightdata-0.2.28/test/test_state/test_state_builders.py +0 -101
- flightdata-0.2.28/test/test_state/test_state_measurements.py +0 -12
- {flightdata-0.2.28 → flightdata-0.3.0}/.github/workflows/publish_pypi.yml +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/.gitignore +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/.vscode/launch.json +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/.vscode/settings.json +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/LICENSE +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/README.md +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/examples/__init__.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/examples/data/__init__.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/examples/data/manual_F3A_F23_22_04_28_00000231.json +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/examples/data/manual_F3A_P23_22_05_31_00000350.json +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/examples/data/manual_F3A_P23_23_08_11_00000094.json +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/examples/flight_dynamics/00000150.json +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/examples/flight_dynamics/__init__.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/examples/flight_dynamics/box.f3a +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/examples/flight_dynamics/param_id.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/examples/state_analysis/__init__.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/examples/state_analysis/axes.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/examples/state_analysis/state_fill_plot.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/base/__init__.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/base/labeling.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/base/numpy_encoder.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/bindata.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/environment/__init__.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/flight/__init__.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/flight/ardupilot.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/flight/fields.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/flight/parameters.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/model/__init__.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/model/aerodynamic.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/model/thrust.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/origin.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/py.typed +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/scripts/collect_logs.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/src/flightdata/scripts/flightline.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/EmailedBox.f3a +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/__init__.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/base/__init__.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/data/bin_parser_GPS.csv +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/data/bin_parser_POS.csv +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/data/make_inputs.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/data/manual_F3A_P23.json +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/data/p23.BIN +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/data/p23.json +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/data/p23_box.f3a +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/data/p23_fc.json +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/data/p23_flight.json +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/data/script_tests/c6_on_0001.BIN +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/data/script_tests/center_0003.bin +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/data/script_tests/pilot_0004.BIN +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/data/vtol_hover.bin +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/data/vtol_hover.json +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/data/web_bin_parse.json +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/test_bindata.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/test_environment/__init__.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/test_fields.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/test_model/__init__.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/test_scripts.py +0 -0
- {flightdata-0.2.28 → flightdata-0.3.0}/test/test_state/__init__.py +0 -0
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flightdata
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Python tools for handling flight data
|
|
5
5
|
Author-email: Thomas David <thomasdavid0@gmail.com>
|
|
6
6
|
License-File: LICENSE
|
|
7
7
|
Requires-Python: >=3.12
|
|
8
8
|
Requires-Dist: numpy>=2.1.3
|
|
9
9
|
Requires-Dist: pandas>=2.2.3
|
|
10
|
-
Requires-Dist: pfc-geometry>=0.2.
|
|
10
|
+
Requires-Dist: pfc-geometry>=0.2.15
|
|
11
|
+
Requires-Dist: pfcschemas>=0.1.10
|
|
11
12
|
Provides-Extra: dataflash
|
|
12
|
-
Requires-Dist: ardupilot-log-reader
|
|
13
|
+
Requires-Dist: ardupilot-log-reader; extra == 'dataflash'
|
|
13
14
|
Description-Content-Type: text/markdown
|
|
14
15
|
|
|
15
16
|
## FlightData
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
from flightdata import State
|
|
2
|
+
import geometry as g
|
|
3
|
+
from plotting import plotsec
|
|
4
|
+
import numpy as np
|
|
5
|
+
import plotly.graph_objects as go
|
|
6
|
+
|
|
7
|
+
st = (
|
|
8
|
+
State.from_transform(g.Transformation(), vel=g.PX(30), rvel=g.PY(10))
|
|
9
|
+
.extrapolate(0.2)
|
|
10
|
+
.superimpose_roll(np.radians(180))
|
|
11
|
+
)
|
|
12
|
+
# st = State.from_dict(load(Path("examples/interpolation/st.json").open()))[425:429]
|
|
13
|
+
|
|
14
|
+
pass
|
|
15
|
+
|
|
16
|
+
plotsec(
|
|
17
|
+
dict(base=st, new=st[0.025:0.175].move(g.Transformation(g.PY(1)))),
|
|
18
|
+
nmodels=20,
|
|
19
|
+
scale=0.2,
|
|
20
|
+
).show()
|
|
21
|
+
|
|
22
|
+
st = (
|
|
23
|
+
State.from_transform(g.Transformation(), vel=g.PX(30), rvel=g.PY(10))
|
|
24
|
+
.extrapolate(0.2)
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
st1s = []
|
|
28
|
+
st2s = []
|
|
29
|
+
for t in np.linspace(st.t[0], st.t[-1], 20):
|
|
30
|
+
st1s.append(st.interpolate(t))
|
|
31
|
+
st2s.append(st.interpolate_kinematic(t))
|
|
32
|
+
st1 = State.concatenate(st1s).move(g.Transformation(g.PY(0.5)))
|
|
33
|
+
st2 = State.concatenate(st2s).move(g.Transformation(g.PY(1.0)))
|
|
34
|
+
fig = plotsec(
|
|
35
|
+
dict(
|
|
36
|
+
original=st,
|
|
37
|
+
linear=st1,
|
|
38
|
+
kinematic=st2,
|
|
39
|
+
),
|
|
40
|
+
nmodels=20,
|
|
41
|
+
scale=0.1,
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
fig.show()
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
st3 = State.from_constructs(st2.time, st2.pos, st2.att)
|
|
48
|
+
|
|
49
|
+
accfig = go.Figure()
|
|
50
|
+
for k, v in dict(base=st, linear=st1, kinematic=st2, derived=st3).items():
|
|
51
|
+
accfig.add_trace(go.Scatter(x=v.t, y=v.dw, name=k, mode="lines"))
|
|
52
|
+
# px.scatter(st.data).show()
|
|
53
|
+
accfig.show()
|