flightdata 0.2.20__tar.gz → 0.2.21__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.
Files changed (87) hide show
  1. {flightdata-0.2.20/flightdata.egg-info → flightdata-0.2.21}/PKG-INFO +3 -3
  2. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/bindata.py +18 -12
  3. {flightdata-0.2.20 → flightdata-0.2.21/flightdata.egg-info}/PKG-INFO +3 -3
  4. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata.egg-info/requires.txt +2 -2
  5. {flightdata-0.2.20 → flightdata-0.2.21}/requirements-dev.txt +1 -1
  6. {flightdata-0.2.20 → flightdata-0.2.21}/requirements.txt +1 -1
  7. {flightdata-0.2.20 → flightdata-0.2.21}/.github/workflows/publish_pypi.yml +0 -0
  8. {flightdata-0.2.20 → flightdata-0.2.21}/.gitignore +0 -0
  9. {flightdata-0.2.20 → flightdata-0.2.21}/.vscode/launch.json +0 -0
  10. {flightdata-0.2.20 → flightdata-0.2.21}/.vscode/settings.json +0 -0
  11. {flightdata-0.2.20 → flightdata-0.2.21}/LICENSE +0 -0
  12. {flightdata-0.2.20 → flightdata-0.2.21}/README.md +0 -0
  13. {flightdata-0.2.20 → flightdata-0.2.21}/examples/__init__.py +0 -0
  14. {flightdata-0.2.20 → flightdata-0.2.21}/examples/data/__init__.py +0 -0
  15. {flightdata-0.2.20 → flightdata-0.2.21}/examples/data/manual_F3A_F23_22_04_28_00000231.json +0 -0
  16. {flightdata-0.2.20 → flightdata-0.2.21}/examples/data/manual_F3A_P23_22_05_31_00000350.json +0 -0
  17. {flightdata-0.2.20 → flightdata-0.2.21}/examples/data/manual_F3A_P23_23_08_11_00000094.json +0 -0
  18. {flightdata-0.2.20 → flightdata-0.2.21}/examples/flight_dynamics/00000150.json +0 -0
  19. {flightdata-0.2.20 → flightdata-0.2.21}/examples/flight_dynamics/__init__.py +0 -0
  20. {flightdata-0.2.20 → flightdata-0.2.21}/examples/flight_dynamics/box.f3a +0 -0
  21. {flightdata-0.2.20 → flightdata-0.2.21}/examples/flight_dynamics/param_id.py +0 -0
  22. {flightdata-0.2.20 → flightdata-0.2.21}/examples/state_analysis/__init__.py +0 -0
  23. {flightdata-0.2.20 → flightdata-0.2.21}/examples/state_analysis/axes.py +0 -0
  24. {flightdata-0.2.20 → flightdata-0.2.21}/examples/state_analysis/state_fill_plot.py +0 -0
  25. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/__init__.py +0 -0
  26. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/base/__init__.py +0 -0
  27. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/base/collection.py +0 -0
  28. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/base/constructs.py +0 -0
  29. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/base/labeling.py +0 -0
  30. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/base/numpy_encoder.py +0 -0
  31. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/base/table.py +0 -0
  32. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/coefficients.py +0 -0
  33. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/environment/__init__.py +0 -0
  34. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/environment/environment.py +0 -0
  35. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/environment/wind.py +0 -0
  36. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/flight/__init__.py +0 -0
  37. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/flight/ardupilot.py +0 -0
  38. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/flight/fields.py +0 -0
  39. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/flight/flight.py +0 -0
  40. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/flight/parameters.py +0 -0
  41. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/flow.py +0 -0
  42. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/model/__init__.py +0 -0
  43. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/model/aerodynamic.py +0 -0
  44. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/model/thrust.py +0 -0
  45. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/origin.py +0 -0
  46. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/scripts/collect_logs.py +0 -0
  47. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/scripts/flightline.py +0 -0
  48. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata/state.py +0 -0
  49. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata.egg-info/SOURCES.txt +0 -0
  50. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata.egg-info/dependency_links.txt +0 -0
  51. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata.egg-info/entry_points.txt +0 -0
  52. {flightdata-0.2.20 → flightdata-0.2.21}/flightdata.egg-info/top_level.txt +0 -0
  53. {flightdata-0.2.20 → flightdata-0.2.21}/pyproject.toml +0 -0
  54. {flightdata-0.2.20 → flightdata-0.2.21}/setup.cfg +0 -0
  55. {flightdata-0.2.20 → flightdata-0.2.21}/test/EmailedBox.f3a +0 -0
  56. {flightdata-0.2.20 → flightdata-0.2.21}/test/__init__.py +0 -0
  57. {flightdata-0.2.20 → flightdata-0.2.21}/test/base/__init__.py +0 -0
  58. {flightdata-0.2.20 → flightdata-0.2.21}/test/base/test_base_constructs.py +0 -0
  59. {flightdata-0.2.20 → flightdata-0.2.21}/test/base/test_table.py +0 -0
  60. {flightdata-0.2.20 → flightdata-0.2.21}/test/conftest.py +0 -0
  61. {flightdata-0.2.20 → flightdata-0.2.21}/test/data/bin_parser_GPS.csv +0 -0
  62. {flightdata-0.2.20 → flightdata-0.2.21}/test/data/bin_parser_POS.csv +0 -0
  63. {flightdata-0.2.20 → flightdata-0.2.21}/test/data/make_inputs.py +0 -0
  64. {flightdata-0.2.20 → flightdata-0.2.21}/test/data/manual_F3A_P23.json +0 -0
  65. {flightdata-0.2.20 → flightdata-0.2.21}/test/data/p23.BIN +0 -0
  66. {flightdata-0.2.20 → flightdata-0.2.21}/test/data/p23.json +0 -0
  67. {flightdata-0.2.20 → flightdata-0.2.21}/test/data/p23_box.f3a +0 -0
  68. {flightdata-0.2.20 → flightdata-0.2.21}/test/data/p23_fc.json +0 -0
  69. {flightdata-0.2.20 → flightdata-0.2.21}/test/data/p23_flight.json +0 -0
  70. {flightdata-0.2.20 → flightdata-0.2.21}/test/data/vtol_hover.bin +0 -0
  71. {flightdata-0.2.20 → flightdata-0.2.21}/test/data/vtol_hover.json +0 -0
  72. {flightdata-0.2.20 → flightdata-0.2.21}/test/data/web_bin_parse.json +0 -0
  73. {flightdata-0.2.20 → flightdata-0.2.21}/test/test_bindata.py +0 -0
  74. {flightdata-0.2.20 → flightdata-0.2.21}/test/test_environment/__init__.py +0 -0
  75. {flightdata-0.2.20 → flightdata-0.2.21}/test/test_environment/test_environment.py +0 -0
  76. {flightdata-0.2.20 → flightdata-0.2.21}/test/test_environment/test_environment_wind.py +0 -0
  77. {flightdata-0.2.20 → flightdata-0.2.21}/test/test_fields.py +0 -0
  78. {flightdata-0.2.20 → flightdata-0.2.21}/test/test_flight.py +0 -0
  79. {flightdata-0.2.20 → flightdata-0.2.21}/test/test_model/__init__.py +0 -0
  80. {flightdata-0.2.20 → flightdata-0.2.21}/test/test_model/test_model_coefficients.py +0 -0
  81. {flightdata-0.2.20 → flightdata-0.2.21}/test/test_model/test_model_flow.py +0 -0
  82. {flightdata-0.2.20 → flightdata-0.2.21}/test/test_origin.py +0 -0
  83. {flightdata-0.2.20 → flightdata-0.2.21}/test/test_state/__init__.py +0 -0
  84. {flightdata-0.2.20 → flightdata-0.2.21}/test/test_state/test_state.py +0 -0
  85. {flightdata-0.2.20 → flightdata-0.2.21}/test/test_state/test_state_builders.py +0 -0
  86. {flightdata-0.2.20 → flightdata-0.2.21}/test/test_state/test_state_conversions.py +0 -0
  87. {flightdata-0.2.20 → flightdata-0.2.21}/test/test_state/test_state_measurements.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flightdata
3
- Version: 0.2.20
3
+ Version: 0.2.21
4
4
  Summary: Module for handling UAV flight log data
5
5
  Author-email: Thomas David <thomasdavid0@gmail.com>
6
6
  License: GNU GPL v3
@@ -11,13 +11,13 @@ License-File: LICENSE
11
11
  Requires-Dist: numpy
12
12
  Requires-Dist: pandas
13
13
  Requires-Dist: simplejson
14
- Requires-Dist: pfc-geometry>=0.2.11
14
+ Requires-Dist: pfc-geometry>=0.2.12
15
15
  Requires-Dist: json_stream
16
16
  Provides-Extra: dev
17
17
  Requires-Dist: numpy; extra == "dev"
18
18
  Requires-Dist: pandas; extra == "dev"
19
19
  Requires-Dist: simplejson; extra == "dev"
20
- Requires-Dist: pfc-geometry>=0.2.11; extra == "dev"
20
+ Requires-Dist: pfc-geometry>=0.2.12; extra == "dev"
21
21
  Requires-Dist: ardupilot-log-reader>=0.3.3; extra == "dev"
22
22
  Requires-Dist: pytest; extra == "dev"
23
23
 
@@ -4,7 +4,8 @@ import numpy as np
4
4
  import pandas as pd
5
5
  import logging
6
6
 
7
- logger = logging.getLogger(__name__)
7
+ logger = logging.getLogger(__name__)
8
+
8
9
 
9
10
  @dataclass
10
11
  class BinData:
@@ -35,11 +36,10 @@ class BinData:
35
36
  @staticmethod
36
37
  def parse_json(bindata: dict[str, dict[str, list]]) -> BinData:
37
38
  # dfs = {k: pd.DataFrame(v) for k,v in bindata.items()}
38
-
39
+
39
40
  dfs: dict[str, pd.DataFrame] = {}
40
41
  groups = {}
41
42
  for k, v in bindata.items():
42
-
43
43
  if k == "PARM":
44
44
  new_df = pd.DataFrame(
45
45
  [
@@ -49,17 +49,23 @@ class BinData:
49
49
  ],
50
50
  index=["time_boot_s", "Name", "Value"],
51
51
  ).T
52
- if 'Default' in v:
52
+ if "Default" in v:
53
53
  new_df["Default"] = v["Default"]
54
-
55
-
54
+ elif k == "MSG":
55
+ new_df = pd.DataFrame(
56
+ [
57
+ pd.Series(v["time_boot_s"]).reset_index(drop=True),
58
+ pd.Series(v["Message"]),
59
+ ],
60
+ index=["time_boot_s", "Message"],
61
+ ).T
56
62
  else:
57
63
  try:
58
- new_df = pd.DataFrame(v)
64
+ new_df = pd.DataFrame(v)
59
65
  except Exception as ex:
60
66
  logger.info(f"Error parsing {k}: {ex}")
61
67
  new_df = None
62
-
68
+
63
69
  if new_df is not None:
64
70
  if "[" not in k:
65
71
  dfs[k] = new_df
@@ -68,7 +74,7 @@ class BinData:
68
74
  if nk not in groups:
69
75
  groups[nk] = []
70
76
  groups[nk].append(new_df)
71
-
77
+
72
78
  for k, v in groups.items():
73
79
  dfs[k] = pd.concat(v).sort_values("time_boot_s")
74
80
 
@@ -76,12 +82,12 @@ class BinData:
76
82
  start_time = (
77
83
  BinData._gpsTimeToTime(dfs["GPS"].GWk.iloc[0], dfs["GPS"].GMS.iloc[0])
78
84
  - dfs["GPS"].time_boot_s.iloc[0]
79
- )
85
+ )
80
86
  else:
81
- start_time = 0
87
+ start_time = 0
82
88
 
83
89
  def process_df(df: pd.DataFrame) -> pd.DataFrame:
84
- df.insert(0, "TimeUS", np.floor(df.time_boot_s * 1e6)) # ms
90
+ df.insert(0, "TimeUS", np.floor(df.time_boot_s * 1e6)) # ms
85
91
  df.insert(0, "timestamp", start_time + df.time_boot_s)
86
92
 
87
93
  return df.drop(columns="time_boot_s")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flightdata
3
- Version: 0.2.20
3
+ Version: 0.2.21
4
4
  Summary: Module for handling UAV flight log data
5
5
  Author-email: Thomas David <thomasdavid0@gmail.com>
6
6
  License: GNU GPL v3
@@ -11,13 +11,13 @@ License-File: LICENSE
11
11
  Requires-Dist: numpy
12
12
  Requires-Dist: pandas
13
13
  Requires-Dist: simplejson
14
- Requires-Dist: pfc-geometry>=0.2.11
14
+ Requires-Dist: pfc-geometry>=0.2.12
15
15
  Requires-Dist: json_stream
16
16
  Provides-Extra: dev
17
17
  Requires-Dist: numpy; extra == "dev"
18
18
  Requires-Dist: pandas; extra == "dev"
19
19
  Requires-Dist: simplejson; extra == "dev"
20
- Requires-Dist: pfc-geometry>=0.2.11; extra == "dev"
20
+ Requires-Dist: pfc-geometry>=0.2.12; extra == "dev"
21
21
  Requires-Dist: ardupilot-log-reader>=0.3.3; extra == "dev"
22
22
  Requires-Dist: pytest; extra == "dev"
23
23
 
@@ -1,13 +1,13 @@
1
1
  numpy
2
2
  pandas
3
3
  simplejson
4
- pfc-geometry>=0.2.11
4
+ pfc-geometry>=0.2.12
5
5
  json_stream
6
6
 
7
7
  [dev]
8
8
  numpy
9
9
  pandas
10
10
  simplejson
11
- pfc-geometry>=0.2.11
11
+ pfc-geometry>=0.2.12
12
12
  ardupilot-log-reader>=0.3.3
13
13
  pytest
@@ -1,6 +1,6 @@
1
1
  numpy
2
2
  pandas
3
3
  simplejson
4
- pfc-geometry>=0.2.11
4
+ pfc-geometry>=0.2.12
5
5
  ardupilot-log-reader>=0.3.3
6
6
  pytest
@@ -1,5 +1,5 @@
1
1
  numpy
2
2
  pandas
3
3
  simplejson
4
- pfc-geometry>=0.2.11
4
+ pfc-geometry>=0.2.12
5
5
  json_stream
File without changes
File without changes
File without changes
File without changes
File without changes