nimbusos-sdk 0.1.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.
- nimbusos_sdk-0.1.0/PKG-INFO +87 -0
- nimbusos_sdk-0.1.0/README.md +74 -0
- nimbusos_sdk-0.1.0/pyproject.toml +35 -0
- nimbusos_sdk-0.1.0/setup.cfg +4 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/__init__.py +29 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/__init__.py +1 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/__init__.py +0 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/AttitudeData.py +36 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/BaroVarioData.py +32 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/BatterySensorData.py +38 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/CameraJpegMessage.py +128 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/DroneLinkedData.py +30 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/EulerAngles3D.py +32 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/FlightControllerUidData.py +36 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/FlightModeData.py +63 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/GpsData.py +45 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/GuidanceRequestMessage.py +106 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/GuidanceRequestType.py +10 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/LinkStatisticsData.py +180 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/LocalFrameVector3D.py +32 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/MagnetometerData.py +36 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/MotorRpmData.py +167 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/OptrangeData.py +48 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/Quaternion.py +35 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/RangefinderData.py +32 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/RawImuData.py +44 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/State.py +152 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/StateMessage.py +80 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/TelemetryMessage.py +318 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/VarioData.py +30 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/VideoReceiverTopChannelsData.py +49 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/WaypointCommandMessage.py +119 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/WaypointCommandMode.py +7 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/_schema/droneforge/schema/__init__.py +0 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/camera.py +31 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/cli.py +142 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/client.py +391 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/schema.py +54 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/state.py +113 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk/telemetry.py +79 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk.egg-info/PKG-INFO +87 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk.egg-info/SOURCES.txt +44 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk.egg-info/dependency_links.txt +1 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk.egg-info/entry_points.txt +4 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk.egg-info/requires.txt +2 -0
- nimbusos_sdk-0.1.0/src/nimbusos_sdk.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: nimbusos-sdk
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Python SDK for NimbusOS.
|
|
5
|
+
Author: Droneforge
|
|
6
|
+
License-Expression: LicenseRef-Proprietary
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
9
|
+
Requires-Python: <4.0,>=3.10
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
Requires-Dist: flatbuffers>=25.12.19
|
|
12
|
+
Requires-Dist: pyzmq>=26.0.0
|
|
13
|
+
|
|
14
|
+
# NimbusOS Python SDK
|
|
15
|
+
|
|
16
|
+
This is the first narrow Python SDK surface for NimbusOS pubsub.
|
|
17
|
+
|
|
18
|
+
V1 supports:
|
|
19
|
+
|
|
20
|
+
- Subscribe to `telemetry`
|
|
21
|
+
- Subscribe to `state`
|
|
22
|
+
- Subscribe to `camera`
|
|
23
|
+
- Publish `guidance_request`
|
|
24
|
+
- Publish `waypoint_command`
|
|
25
|
+
|
|
26
|
+
It does not expose raw pubsub publishing, all-topic subscription, legacy route
|
|
27
|
+
messages, navigation request messages, or internal control topics.
|
|
28
|
+
|
|
29
|
+
## Install
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
cd NimbusOS/sdk
|
|
33
|
+
uv sync
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Subscribe
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
cd NimbusOS/sdk
|
|
40
|
+
uv run nimbusos-subscribe telemetry
|
|
41
|
+
uv run nimbusos-subscribe state
|
|
42
|
+
uv run nimbusos-subscribe camera
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Publish Guidance Requests
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
cd NimbusOS/sdk
|
|
49
|
+
uv run nimbusos-guidance-request go
|
|
50
|
+
uv run nimbusos-guidance-request land
|
|
51
|
+
uv run nimbusos-guidance-request return_home
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Guidance can also request a relative waypoint:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
cd NimbusOS/sdk
|
|
58
|
+
uv run nimbusos-guidance-request relative_waypoint --forward 1.5 --right 0.0 --down -1.0
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Publish Waypoint Commands
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
cd NimbusOS/sdk
|
|
65
|
+
uv run nimbusos-waypoint-command --mode override --forward 1.5 --right 0.0 --down -1.0
|
|
66
|
+
uv run nimbusos-waypoint-command --mode queue --forward 1.0 --right 0.5 --down -1.0
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Waypoint command fields match the core schema:
|
|
70
|
+
|
|
71
|
+
- `forward`: meters forward/back in the drone's current body heading
|
|
72
|
+
- `right`: meters right/left in the drone's current body heading
|
|
73
|
+
- `down`: absolute local-frame down target
|
|
74
|
+
- `mode=override`: replace the active waypoint
|
|
75
|
+
- `mode=queue`: append after the active waypoint
|
|
76
|
+
|
|
77
|
+
## Endpoints
|
|
78
|
+
|
|
79
|
+
The client uses these defaults:
|
|
80
|
+
|
|
81
|
+
- publish: `tcp://127.0.0.1:7771`
|
|
82
|
+
- subscribe: `tcp://127.0.0.1:7772`
|
|
83
|
+
|
|
84
|
+
You can override them with:
|
|
85
|
+
|
|
86
|
+
- `DF_ZMQ_PUB_ENDPOINT`
|
|
87
|
+
- `DF_ZMQ_SUB_ENDPOINT`
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# NimbusOS Python SDK
|
|
2
|
+
|
|
3
|
+
This is the first narrow Python SDK surface for NimbusOS pubsub.
|
|
4
|
+
|
|
5
|
+
V1 supports:
|
|
6
|
+
|
|
7
|
+
- Subscribe to `telemetry`
|
|
8
|
+
- Subscribe to `state`
|
|
9
|
+
- Subscribe to `camera`
|
|
10
|
+
- Publish `guidance_request`
|
|
11
|
+
- Publish `waypoint_command`
|
|
12
|
+
|
|
13
|
+
It does not expose raw pubsub publishing, all-topic subscription, legacy route
|
|
14
|
+
messages, navigation request messages, or internal control topics.
|
|
15
|
+
|
|
16
|
+
## Install
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
cd NimbusOS/sdk
|
|
20
|
+
uv sync
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Subscribe
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
cd NimbusOS/sdk
|
|
27
|
+
uv run nimbusos-subscribe telemetry
|
|
28
|
+
uv run nimbusos-subscribe state
|
|
29
|
+
uv run nimbusos-subscribe camera
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Publish Guidance Requests
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
cd NimbusOS/sdk
|
|
36
|
+
uv run nimbusos-guidance-request go
|
|
37
|
+
uv run nimbusos-guidance-request land
|
|
38
|
+
uv run nimbusos-guidance-request return_home
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Guidance can also request a relative waypoint:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
cd NimbusOS/sdk
|
|
45
|
+
uv run nimbusos-guidance-request relative_waypoint --forward 1.5 --right 0.0 --down -1.0
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Publish Waypoint Commands
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
cd NimbusOS/sdk
|
|
52
|
+
uv run nimbusos-waypoint-command --mode override --forward 1.5 --right 0.0 --down -1.0
|
|
53
|
+
uv run nimbusos-waypoint-command --mode queue --forward 1.0 --right 0.5 --down -1.0
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Waypoint command fields match the core schema:
|
|
57
|
+
|
|
58
|
+
- `forward`: meters forward/back in the drone's current body heading
|
|
59
|
+
- `right`: meters right/left in the drone's current body heading
|
|
60
|
+
- `down`: absolute local-frame down target
|
|
61
|
+
- `mode=override`: replace the active waypoint
|
|
62
|
+
- `mode=queue`: append after the active waypoint
|
|
63
|
+
|
|
64
|
+
## Endpoints
|
|
65
|
+
|
|
66
|
+
The client uses these defaults:
|
|
67
|
+
|
|
68
|
+
- publish: `tcp://127.0.0.1:7771`
|
|
69
|
+
- subscribe: `tcp://127.0.0.1:7772`
|
|
70
|
+
|
|
71
|
+
You can override them with:
|
|
72
|
+
|
|
73
|
+
- `DF_ZMQ_PUB_ENDPOINT`
|
|
74
|
+
- `DF_ZMQ_SUB_ENDPOINT`
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "nimbusos-sdk"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
description = "Python SDK for NimbusOS."
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
requires-python = ">=3.10,<4.0"
|
|
7
|
+
license = "LicenseRef-Proprietary"
|
|
8
|
+
authors = [{ name = "Droneforge" }]
|
|
9
|
+
dependencies = [
|
|
10
|
+
"flatbuffers>=25.12.19",
|
|
11
|
+
"pyzmq>=26.0.0",
|
|
12
|
+
]
|
|
13
|
+
classifiers = [
|
|
14
|
+
"Programming Language :: Python :: 3",
|
|
15
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
[project.scripts]
|
|
19
|
+
nimbusos-subscribe = "nimbusos_sdk.cli:subscribe_main"
|
|
20
|
+
nimbusos-guidance-request = "nimbusos_sdk.cli:guidance_request_main"
|
|
21
|
+
nimbusos-waypoint-command = "nimbusos_sdk.cli:waypoint_command_main"
|
|
22
|
+
|
|
23
|
+
[build-system]
|
|
24
|
+
requires = ["setuptools>=68", "wheel"]
|
|
25
|
+
build-backend = "setuptools.build_meta"
|
|
26
|
+
|
|
27
|
+
[tool.setuptools]
|
|
28
|
+
package-dir = {"" = "src"}
|
|
29
|
+
|
|
30
|
+
[tool.setuptools.packages.find]
|
|
31
|
+
where = ["src"]
|
|
32
|
+
include = ["nimbusos_sdk*"]
|
|
33
|
+
|
|
34
|
+
[tool.setuptools.package-data]
|
|
35
|
+
nimbusos_sdk = ["_schema/**/*.py"]
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from .camera import CameraFrame
|
|
2
|
+
from .client import NimbusClient
|
|
3
|
+
from .client import ReceivedMessage
|
|
4
|
+
from .state import LocalFrameDirection
|
|
5
|
+
from .state import LocalFramePosition
|
|
6
|
+
from .state import LocalFrameVelocity
|
|
7
|
+
from .state import State
|
|
8
|
+
from .state import StateAttitude
|
|
9
|
+
from .state import StateOrientation
|
|
10
|
+
from .telemetry import AttitudeTelemetry
|
|
11
|
+
from .telemetry import BatteryTelemetry
|
|
12
|
+
from .telemetry import LinkTelemetry
|
|
13
|
+
from .telemetry import Telemetry
|
|
14
|
+
|
|
15
|
+
__all__ = [
|
|
16
|
+
"AttitudeTelemetry",
|
|
17
|
+
"BatteryTelemetry",
|
|
18
|
+
"CameraFrame",
|
|
19
|
+
"LinkTelemetry",
|
|
20
|
+
"LocalFrameDirection",
|
|
21
|
+
"LocalFramePosition",
|
|
22
|
+
"LocalFrameVelocity",
|
|
23
|
+
"NimbusClient",
|
|
24
|
+
"ReceivedMessage",
|
|
25
|
+
"State",
|
|
26
|
+
"StateAttitude",
|
|
27
|
+
"StateOrientation",
|
|
28
|
+
"Telemetry",
|
|
29
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Packaged FlatBuffer schema modules used by the NimbusOS SDK."""
|
|
File without changes
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# automatically generated by the FlatBuffers compiler, do not modify
|
|
2
|
+
|
|
3
|
+
# namespace: schema
|
|
4
|
+
|
|
5
|
+
import flatbuffers
|
|
6
|
+
from flatbuffers.compat import import_numpy
|
|
7
|
+
np = import_numpy()
|
|
8
|
+
|
|
9
|
+
class AttitudeData(object):
|
|
10
|
+
__slots__ = ['_tab']
|
|
11
|
+
|
|
12
|
+
@classmethod
|
|
13
|
+
def SizeOf(cls):
|
|
14
|
+
return 24
|
|
15
|
+
|
|
16
|
+
# AttitudeData
|
|
17
|
+
def Init(self, buf, pos):
|
|
18
|
+
self._tab = flatbuffers.table.Table(buf, pos)
|
|
19
|
+
|
|
20
|
+
# AttitudeData
|
|
21
|
+
def Roll(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(0))
|
|
22
|
+
# AttitudeData
|
|
23
|
+
def Pitch(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(4))
|
|
24
|
+
# AttitudeData
|
|
25
|
+
def Yaw(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(8))
|
|
26
|
+
# AttitudeData
|
|
27
|
+
def TNs(self): return self._tab.Get(flatbuffers.number_types.Uint64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(16))
|
|
28
|
+
|
|
29
|
+
def CreateAttitudeData(builder, roll, pitch, yaw, tNs):
|
|
30
|
+
builder.Prep(8, 24)
|
|
31
|
+
builder.PrependUint64(tNs)
|
|
32
|
+
builder.Pad(4)
|
|
33
|
+
builder.PrependFloat32(yaw)
|
|
34
|
+
builder.PrependFloat32(pitch)
|
|
35
|
+
builder.PrependFloat32(roll)
|
|
36
|
+
return builder.Offset()
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# automatically generated by the FlatBuffers compiler, do not modify
|
|
2
|
+
|
|
3
|
+
# namespace: schema
|
|
4
|
+
|
|
5
|
+
import flatbuffers
|
|
6
|
+
from flatbuffers.compat import import_numpy
|
|
7
|
+
np = import_numpy()
|
|
8
|
+
|
|
9
|
+
class BaroVarioData(object):
|
|
10
|
+
__slots__ = ['_tab']
|
|
11
|
+
|
|
12
|
+
@classmethod
|
|
13
|
+
def SizeOf(cls):
|
|
14
|
+
return 16
|
|
15
|
+
|
|
16
|
+
# BaroVarioData
|
|
17
|
+
def Init(self, buf, pos):
|
|
18
|
+
self._tab = flatbuffers.table.Table(buf, pos)
|
|
19
|
+
|
|
20
|
+
# BaroVarioData
|
|
21
|
+
def Altitude(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(0))
|
|
22
|
+
# BaroVarioData
|
|
23
|
+
def VerticalSpeed(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(4))
|
|
24
|
+
# BaroVarioData
|
|
25
|
+
def TNs(self): return self._tab.Get(flatbuffers.number_types.Uint64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(8))
|
|
26
|
+
|
|
27
|
+
def CreateBaroVarioData(builder, altitude, verticalSpeed, tNs):
|
|
28
|
+
builder.Prep(8, 16)
|
|
29
|
+
builder.PrependUint64(tNs)
|
|
30
|
+
builder.PrependFloat32(verticalSpeed)
|
|
31
|
+
builder.PrependFloat32(altitude)
|
|
32
|
+
return builder.Offset()
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# automatically generated by the FlatBuffers compiler, do not modify
|
|
2
|
+
|
|
3
|
+
# namespace: schema
|
|
4
|
+
|
|
5
|
+
import flatbuffers
|
|
6
|
+
from flatbuffers.compat import import_numpy
|
|
7
|
+
np = import_numpy()
|
|
8
|
+
|
|
9
|
+
class BatterySensorData(object):
|
|
10
|
+
__slots__ = ['_tab']
|
|
11
|
+
|
|
12
|
+
@classmethod
|
|
13
|
+
def SizeOf(cls):
|
|
14
|
+
return 24
|
|
15
|
+
|
|
16
|
+
# BatterySensorData
|
|
17
|
+
def Init(self, buf, pos):
|
|
18
|
+
self._tab = flatbuffers.table.Table(buf, pos)
|
|
19
|
+
|
|
20
|
+
# BatterySensorData
|
|
21
|
+
def Voltage(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(0))
|
|
22
|
+
# BatterySensorData
|
|
23
|
+
def Current(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(4))
|
|
24
|
+
# BatterySensorData
|
|
25
|
+
def Capacity(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(8))
|
|
26
|
+
# BatterySensorData
|
|
27
|
+
def RemainingCapacity(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(12))
|
|
28
|
+
# BatterySensorData
|
|
29
|
+
def TNs(self): return self._tab.Get(flatbuffers.number_types.Uint64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(16))
|
|
30
|
+
|
|
31
|
+
def CreateBatterySensorData(builder, voltage, current, capacity, remainingCapacity, tNs):
|
|
32
|
+
builder.Prep(8, 24)
|
|
33
|
+
builder.PrependUint64(tNs)
|
|
34
|
+
builder.PrependFloat32(remainingCapacity)
|
|
35
|
+
builder.PrependFloat32(capacity)
|
|
36
|
+
builder.PrependFloat32(current)
|
|
37
|
+
builder.PrependFloat32(voltage)
|
|
38
|
+
return builder.Offset()
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# automatically generated by the FlatBuffers compiler, do not modify
|
|
2
|
+
|
|
3
|
+
# namespace: schema
|
|
4
|
+
|
|
5
|
+
import flatbuffers
|
|
6
|
+
from flatbuffers.compat import import_numpy
|
|
7
|
+
np = import_numpy()
|
|
8
|
+
|
|
9
|
+
class CameraJpegMessage(object):
|
|
10
|
+
__slots__ = ['_tab']
|
|
11
|
+
|
|
12
|
+
@classmethod
|
|
13
|
+
def GetRootAs(cls, buf, offset=0):
|
|
14
|
+
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
|
|
15
|
+
x = CameraJpegMessage()
|
|
16
|
+
x.Init(buf, n + offset)
|
|
17
|
+
return x
|
|
18
|
+
|
|
19
|
+
@classmethod
|
|
20
|
+
def GetRootAsCameraJpegMessage(cls, buf, offset=0):
|
|
21
|
+
"""This method is deprecated. Please switch to GetRootAs."""
|
|
22
|
+
return cls.GetRootAs(buf, offset)
|
|
23
|
+
# CameraJpegMessage
|
|
24
|
+
def Init(self, buf, pos):
|
|
25
|
+
self._tab = flatbuffers.table.Table(buf, pos)
|
|
26
|
+
|
|
27
|
+
# CameraJpegMessage
|
|
28
|
+
def Seq(self):
|
|
29
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
|
|
30
|
+
if o != 0:
|
|
31
|
+
return self._tab.Get(flatbuffers.number_types.Uint64Flags, o + self._tab.Pos)
|
|
32
|
+
return 0
|
|
33
|
+
|
|
34
|
+
# CameraJpegMessage
|
|
35
|
+
def TNs(self):
|
|
36
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
|
|
37
|
+
if o != 0:
|
|
38
|
+
return self._tab.Get(flatbuffers.number_types.Uint64Flags, o + self._tab.Pos)
|
|
39
|
+
return 0
|
|
40
|
+
|
|
41
|
+
# CameraJpegMessage
|
|
42
|
+
def Width(self):
|
|
43
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
|
|
44
|
+
if o != 0:
|
|
45
|
+
return self._tab.Get(flatbuffers.number_types.Uint32Flags, o + self._tab.Pos)
|
|
46
|
+
return 0
|
|
47
|
+
|
|
48
|
+
# CameraJpegMessage
|
|
49
|
+
def Height(self):
|
|
50
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
|
|
51
|
+
if o != 0:
|
|
52
|
+
return self._tab.Get(flatbuffers.number_types.Uint32Flags, o + self._tab.Pos)
|
|
53
|
+
return 0
|
|
54
|
+
|
|
55
|
+
# CameraJpegMessage
|
|
56
|
+
def Jpeg(self, j):
|
|
57
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
|
|
58
|
+
if o != 0:
|
|
59
|
+
a = self._tab.Vector(o)
|
|
60
|
+
return self._tab.Get(flatbuffers.number_types.Uint8Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 1))
|
|
61
|
+
return 0
|
|
62
|
+
|
|
63
|
+
# CameraJpegMessage
|
|
64
|
+
def JpegAsNumpy(self):
|
|
65
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
|
|
66
|
+
if o != 0:
|
|
67
|
+
return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Uint8Flags, o)
|
|
68
|
+
return 0
|
|
69
|
+
|
|
70
|
+
# CameraJpegMessage
|
|
71
|
+
def JpegLength(self):
|
|
72
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
|
|
73
|
+
if o != 0:
|
|
74
|
+
return self._tab.VectorLen(o)
|
|
75
|
+
return 0
|
|
76
|
+
|
|
77
|
+
# CameraJpegMessage
|
|
78
|
+
def JpegIsNone(self):
|
|
79
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
|
|
80
|
+
return o == 0
|
|
81
|
+
|
|
82
|
+
def CameraJpegMessageStart(builder):
|
|
83
|
+
builder.StartObject(5)
|
|
84
|
+
|
|
85
|
+
def Start(builder):
|
|
86
|
+
CameraJpegMessageStart(builder)
|
|
87
|
+
|
|
88
|
+
def CameraJpegMessageAddSeq(builder, seq):
|
|
89
|
+
builder.PrependUint64Slot(0, seq, 0)
|
|
90
|
+
|
|
91
|
+
def AddSeq(builder, seq):
|
|
92
|
+
CameraJpegMessageAddSeq(builder, seq)
|
|
93
|
+
|
|
94
|
+
def CameraJpegMessageAddTNs(builder, tNs):
|
|
95
|
+
builder.PrependUint64Slot(1, tNs, 0)
|
|
96
|
+
|
|
97
|
+
def AddTNs(builder, tNs):
|
|
98
|
+
CameraJpegMessageAddTNs(builder, tNs)
|
|
99
|
+
|
|
100
|
+
def CameraJpegMessageAddWidth(builder, width):
|
|
101
|
+
builder.PrependUint32Slot(2, width, 0)
|
|
102
|
+
|
|
103
|
+
def AddWidth(builder, width):
|
|
104
|
+
CameraJpegMessageAddWidth(builder, width)
|
|
105
|
+
|
|
106
|
+
def CameraJpegMessageAddHeight(builder, height):
|
|
107
|
+
builder.PrependUint32Slot(3, height, 0)
|
|
108
|
+
|
|
109
|
+
def AddHeight(builder, height):
|
|
110
|
+
CameraJpegMessageAddHeight(builder, height)
|
|
111
|
+
|
|
112
|
+
def CameraJpegMessageAddJpeg(builder, jpeg):
|
|
113
|
+
builder.PrependUOffsetTRelativeSlot(4, flatbuffers.number_types.UOffsetTFlags.py_type(jpeg), 0)
|
|
114
|
+
|
|
115
|
+
def AddJpeg(builder, jpeg):
|
|
116
|
+
CameraJpegMessageAddJpeg(builder, jpeg)
|
|
117
|
+
|
|
118
|
+
def CameraJpegMessageStartJpegVector(builder, numElems):
|
|
119
|
+
return builder.StartVector(1, numElems, 1)
|
|
120
|
+
|
|
121
|
+
def StartJpegVector(builder, numElems):
|
|
122
|
+
return CameraJpegMessageStartJpegVector(builder, numElems)
|
|
123
|
+
|
|
124
|
+
def CameraJpegMessageEnd(builder):
|
|
125
|
+
return builder.EndObject()
|
|
126
|
+
|
|
127
|
+
def End(builder):
|
|
128
|
+
return CameraJpegMessageEnd(builder)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# automatically generated by the FlatBuffers compiler, do not modify
|
|
2
|
+
|
|
3
|
+
# namespace: schema
|
|
4
|
+
|
|
5
|
+
import flatbuffers
|
|
6
|
+
from flatbuffers.compat import import_numpy
|
|
7
|
+
np = import_numpy()
|
|
8
|
+
|
|
9
|
+
class DroneLinkedData(object):
|
|
10
|
+
__slots__ = ['_tab']
|
|
11
|
+
|
|
12
|
+
@classmethod
|
|
13
|
+
def SizeOf(cls):
|
|
14
|
+
return 16
|
|
15
|
+
|
|
16
|
+
# DroneLinkedData
|
|
17
|
+
def Init(self, buf, pos):
|
|
18
|
+
self._tab = flatbuffers.table.Table(buf, pos)
|
|
19
|
+
|
|
20
|
+
# DroneLinkedData
|
|
21
|
+
def IsLinked(self): return self._tab.Get(flatbuffers.number_types.BoolFlags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(0))
|
|
22
|
+
# DroneLinkedData
|
|
23
|
+
def TNs(self): return self._tab.Get(flatbuffers.number_types.Uint64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(8))
|
|
24
|
+
|
|
25
|
+
def CreateDroneLinkedData(builder, isLinked, tNs):
|
|
26
|
+
builder.Prep(8, 16)
|
|
27
|
+
builder.PrependUint64(tNs)
|
|
28
|
+
builder.Pad(7)
|
|
29
|
+
builder.PrependBool(isLinked)
|
|
30
|
+
return builder.Offset()
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# automatically generated by the FlatBuffers compiler, do not modify
|
|
2
|
+
|
|
3
|
+
# namespace: schema
|
|
4
|
+
|
|
5
|
+
import flatbuffers
|
|
6
|
+
from flatbuffers.compat import import_numpy
|
|
7
|
+
np = import_numpy()
|
|
8
|
+
|
|
9
|
+
class EulerAngles3D(object):
|
|
10
|
+
__slots__ = ['_tab']
|
|
11
|
+
|
|
12
|
+
@classmethod
|
|
13
|
+
def SizeOf(cls):
|
|
14
|
+
return 12
|
|
15
|
+
|
|
16
|
+
# EulerAngles3D
|
|
17
|
+
def Init(self, buf, pos):
|
|
18
|
+
self._tab = flatbuffers.table.Table(buf, pos)
|
|
19
|
+
|
|
20
|
+
# EulerAngles3D
|
|
21
|
+
def Roll(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(0))
|
|
22
|
+
# EulerAngles3D
|
|
23
|
+
def Pitch(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(4))
|
|
24
|
+
# EulerAngles3D
|
|
25
|
+
def Yaw(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(8))
|
|
26
|
+
|
|
27
|
+
def CreateEulerAngles3D(builder, roll, pitch, yaw):
|
|
28
|
+
builder.Prep(4, 12)
|
|
29
|
+
builder.PrependFloat32(yaw)
|
|
30
|
+
builder.PrependFloat32(pitch)
|
|
31
|
+
builder.PrependFloat32(roll)
|
|
32
|
+
return builder.Offset()
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# automatically generated by the FlatBuffers compiler, do not modify
|
|
2
|
+
|
|
3
|
+
# namespace: schema
|
|
4
|
+
|
|
5
|
+
import flatbuffers
|
|
6
|
+
from flatbuffers.compat import import_numpy
|
|
7
|
+
np = import_numpy()
|
|
8
|
+
|
|
9
|
+
class FlightControllerUidData(object):
|
|
10
|
+
__slots__ = ['_tab']
|
|
11
|
+
|
|
12
|
+
@classmethod
|
|
13
|
+
def SizeOf(cls):
|
|
14
|
+
return 24
|
|
15
|
+
|
|
16
|
+
# FlightControllerUidData
|
|
17
|
+
def Init(self, buf, pos):
|
|
18
|
+
self._tab = flatbuffers.table.Table(buf, pos)
|
|
19
|
+
|
|
20
|
+
# FlightControllerUidData
|
|
21
|
+
def Uid0(self): return self._tab.Get(flatbuffers.number_types.Uint32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(0))
|
|
22
|
+
# FlightControllerUidData
|
|
23
|
+
def Uid1(self): return self._tab.Get(flatbuffers.number_types.Uint32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(4))
|
|
24
|
+
# FlightControllerUidData
|
|
25
|
+
def Uid2(self): return self._tab.Get(flatbuffers.number_types.Uint32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(8))
|
|
26
|
+
# FlightControllerUidData
|
|
27
|
+
def TNs(self): return self._tab.Get(flatbuffers.number_types.Uint64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(16))
|
|
28
|
+
|
|
29
|
+
def CreateFlightControllerUidData(builder, uid0, uid1, uid2, tNs):
|
|
30
|
+
builder.Prep(8, 24)
|
|
31
|
+
builder.PrependUint64(tNs)
|
|
32
|
+
builder.Pad(4)
|
|
33
|
+
builder.PrependUint32(uid2)
|
|
34
|
+
builder.PrependUint32(uid1)
|
|
35
|
+
builder.PrependUint32(uid0)
|
|
36
|
+
return builder.Offset()
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# automatically generated by the FlatBuffers compiler, do not modify
|
|
2
|
+
|
|
3
|
+
# namespace: schema
|
|
4
|
+
|
|
5
|
+
import flatbuffers
|
|
6
|
+
from flatbuffers.compat import import_numpy
|
|
7
|
+
np = import_numpy()
|
|
8
|
+
|
|
9
|
+
class FlightModeData(object):
|
|
10
|
+
__slots__ = ['_tab']
|
|
11
|
+
|
|
12
|
+
@classmethod
|
|
13
|
+
def GetRootAs(cls, buf, offset=0):
|
|
14
|
+
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
|
|
15
|
+
x = FlightModeData()
|
|
16
|
+
x.Init(buf, n + offset)
|
|
17
|
+
return x
|
|
18
|
+
|
|
19
|
+
@classmethod
|
|
20
|
+
def GetRootAsFlightModeData(cls, buf, offset=0):
|
|
21
|
+
"""This method is deprecated. Please switch to GetRootAs."""
|
|
22
|
+
return cls.GetRootAs(buf, offset)
|
|
23
|
+
# FlightModeData
|
|
24
|
+
def Init(self, buf, pos):
|
|
25
|
+
self._tab = flatbuffers.table.Table(buf, pos)
|
|
26
|
+
|
|
27
|
+
# FlightModeData
|
|
28
|
+
def FlightMode(self):
|
|
29
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
|
|
30
|
+
if o != 0:
|
|
31
|
+
return self._tab.String(o + self._tab.Pos)
|
|
32
|
+
return None
|
|
33
|
+
|
|
34
|
+
# FlightModeData
|
|
35
|
+
def TNs(self):
|
|
36
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
|
|
37
|
+
if o != 0:
|
|
38
|
+
return self._tab.Get(flatbuffers.number_types.Uint64Flags, o + self._tab.Pos)
|
|
39
|
+
return 0
|
|
40
|
+
|
|
41
|
+
def FlightModeDataStart(builder):
|
|
42
|
+
builder.StartObject(2)
|
|
43
|
+
|
|
44
|
+
def Start(builder):
|
|
45
|
+
FlightModeDataStart(builder)
|
|
46
|
+
|
|
47
|
+
def FlightModeDataAddFlightMode(builder, flightMode):
|
|
48
|
+
builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(flightMode), 0)
|
|
49
|
+
|
|
50
|
+
def AddFlightMode(builder, flightMode):
|
|
51
|
+
FlightModeDataAddFlightMode(builder, flightMode)
|
|
52
|
+
|
|
53
|
+
def FlightModeDataAddTNs(builder, tNs):
|
|
54
|
+
builder.PrependUint64Slot(1, tNs, 0)
|
|
55
|
+
|
|
56
|
+
def AddTNs(builder, tNs):
|
|
57
|
+
FlightModeDataAddTNs(builder, tNs)
|
|
58
|
+
|
|
59
|
+
def FlightModeDataEnd(builder):
|
|
60
|
+
return builder.EndObject()
|
|
61
|
+
|
|
62
|
+
def End(builder):
|
|
63
|
+
return FlightModeDataEnd(builder)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# automatically generated by the FlatBuffers compiler, do not modify
|
|
2
|
+
|
|
3
|
+
# namespace: schema
|
|
4
|
+
|
|
5
|
+
import flatbuffers
|
|
6
|
+
from flatbuffers.compat import import_numpy
|
|
7
|
+
np = import_numpy()
|
|
8
|
+
|
|
9
|
+
class GpsData(object):
|
|
10
|
+
__slots__ = ['_tab']
|
|
11
|
+
|
|
12
|
+
@classmethod
|
|
13
|
+
def SizeOf(cls):
|
|
14
|
+
return 40
|
|
15
|
+
|
|
16
|
+
# GpsData
|
|
17
|
+
def Init(self, buf, pos):
|
|
18
|
+
self._tab = flatbuffers.table.Table(buf, pos)
|
|
19
|
+
|
|
20
|
+
# GpsData
|
|
21
|
+
def Latitude(self): return self._tab.Get(flatbuffers.number_types.Float64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(0))
|
|
22
|
+
# GpsData
|
|
23
|
+
def Longitude(self): return self._tab.Get(flatbuffers.number_types.Float64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(8))
|
|
24
|
+
# GpsData
|
|
25
|
+
def GroundSpeed(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(16))
|
|
26
|
+
# GpsData
|
|
27
|
+
def GpsHeading(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(20))
|
|
28
|
+
# GpsData
|
|
29
|
+
def Altitude(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(24))
|
|
30
|
+
# GpsData
|
|
31
|
+
def SatellitesInUse(self): return self._tab.Get(flatbuffers.number_types.Uint8Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(28))
|
|
32
|
+
# GpsData
|
|
33
|
+
def TNs(self): return self._tab.Get(flatbuffers.number_types.Uint64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(32))
|
|
34
|
+
|
|
35
|
+
def CreateGpsData(builder, latitude, longitude, groundSpeed, gpsHeading, altitude, satellitesInUse, tNs):
|
|
36
|
+
builder.Prep(8, 40)
|
|
37
|
+
builder.PrependUint64(tNs)
|
|
38
|
+
builder.Pad(3)
|
|
39
|
+
builder.PrependUint8(satellitesInUse)
|
|
40
|
+
builder.PrependFloat32(altitude)
|
|
41
|
+
builder.PrependFloat32(gpsHeading)
|
|
42
|
+
builder.PrependFloat32(groundSpeed)
|
|
43
|
+
builder.PrependFloat64(longitude)
|
|
44
|
+
builder.PrependFloat64(latitude)
|
|
45
|
+
return builder.Offset()
|