@flightpath/flightpath 0.0.1
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.
package/README.md
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Flightpath
|
|
2
|
+
|
|
3
|
+
Go platform exposing a gRPC API to control a drone.
|
|
4
|
+
|
|
5
|
+
## Architecture
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
## Project Structure
|
|
10
|
+
```
|
|
11
|
+
flightpath/
|
|
12
|
+
├── cmd/
|
|
13
|
+
│ └── server/
|
|
14
|
+
│ └── main.go # Server entry point
|
|
15
|
+
├── examples/ # API usage examples
|
|
16
|
+
│ └── message_monitor.go
|
|
17
|
+
├── gen/ # Generated files
|
|
18
|
+
│ ├── go/flightpath
|
|
19
|
+
│ | ├── action_pb.go
|
|
20
|
+
│ | ├── connection_pb.go
|
|
21
|
+
│ | └── telemetry_pb.go
|
|
22
|
+
│ └── ts/flightpath
|
|
23
|
+
│ ├── action_pb.go
|
|
24
|
+
│ ├── connection_pb.go
|
|
25
|
+
│ └── telemetry_pb.go
|
|
26
|
+
├── internal/
|
|
27
|
+
│ ├── config/
|
|
28
|
+
│ │ ├── config.go # Configuration structure
|
|
29
|
+
│ │ └── loader.go # Configuration loader
|
|
30
|
+
│ ├── mavlink/
|
|
31
|
+
│ │ └── mavlink_connector.go # Drone interface using MAVLink
|
|
32
|
+
│ ├── middleware/
|
|
33
|
+
│ │ ├── cors.go # CORS middleware
|
|
34
|
+
│ │ ├── logging.go # Request logging
|
|
35
|
+
│ │ └── recovery.go # Panic recovery
|
|
36
|
+
│ ├── server/
|
|
37
|
+
│ │ └── server.go # Represents the flightpath server
|
|
38
|
+
│ └── services/
|
|
39
|
+
│ ├── context.go # Shared context for all services (config, logger, etc.)
|
|
40
|
+
│ ├── action.go # Handles drone actions
|
|
41
|
+
│ ├── connection.go # Handles drone connection
|
|
42
|
+
│ └── telemetry.go # Handles drone telemetry
|
|
43
|
+
├── proto/
|
|
44
|
+
│ └── flightpath/
|
|
45
|
+
│ ├── action.proto # Drone actions
|
|
46
|
+
│ ├── connection.proto # Drone connection
|
|
47
|
+
│ └── telemetry.proto # Drone telemetry
|
|
48
|
+
├── go.mod
|
|
49
|
+
└── go.sum
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Quick Start
|
|
53
|
+
|
|
54
|
+
### Prerequisites
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# 1. Clone repository
|
|
58
|
+
git clone https://github.com/flightpath-dev/flightpath
|
|
59
|
+
cd flightpath
|
|
60
|
+
|
|
61
|
+
# 2. Install dependencies
|
|
62
|
+
go mod tidy
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Run with a PX4 SITL
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# 1. Start a PX4 SITL
|
|
69
|
+
See [PX4 SITL Setup](docs/px4-sitl-setup.md)
|
|
70
|
+
|
|
71
|
+
# 2. Run server
|
|
72
|
+
go run cmd/server/main.go
|
|
73
|
+
|
|
74
|
+
# 3. Monitor messages from the SITL
|
|
75
|
+
go run examples/monitor_heartbeat_flightpath/main.go
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Run with a drone connected to a serial port
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# 1. Turn on the drone
|
|
82
|
+
|
|
83
|
+
# 2. Run the server with a serial port configuration
|
|
84
|
+
export FLIGHTPATH_MAVLINK_ENDPOINT_TYPE=serial
|
|
85
|
+
export FLIGHTPATH_MAVLINK_SERIAL_DEVICE=/dev/cu.usbserial-D30JAXGS
|
|
86
|
+
export FLIGHTPATH_MAVLINK_SERIAL_BAUD=57600
|
|
87
|
+
go run cmd/server/main.go
|
|
88
|
+
|
|
89
|
+
# 3. Monitor messages from the drone
|
|
90
|
+
go run examples/monitor_heartbeat_flightpath/main.go
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Run with a drone connected over a UDP port
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# 1. Turn on the drone
|
|
97
|
+
|
|
98
|
+
# 2. Run the server with a UDP configuration
|
|
99
|
+
export FLIGHTPATH_MAVLINK_ENDPOINT_TYPE=udp-server
|
|
100
|
+
export FLIGHTPATH_MAVLINK_UDP_ADDRESS=0.0.0.0:14550
|
|
101
|
+
go run cmd/server/main.go
|
|
102
|
+
|
|
103
|
+
# 3. Monitor messages from the drone
|
|
104
|
+
go run examples/monitor_heartbeat_flightpath/main.go
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Development
|
|
108
|
+
|
|
109
|
+
## License
|
|
110
|
+
|
|
111
|
+
MIT
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// @generated by protoc-gen-connect-es v1.3.0 with parameter "target=ts"
|
|
2
|
+
// @generated from file flightpath/connection.proto (package flightpath, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
// @ts-nocheck
|
|
5
|
+
|
|
6
|
+
import { SubscribeHeartbeatRequest, SubscribeHeartbeatResponse } from "./connection_pb.js";
|
|
7
|
+
import { MethodKind } from "@bufbuild/protobuf";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Handle drone connection
|
|
11
|
+
*
|
|
12
|
+
* @generated from service flightpath.ConnectionService
|
|
13
|
+
*/
|
|
14
|
+
export const ConnectionService = {
|
|
15
|
+
typeName: "flightpath.ConnectionService",
|
|
16
|
+
methods: {
|
|
17
|
+
/**
|
|
18
|
+
* Subscribe to HEARTBEAT messages from the drone
|
|
19
|
+
*
|
|
20
|
+
* @generated from rpc flightpath.ConnectionService.SubscribeHeartbeat
|
|
21
|
+
*/
|
|
22
|
+
subscribeHeartbeat: {
|
|
23
|
+
name: "SubscribeHeartbeat",
|
|
24
|
+
I: SubscribeHeartbeatRequest,
|
|
25
|
+
O: SubscribeHeartbeatResponse,
|
|
26
|
+
kind: MethodKind.ServerStreaming,
|
|
27
|
+
},
|
|
28
|
+
}
|
|
29
|
+
} as const;
|
|
30
|
+
|
|
@@ -0,0 +1,876 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.10.1 with parameter "target=ts,import_extension=.js"
|
|
2
|
+
// @generated from file flightpath/connection.proto (package flightpath, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
|
|
7
|
+
import type { Message } from "@bufbuild/protobuf";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Describes the file flightpath/connection.proto.
|
|
11
|
+
*/
|
|
12
|
+
export const file_flightpath_connection: GenFile = /*@__PURE__*/
|
|
13
|
+
fileDesc("ChtmbGlnaHRwYXRoL2Nvbm5lY3Rpb24ucHJvdG8SCmZsaWdodHBhdGgiGwoZU3Vic2NyaWJlSGVhcnRiZWF0UmVxdWVzdCKFAQoaU3Vic2NyaWJlSGVhcnRiZWF0UmVzcG9uc2USFAoMdGltZXN0YW1wX21zGAEgASgDEhEKCXN5c3RlbV9pZBgCIAEoDRIUCgxjb21wb25lbnRfaWQYAyABKA0SKAoJaGVhcnRiZWF0GAQgASgLMhUuZmxpZ2h0cGF0aC5IZWFydGJlYXQi9wEKCUhlYXJ0YmVhdBIhCgR0eXBlGAEgASgOMhMuZmxpZ2h0cGF0aC5NYXZUeXBlEisKCWF1dG9waWxvdBgCIAEoDjIYLmZsaWdodHBhdGguTWF2QXV0b3BpbG90EicKCWJhc2VfbW9kZRgDIAEoCzIULmZsaWdodHBhdGguQmFzZU1vZGUSKwoLY3VzdG9tX21vZGUYBCABKAsyFi5mbGlnaHRwYXRoLkN1c3RvbU1vZGUSKwoNc3lzdGVtX3N0YXR1cxgFIAEoDjIULmZsaWdodHBhdGguTWF2U3RhdGUSFwoPbWF2bGlua192ZXJzaW9uGAYgASgNIs8BCghCYXNlTW9kZRIbChNjdXN0b21fbW9kZV9lbmFibGVkGAEgASgIEhQKDHRlc3RfZW5hYmxlZBgCIAEoCBIUCgxhdXRvX2VuYWJsZWQYAyABKAgSFgoOZ3VpZGVkX2VuYWJsZWQYBCABKAgSGQoRc3RhYmlsaXplX2VuYWJsZWQYBSABKAgSEwoLaGlsX2VuYWJsZWQYBiABKAgSHAoUbWFudWFsX2lucHV0X2VuYWJsZWQYByABKAgSFAoMc2FmZXR5X2FybWVkGAggASgIIlwKCkN1c3RvbU1vZGUSJwoJbWFpbl9tb2RlGAEgASgOMhQuZmxpZ2h0cGF0aC5NYWluTW9kZRIlCghzdWJfbW9kZRgCIAEoDjITLmZsaWdodHBhdGguU3ViTW9kZSrrCQoHTWF2VHlwZRIYChRNQVZfVFlQRV9VTlNQRUNJRklFRBAAEhcKE01BVl9UWVBFX0ZJWEVEX1dJTkcQARIWChJNQVZfVFlQRV9RVUFEUk9UT1IQAhIUChBNQVZfVFlQRV9DT0FYSUFMEAMSFwoTTUFWX1RZUEVfSEVMSUNPUFRFUhAEEhwKGE1BVl9UWVBFX0FOVEVOTkFfVFJBQ0tFUhAFEhAKDE1BVl9UWVBFX0dDUxAGEhQKEE1BVl9UWVBFX0FJUlNISVAQBxIZChVNQVZfVFlQRV9GUkVFX0JBTExPT04QCBITCg9NQVZfVFlQRV9ST0NLRVQQCRIZChVNQVZfVFlQRV9HUk9VTkRfUk9WRVIQChIZChVNQVZfVFlQRV9TVVJGQUNFX0JPQVQQCxIWChJNQVZfVFlQRV9TVUJNQVJJTkUQDBIWChJNQVZfVFlQRV9IRVhBUk9UT1IQDRIWChJNQVZfVFlQRV9PQ1RPUk9UT1IQDhIWChJNQVZfVFlQRV9UUklDT1BURVIQDxIaChZNQVZfVFlQRV9GTEFQUElOR19XSU5HEBASEQoNTUFWX1RZUEVfS0lURRAREh8KG01BVl9UWVBFX09OQk9BUkRfQ09OVFJPTExFUhASEiUKIU1BVl9UWVBFX1ZUT0xfVEFJTFNJVFRFUl9EVU9ST1RPUhATEiYKIk1BVl9UWVBFX1ZUT0xfVEFJTFNJVFRFUl9RVUFEUk9UT1IQFBIbChdNQVZfVFlQRV9WVE9MX1RJTFRST1RPUhAVEhwKGE1BVl9UWVBFX1ZUT0xfRklYRURST1RPUhAWEhwKGE1BVl9UWVBFX1ZUT0xfVEFJTFNJVFRFUhAXEhoKFk1BVl9UWVBFX1ZUT0xfVElMVFdJTkcQGBIbChdNQVZfVFlQRV9WVE9MX1JFU0VSVkVENRAZEhMKD01BVl9UWVBFX0dJTUJBTBAaEhEKDU1BVl9UWVBFX0FEU0IQGxIVChFNQVZfVFlQRV9QQVJBRk9JTBAcEhgKFE1BVl9UWVBFX0RPREVDQVJPVE9SEB0SEwoPTUFWX1RZUEVfQ0FNRVJBEB4SHQoZTUFWX1RZUEVfQ0hBUkdJTkdfU1RBVElPThAfEhIKDk1BVl9UWVBFX0ZMQVJNECASEgoOTUFWX1RZUEVfU0VSVk8QIRIRCg1NQVZfVFlQRV9PRElEECISFgoSTUFWX1RZUEVfREVDQVJPVE9SECMSFAoQTUFWX1RZUEVfQkFUVEVSWRAkEhYKEk1BVl9UWVBFX1BBUkFDSFVURRAlEhAKDE1BVl9UWVBFX0xPRxAmEhAKDE1BVl9UWVBFX09TRBAnEhAKDE1BVl9UWVBFX0lNVRAoEhAKDE1BVl9UWVBFX0dQUxApEhIKDk1BVl9UWVBFX1dJTkNIECoSHwobTUFWX1RZUEVfR0VORVJJQ19NVUxUSVJPVE9SECsSGAoUTUFWX1RZUEVfSUxMVU1JTkFUT1IQLBIfChtNQVZfVFlQRV9TUEFDRUNSQUZUX09SQklURVIQLRIdChlNQVZfVFlQRV9HUk9VTkRfUVVBRFJVUEVEEC4SGgoWTUFWX1RZUEVfVlRPTF9HWVJPRFlORRAvEhQKEE1BVl9UWVBFX0dSSVBQRVIQMBISCg5NQVZfVFlQRV9SQURJTxAxKoMFCgxNYXZBdXRvcGlsb3QSHQoZTUFWX0FVVE9QSUxPVF9VTlNQRUNJRklFRBAAEhoKFk1BVl9BVVRPUElMT1RfUkVTRVJWRUQQARIXChNNQVZfQVVUT1BJTE9UX1NMVUdTEAISHwobTUFWX0FVVE9QSUxPVF9BUkRVUElMT1RNRUdBEAMSGwoXTUFWX0FVVE9QSUxPVF9PUEVOUElMT1QQBBIoCiRNQVZfQVVUT1BJTE9UX0dFTkVSSUNfV0FZUE9JTlRTX09OTFkQBRI+CjpNQVZfQVVUT1BJTE9UX0dFTkVSSUNfV0FZUE9JTlRTX0FORF9TSU1QTEVfTkFWSUdBVElPTl9PTkxZEAYSJgoiTUFWX0FVVE9QSUxPVF9HRU5FUklDX01JU1NJT05fRlVMTBAHEhkKFU1BVl9BVVRPUElMT1RfSU5WQUxJRBAIEhUKEU1BVl9BVVRPUElMT1RfUFBaEAkSFQoRTUFWX0FVVE9QSUxPVF9VREIQChIUChBNQVZfQVVUT1BJTE9UX0ZQEAsSFQoRTUFWX0FVVE9QSUxPVF9QWDQQDBIdChlNQVZfQVVUT1BJTE9UX1NNQUNDTVBJTE9UEA0SGgoWTUFWX0FVVE9QSUxPVF9BVVRPUVVBRBAOEhoKFk1BVl9BVVRPUElMT1RfQVJNQVpJTEEQDxIXChNNQVZfQVVUT1BJTE9UX0FFUk9CEBASGAoUTUFWX0FVVE9QSUxPVF9BU0xVQVYQERIZChVNQVZfQVVUT1BJTE9UX1NNQVJUQVAQEhIaChZNQVZfQVVUT1BJTE9UX0FJUlJBSUxTEBMSGAoUTUFWX0FVVE9QSUxPVF9SRUZMRVgQFCrsAQoITWF2U3RhdGUSGQoVTUFWX1NUQVRFX1VOU1BFQ0lGSUVEEAASEgoOTUFWX1NUQVRFX0JPT1QQARIZChVNQVZfU1RBVEVfQ0FMSUJSQVRJTkcQAhIVChFNQVZfU1RBVEVfU1RBTkRCWRADEhQKEE1BVl9TVEFURV9BQ1RJVkUQBBIWChJNQVZfU1RBVEVfQ1JJVElDQUwQBRIXChNNQVZfU1RBVEVfRU1FUkdFTkNZEAYSFgoSTUFWX1NUQVRFX1BPV0VST0ZGEAcSIAocTUFWX1NUQVRFX0ZMSUdIVF9URVJNSU5BVElPThAIKrECCghNYWluTW9kZRIZChVNQUlOX01PREVfVU5TUEVDSUZJRUQQABIUChBNQUlOX01PREVfTUFOVUFMEAESFAoQTUFJTl9NT0RFX0FMVENUTBACEhQKEE1BSU5fTU9ERV9QT1NDVEwQAxISCg5NQUlOX01PREVfQVVUTxAEEhIKDk1BSU5fTU9ERV9BQ1JPEAUSFgoSTUFJTl9NT0RFX09GRkJPQVJEEAYSGAoUTUFJTl9NT0RFX1NUQUJJTElaRUQQBxIeChpNQUlOX01PREVfUkFUVElUVURFX0xFR0FDWRAIEhQKEE1BSU5fTU9ERV9TSU1QTEUQCRIZChVNQUlOX01PREVfVEVSTUlOQVRJT04QChIdChlNQUlOX01PREVfQUxUSVRVREVfQ1JVSVNFEAsqqQQKB1N1Yk1vZGUSGAoUU1VCX01PREVfVU5TUEVDSUZJRUQQABIXChNTVUJfTU9ERV9BVVRPX1JFQURZEAESGQoVU1VCX01PREVfQVVUT19UQUtFT0ZGEAISGAoUU1VCX01PREVfQVVUT19MT0lURVIQAxIZChVTVUJfTU9ERV9BVVRPX01JU1NJT04QBBIVChFTVUJfTU9ERV9BVVRPX1JUTBAFEhYKElNVQl9NT0RFX0FVVE9fTEFORBAGEh8KG1NVQl9NT0RFX0FVVE9fRk9MTE9XX1RBUkdFVBAHEhoKFlNVQl9NT0RFX0FVVE9fUFJFQ0xBTkQQCBIeChpTVUJfTU9ERV9BVVRPX1ZUT0xfVEFLRU9GRhAJEhoKFlNVQl9NT0RFX1BPU0NUTF9QT1NDVEwQChIZChVTVUJfTU9ERV9QT1NDVExfT1JCSVQQCxIYChRTVUJfTU9ERV9QT1NDVExfU0xPVxAMEhYKElNVQl9NT0RFX0VYVEVSTkFMMRANEhYKElNVQl9NT0RFX0VYVEVSTkFMMhAOEhYKElNVQl9NT0RFX0VYVEVSTkFMMxAPEhYKElNVQl9NT0RFX0VYVEVSTkFMNBAQEhYKElNVQl9NT0RFX0VYVEVSTkFMNRAREhYKElNVQl9NT0RFX0VYVEVSTkFMNhASEhYKElNVQl9NT0RFX0VYVEVSTkFMNxATEhYKElNVQl9NT0RFX0VYVEVSTkFMOBAUMnoKEUNvbm5lY3Rpb25TZXJ2aWNlEmUKElN1YnNjcmliZUhlYXJ0YmVhdBIlLmZsaWdodHBhdGguU3Vic2NyaWJlSGVhcnRiZWF0UmVxdWVzdBomLmZsaWdodHBhdGguU3Vic2NyaWJlSGVhcnRiZWF0UmVzcG9uc2UwAUJDWkFnaXRodWIuY29tL2ZsaWdodHBhdGgtZGV2L2ZsaWdodHBhdGgvZ2VuL2dvL2ZsaWdodHBhdGg7ZmxpZ2h0cGF0aGIGcHJvdG8z");
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @generated from message flightpath.SubscribeHeartbeatRequest
|
|
17
|
+
*/
|
|
18
|
+
export type SubscribeHeartbeatRequest = Message<"flightpath.SubscribeHeartbeatRequest"> & {
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Describes the message flightpath.SubscribeHeartbeatRequest.
|
|
23
|
+
* Use `create(SubscribeHeartbeatRequestSchema)` to create a new message.
|
|
24
|
+
*/
|
|
25
|
+
export const SubscribeHeartbeatRequestSchema: GenMessage<SubscribeHeartbeatRequest> = /*@__PURE__*/
|
|
26
|
+
messageDesc(file_flightpath_connection, 0);
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @generated from message flightpath.SubscribeHeartbeatResponse
|
|
30
|
+
*/
|
|
31
|
+
export type SubscribeHeartbeatResponse = Message<"flightpath.SubscribeHeartbeatResponse"> & {
|
|
32
|
+
/**
|
|
33
|
+
* Timestamp when this heartbeat data was captured (milliseconds since Unix epoch)
|
|
34
|
+
*
|
|
35
|
+
* @generated from field: int64 timestamp_ms = 1;
|
|
36
|
+
*/
|
|
37
|
+
timestampMs: bigint;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* System ID of the component sending the heartbeat
|
|
41
|
+
*
|
|
42
|
+
* @generated from field: uint32 system_id = 2;
|
|
43
|
+
*/
|
|
44
|
+
systemId: number;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Component ID of the component sending the heartbeat
|
|
48
|
+
*
|
|
49
|
+
* @generated from field: uint32 component_id = 3;
|
|
50
|
+
*/
|
|
51
|
+
componentId: number;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Heartbeat message data
|
|
55
|
+
*
|
|
56
|
+
* @generated from field: flightpath.Heartbeat heartbeat = 4;
|
|
57
|
+
*/
|
|
58
|
+
heartbeat?: Heartbeat;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Describes the message flightpath.SubscribeHeartbeatResponse.
|
|
63
|
+
* Use `create(SubscribeHeartbeatResponseSchema)` to create a new message.
|
|
64
|
+
*/
|
|
65
|
+
export const SubscribeHeartbeatResponseSchema: GenMessage<SubscribeHeartbeatResponse> = /*@__PURE__*/
|
|
66
|
+
messageDesc(file_flightpath_connection, 1);
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* @generated from message flightpath.Heartbeat
|
|
70
|
+
*/
|
|
71
|
+
export type Heartbeat = Message<"flightpath.Heartbeat"> & {
|
|
72
|
+
/**
|
|
73
|
+
* Vehicle type
|
|
74
|
+
*
|
|
75
|
+
* @generated from field: flightpath.MavType type = 1;
|
|
76
|
+
*/
|
|
77
|
+
type: MavType;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Autopilot type
|
|
81
|
+
*
|
|
82
|
+
* @generated from field: flightpath.MavAutopilot autopilot = 2;
|
|
83
|
+
*/
|
|
84
|
+
autopilot: MavAutopilot;
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Base mode flags (structured bitfield)
|
|
88
|
+
*
|
|
89
|
+
* @generated from field: flightpath.BaseMode base_mode = 3;
|
|
90
|
+
*/
|
|
91
|
+
baseMode?: BaseMode;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Custom mode (platform-agnostic abstraction based on PX4)
|
|
95
|
+
*
|
|
96
|
+
* @generated from field: flightpath.CustomMode custom_mode = 4;
|
|
97
|
+
*/
|
|
98
|
+
customMode?: CustomMode;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* System status
|
|
102
|
+
*
|
|
103
|
+
* @generated from field: flightpath.MavState system_status = 5;
|
|
104
|
+
*/
|
|
105
|
+
systemStatus: MavState;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* MAVLink protocol version
|
|
109
|
+
*
|
|
110
|
+
* @generated from field: uint32 mavlink_version = 6;
|
|
111
|
+
*/
|
|
112
|
+
mavlinkVersion: number;
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Describes the message flightpath.Heartbeat.
|
|
117
|
+
* Use `create(HeartbeatSchema)` to create a new message.
|
|
118
|
+
*/
|
|
119
|
+
export const HeartbeatSchema: GenMessage<Heartbeat> = /*@__PURE__*/
|
|
120
|
+
messageDesc(file_flightpath_connection, 2);
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* BaseMode represents the MAV_MODE_FLAG bitfield as structured boolean flags.
|
|
124
|
+
* Bits are ordered from least significant (bit 0) to most significant (bit 7),
|
|
125
|
+
* matching https://mavlink.io/en/messages/common.html#MAV_MODE_FLAG.
|
|
126
|
+
*
|
|
127
|
+
* @generated from message flightpath.BaseMode
|
|
128
|
+
*/
|
|
129
|
+
export type BaseMode = Message<"flightpath.BaseMode"> & {
|
|
130
|
+
/**
|
|
131
|
+
* Bit 0 (1): Custom mode is enabled
|
|
132
|
+
*
|
|
133
|
+
* @generated from field: bool custom_mode_enabled = 1;
|
|
134
|
+
*/
|
|
135
|
+
customModeEnabled: boolean;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Bit 1 (2): Test mode enabled
|
|
139
|
+
*
|
|
140
|
+
* @generated from field: bool test_enabled = 2;
|
|
141
|
+
*/
|
|
142
|
+
testEnabled: boolean;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Bit 2 (4): Autonomous mode enabled
|
|
146
|
+
*
|
|
147
|
+
* @generated from field: bool auto_enabled = 3;
|
|
148
|
+
*/
|
|
149
|
+
autoEnabled: boolean;
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Bit 3 (8): Guided mode enabled
|
|
153
|
+
*
|
|
154
|
+
* @generated from field: bool guided_enabled = 4;
|
|
155
|
+
*/
|
|
156
|
+
guidedEnabled: boolean;
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Bit 4 (16): Stabilize mode enabled
|
|
160
|
+
*
|
|
161
|
+
* @generated from field: bool stabilize_enabled = 5;
|
|
162
|
+
*/
|
|
163
|
+
stabilizeEnabled: boolean;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Bit 5 (32): Hardware in the loop simulation enabled
|
|
167
|
+
*
|
|
168
|
+
* @generated from field: bool hil_enabled = 6;
|
|
169
|
+
*/
|
|
170
|
+
hilEnabled: boolean;
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Bit 6 (64): Manual input is enabled
|
|
174
|
+
*
|
|
175
|
+
* @generated from field: bool manual_input_enabled = 7;
|
|
176
|
+
*/
|
|
177
|
+
manualInputEnabled: boolean;
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Bit 7 (128): Safety switch is currently engaged (armed)
|
|
181
|
+
*
|
|
182
|
+
* @generated from field: bool safety_armed = 8;
|
|
183
|
+
*/
|
|
184
|
+
safetyArmed: boolean;
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Describes the message flightpath.BaseMode.
|
|
189
|
+
* Use `create(BaseModeSchema)` to create a new message.
|
|
190
|
+
*/
|
|
191
|
+
export const BaseModeSchema: GenMessage<BaseMode> = /*@__PURE__*/
|
|
192
|
+
messageDesc(file_flightpath_connection, 3);
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* CustomMode represents flight mode as platform-agnostic abstractions
|
|
196
|
+
*
|
|
197
|
+
* @generated from message flightpath.CustomMode
|
|
198
|
+
*/
|
|
199
|
+
export type CustomMode = Message<"flightpath.CustomMode"> & {
|
|
200
|
+
/**
|
|
201
|
+
* Main flight mode
|
|
202
|
+
*
|
|
203
|
+
* @generated from field: flightpath.MainMode main_mode = 1;
|
|
204
|
+
*/
|
|
205
|
+
mainMode: MainMode;
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Sub mode (context-dependent based on main mode)
|
|
209
|
+
*
|
|
210
|
+
* @generated from field: flightpath.SubMode sub_mode = 2;
|
|
211
|
+
*/
|
|
212
|
+
subMode: SubMode;
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Describes the message flightpath.CustomMode.
|
|
217
|
+
* Use `create(CustomModeSchema)` to create a new message.
|
|
218
|
+
*/
|
|
219
|
+
export const CustomModeSchema: GenMessage<CustomMode> = /*@__PURE__*/
|
|
220
|
+
messageDesc(file_flightpath_connection, 4);
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* MavType represents vehicle types from MAVLink MAV_TYPE enum
|
|
224
|
+
*
|
|
225
|
+
* @generated from enum flightpath.MavType
|
|
226
|
+
*/
|
|
227
|
+
export enum MavType {
|
|
228
|
+
/**
|
|
229
|
+
* @generated from enum value: MAV_TYPE_UNSPECIFIED = 0;
|
|
230
|
+
*/
|
|
231
|
+
UNSPECIFIED = 0,
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* @generated from enum value: MAV_TYPE_FIXED_WING = 1;
|
|
235
|
+
*/
|
|
236
|
+
FIXED_WING = 1,
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* @generated from enum value: MAV_TYPE_QUADROTOR = 2;
|
|
240
|
+
*/
|
|
241
|
+
QUADROTOR = 2,
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* @generated from enum value: MAV_TYPE_COAXIAL = 3;
|
|
245
|
+
*/
|
|
246
|
+
COAXIAL = 3,
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* @generated from enum value: MAV_TYPE_HELICOPTER = 4;
|
|
250
|
+
*/
|
|
251
|
+
HELICOPTER = 4,
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* @generated from enum value: MAV_TYPE_ANTENNA_TRACKER = 5;
|
|
255
|
+
*/
|
|
256
|
+
ANTENNA_TRACKER = 5,
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* @generated from enum value: MAV_TYPE_GCS = 6;
|
|
260
|
+
*/
|
|
261
|
+
GCS = 6,
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* @generated from enum value: MAV_TYPE_AIRSHIP = 7;
|
|
265
|
+
*/
|
|
266
|
+
AIRSHIP = 7,
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* @generated from enum value: MAV_TYPE_FREE_BALLOON = 8;
|
|
270
|
+
*/
|
|
271
|
+
FREE_BALLOON = 8,
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* @generated from enum value: MAV_TYPE_ROCKET = 9;
|
|
275
|
+
*/
|
|
276
|
+
ROCKET = 9,
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* @generated from enum value: MAV_TYPE_GROUND_ROVER = 10;
|
|
280
|
+
*/
|
|
281
|
+
GROUND_ROVER = 10,
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* @generated from enum value: MAV_TYPE_SURFACE_BOAT = 11;
|
|
285
|
+
*/
|
|
286
|
+
SURFACE_BOAT = 11,
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* @generated from enum value: MAV_TYPE_SUBMARINE = 12;
|
|
290
|
+
*/
|
|
291
|
+
SUBMARINE = 12,
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* @generated from enum value: MAV_TYPE_HEXAROTOR = 13;
|
|
295
|
+
*/
|
|
296
|
+
HEXAROTOR = 13,
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* @generated from enum value: MAV_TYPE_OCTOROTOR = 14;
|
|
300
|
+
*/
|
|
301
|
+
OCTOROTOR = 14,
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* @generated from enum value: MAV_TYPE_TRICOPTER = 15;
|
|
305
|
+
*/
|
|
306
|
+
TRICOPTER = 15,
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* @generated from enum value: MAV_TYPE_FLAPPING_WING = 16;
|
|
310
|
+
*/
|
|
311
|
+
FLAPPING_WING = 16,
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* @generated from enum value: MAV_TYPE_KITE = 17;
|
|
315
|
+
*/
|
|
316
|
+
KITE = 17,
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* @generated from enum value: MAV_TYPE_ONBOARD_CONTROLLER = 18;
|
|
320
|
+
*/
|
|
321
|
+
ONBOARD_CONTROLLER = 18,
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* @generated from enum value: MAV_TYPE_VTOL_TAILSITTER_DUOROTOR = 19;
|
|
325
|
+
*/
|
|
326
|
+
VTOL_TAILSITTER_DUOROTOR = 19,
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* @generated from enum value: MAV_TYPE_VTOL_TAILSITTER_QUADROTOR = 20;
|
|
330
|
+
*/
|
|
331
|
+
VTOL_TAILSITTER_QUADROTOR = 20,
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* @generated from enum value: MAV_TYPE_VTOL_TILTROTOR = 21;
|
|
335
|
+
*/
|
|
336
|
+
VTOL_TILTROTOR = 21,
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* @generated from enum value: MAV_TYPE_VTOL_FIXEDROTOR = 22;
|
|
340
|
+
*/
|
|
341
|
+
VTOL_FIXEDROTOR = 22,
|
|
342
|
+
|
|
343
|
+
/**
|
|
344
|
+
* @generated from enum value: MAV_TYPE_VTOL_TAILSITTER = 23;
|
|
345
|
+
*/
|
|
346
|
+
VTOL_TAILSITTER = 23,
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* @generated from enum value: MAV_TYPE_VTOL_TILTWING = 24;
|
|
350
|
+
*/
|
|
351
|
+
VTOL_TILTWING = 24,
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* @generated from enum value: MAV_TYPE_VTOL_RESERVED5 = 25;
|
|
355
|
+
*/
|
|
356
|
+
VTOL_RESERVED5 = 25,
|
|
357
|
+
|
|
358
|
+
/**
|
|
359
|
+
* @generated from enum value: MAV_TYPE_GIMBAL = 26;
|
|
360
|
+
*/
|
|
361
|
+
GIMBAL = 26,
|
|
362
|
+
|
|
363
|
+
/**
|
|
364
|
+
* @generated from enum value: MAV_TYPE_ADSB = 27;
|
|
365
|
+
*/
|
|
366
|
+
ADSB = 27,
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* @generated from enum value: MAV_TYPE_PARAFOIL = 28;
|
|
370
|
+
*/
|
|
371
|
+
PARAFOIL = 28,
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
* @generated from enum value: MAV_TYPE_DODECAROTOR = 29;
|
|
375
|
+
*/
|
|
376
|
+
DODECAROTOR = 29,
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* @generated from enum value: MAV_TYPE_CAMERA = 30;
|
|
380
|
+
*/
|
|
381
|
+
CAMERA = 30,
|
|
382
|
+
|
|
383
|
+
/**
|
|
384
|
+
* @generated from enum value: MAV_TYPE_CHARGING_STATION = 31;
|
|
385
|
+
*/
|
|
386
|
+
CHARGING_STATION = 31,
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* @generated from enum value: MAV_TYPE_FLARM = 32;
|
|
390
|
+
*/
|
|
391
|
+
FLARM = 32,
|
|
392
|
+
|
|
393
|
+
/**
|
|
394
|
+
* @generated from enum value: MAV_TYPE_SERVO = 33;
|
|
395
|
+
*/
|
|
396
|
+
SERVO = 33,
|
|
397
|
+
|
|
398
|
+
/**
|
|
399
|
+
* @generated from enum value: MAV_TYPE_ODID = 34;
|
|
400
|
+
*/
|
|
401
|
+
ODID = 34,
|
|
402
|
+
|
|
403
|
+
/**
|
|
404
|
+
* @generated from enum value: MAV_TYPE_DECAROTOR = 35;
|
|
405
|
+
*/
|
|
406
|
+
DECAROTOR = 35,
|
|
407
|
+
|
|
408
|
+
/**
|
|
409
|
+
* @generated from enum value: MAV_TYPE_BATTERY = 36;
|
|
410
|
+
*/
|
|
411
|
+
BATTERY = 36,
|
|
412
|
+
|
|
413
|
+
/**
|
|
414
|
+
* @generated from enum value: MAV_TYPE_PARACHUTE = 37;
|
|
415
|
+
*/
|
|
416
|
+
PARACHUTE = 37,
|
|
417
|
+
|
|
418
|
+
/**
|
|
419
|
+
* @generated from enum value: MAV_TYPE_LOG = 38;
|
|
420
|
+
*/
|
|
421
|
+
LOG = 38,
|
|
422
|
+
|
|
423
|
+
/**
|
|
424
|
+
* @generated from enum value: MAV_TYPE_OSD = 39;
|
|
425
|
+
*/
|
|
426
|
+
OSD = 39,
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* @generated from enum value: MAV_TYPE_IMU = 40;
|
|
430
|
+
*/
|
|
431
|
+
IMU = 40,
|
|
432
|
+
|
|
433
|
+
/**
|
|
434
|
+
* @generated from enum value: MAV_TYPE_GPS = 41;
|
|
435
|
+
*/
|
|
436
|
+
GPS = 41,
|
|
437
|
+
|
|
438
|
+
/**
|
|
439
|
+
* @generated from enum value: MAV_TYPE_WINCH = 42;
|
|
440
|
+
*/
|
|
441
|
+
WINCH = 42,
|
|
442
|
+
|
|
443
|
+
/**
|
|
444
|
+
* @generated from enum value: MAV_TYPE_GENERIC_MULTIROTOR = 43;
|
|
445
|
+
*/
|
|
446
|
+
GENERIC_MULTIROTOR = 43,
|
|
447
|
+
|
|
448
|
+
/**
|
|
449
|
+
* @generated from enum value: MAV_TYPE_ILLUMINATOR = 44;
|
|
450
|
+
*/
|
|
451
|
+
ILLUMINATOR = 44,
|
|
452
|
+
|
|
453
|
+
/**
|
|
454
|
+
* @generated from enum value: MAV_TYPE_SPACECRAFT_ORBITER = 45;
|
|
455
|
+
*/
|
|
456
|
+
SPACECRAFT_ORBITER = 45,
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* @generated from enum value: MAV_TYPE_GROUND_QUADRUPED = 46;
|
|
460
|
+
*/
|
|
461
|
+
GROUND_QUADRUPED = 46,
|
|
462
|
+
|
|
463
|
+
/**
|
|
464
|
+
* @generated from enum value: MAV_TYPE_VTOL_GYRODYNE = 47;
|
|
465
|
+
*/
|
|
466
|
+
VTOL_GYRODYNE = 47,
|
|
467
|
+
|
|
468
|
+
/**
|
|
469
|
+
* @generated from enum value: MAV_TYPE_GRIPPER = 48;
|
|
470
|
+
*/
|
|
471
|
+
GRIPPER = 48,
|
|
472
|
+
|
|
473
|
+
/**
|
|
474
|
+
* @generated from enum value: MAV_TYPE_RADIO = 49;
|
|
475
|
+
*/
|
|
476
|
+
RADIO = 49,
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
/**
|
|
480
|
+
* Describes the enum flightpath.MavType.
|
|
481
|
+
*/
|
|
482
|
+
export const MavTypeSchema: GenEnum<MavType> = /*@__PURE__*/
|
|
483
|
+
enumDesc(file_flightpath_connection, 0);
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* MavAutopilot represents autopilot types from MAVLink MAV_AUTOPILOT enum
|
|
487
|
+
*
|
|
488
|
+
* @generated from enum flightpath.MavAutopilot
|
|
489
|
+
*/
|
|
490
|
+
export enum MavAutopilot {
|
|
491
|
+
/**
|
|
492
|
+
* @generated from enum value: MAV_AUTOPILOT_UNSPECIFIED = 0;
|
|
493
|
+
*/
|
|
494
|
+
UNSPECIFIED = 0,
|
|
495
|
+
|
|
496
|
+
/**
|
|
497
|
+
* @generated from enum value: MAV_AUTOPILOT_RESERVED = 1;
|
|
498
|
+
*/
|
|
499
|
+
RESERVED = 1,
|
|
500
|
+
|
|
501
|
+
/**
|
|
502
|
+
* @generated from enum value: MAV_AUTOPILOT_SLUGS = 2;
|
|
503
|
+
*/
|
|
504
|
+
SLUGS = 2,
|
|
505
|
+
|
|
506
|
+
/**
|
|
507
|
+
* @generated from enum value: MAV_AUTOPILOT_ARDUPILOTMEGA = 3;
|
|
508
|
+
*/
|
|
509
|
+
ARDUPILOTMEGA = 3,
|
|
510
|
+
|
|
511
|
+
/**
|
|
512
|
+
* @generated from enum value: MAV_AUTOPILOT_OPENPILOT = 4;
|
|
513
|
+
*/
|
|
514
|
+
OPENPILOT = 4,
|
|
515
|
+
|
|
516
|
+
/**
|
|
517
|
+
* @generated from enum value: MAV_AUTOPILOT_GENERIC_WAYPOINTS_ONLY = 5;
|
|
518
|
+
*/
|
|
519
|
+
GENERIC_WAYPOINTS_ONLY = 5,
|
|
520
|
+
|
|
521
|
+
/**
|
|
522
|
+
* @generated from enum value: MAV_AUTOPILOT_GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY = 6;
|
|
523
|
+
*/
|
|
524
|
+
GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY = 6,
|
|
525
|
+
|
|
526
|
+
/**
|
|
527
|
+
* @generated from enum value: MAV_AUTOPILOT_GENERIC_MISSION_FULL = 7;
|
|
528
|
+
*/
|
|
529
|
+
GENERIC_MISSION_FULL = 7,
|
|
530
|
+
|
|
531
|
+
/**
|
|
532
|
+
* @generated from enum value: MAV_AUTOPILOT_INVALID = 8;
|
|
533
|
+
*/
|
|
534
|
+
INVALID = 8,
|
|
535
|
+
|
|
536
|
+
/**
|
|
537
|
+
* @generated from enum value: MAV_AUTOPILOT_PPZ = 9;
|
|
538
|
+
*/
|
|
539
|
+
PPZ = 9,
|
|
540
|
+
|
|
541
|
+
/**
|
|
542
|
+
* @generated from enum value: MAV_AUTOPILOT_UDB = 10;
|
|
543
|
+
*/
|
|
544
|
+
UDB = 10,
|
|
545
|
+
|
|
546
|
+
/**
|
|
547
|
+
* @generated from enum value: MAV_AUTOPILOT_FP = 11;
|
|
548
|
+
*/
|
|
549
|
+
FP = 11,
|
|
550
|
+
|
|
551
|
+
/**
|
|
552
|
+
* @generated from enum value: MAV_AUTOPILOT_PX4 = 12;
|
|
553
|
+
*/
|
|
554
|
+
PX4 = 12,
|
|
555
|
+
|
|
556
|
+
/**
|
|
557
|
+
* @generated from enum value: MAV_AUTOPILOT_SMACCMPILOT = 13;
|
|
558
|
+
*/
|
|
559
|
+
SMACCMPILOT = 13,
|
|
560
|
+
|
|
561
|
+
/**
|
|
562
|
+
* @generated from enum value: MAV_AUTOPILOT_AUTOQUAD = 14;
|
|
563
|
+
*/
|
|
564
|
+
AUTOQUAD = 14,
|
|
565
|
+
|
|
566
|
+
/**
|
|
567
|
+
* @generated from enum value: MAV_AUTOPILOT_ARMAZILA = 15;
|
|
568
|
+
*/
|
|
569
|
+
ARMAZILA = 15,
|
|
570
|
+
|
|
571
|
+
/**
|
|
572
|
+
* @generated from enum value: MAV_AUTOPILOT_AEROB = 16;
|
|
573
|
+
*/
|
|
574
|
+
AEROB = 16,
|
|
575
|
+
|
|
576
|
+
/**
|
|
577
|
+
* @generated from enum value: MAV_AUTOPILOT_ASLUAV = 17;
|
|
578
|
+
*/
|
|
579
|
+
ASLUAV = 17,
|
|
580
|
+
|
|
581
|
+
/**
|
|
582
|
+
* @generated from enum value: MAV_AUTOPILOT_SMARTAP = 18;
|
|
583
|
+
*/
|
|
584
|
+
SMARTAP = 18,
|
|
585
|
+
|
|
586
|
+
/**
|
|
587
|
+
* @generated from enum value: MAV_AUTOPILOT_AIRRAILS = 19;
|
|
588
|
+
*/
|
|
589
|
+
AIRRAILS = 19,
|
|
590
|
+
|
|
591
|
+
/**
|
|
592
|
+
* @generated from enum value: MAV_AUTOPILOT_REFLEX = 20;
|
|
593
|
+
*/
|
|
594
|
+
REFLEX = 20,
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
/**
|
|
598
|
+
* Describes the enum flightpath.MavAutopilot.
|
|
599
|
+
*/
|
|
600
|
+
export const MavAutopilotSchema: GenEnum<MavAutopilot> = /*@__PURE__*/
|
|
601
|
+
enumDesc(file_flightpath_connection, 1);
|
|
602
|
+
|
|
603
|
+
/**
|
|
604
|
+
* MavState represents system states from MAVLink MAV_STATE enum
|
|
605
|
+
*
|
|
606
|
+
* @generated from enum flightpath.MavState
|
|
607
|
+
*/
|
|
608
|
+
export enum MavState {
|
|
609
|
+
/**
|
|
610
|
+
* @generated from enum value: MAV_STATE_UNSPECIFIED = 0;
|
|
611
|
+
*/
|
|
612
|
+
UNSPECIFIED = 0,
|
|
613
|
+
|
|
614
|
+
/**
|
|
615
|
+
* @generated from enum value: MAV_STATE_BOOT = 1;
|
|
616
|
+
*/
|
|
617
|
+
BOOT = 1,
|
|
618
|
+
|
|
619
|
+
/**
|
|
620
|
+
* @generated from enum value: MAV_STATE_CALIBRATING = 2;
|
|
621
|
+
*/
|
|
622
|
+
CALIBRATING = 2,
|
|
623
|
+
|
|
624
|
+
/**
|
|
625
|
+
* @generated from enum value: MAV_STATE_STANDBY = 3;
|
|
626
|
+
*/
|
|
627
|
+
STANDBY = 3,
|
|
628
|
+
|
|
629
|
+
/**
|
|
630
|
+
* @generated from enum value: MAV_STATE_ACTIVE = 4;
|
|
631
|
+
*/
|
|
632
|
+
ACTIVE = 4,
|
|
633
|
+
|
|
634
|
+
/**
|
|
635
|
+
* @generated from enum value: MAV_STATE_CRITICAL = 5;
|
|
636
|
+
*/
|
|
637
|
+
CRITICAL = 5,
|
|
638
|
+
|
|
639
|
+
/**
|
|
640
|
+
* @generated from enum value: MAV_STATE_EMERGENCY = 6;
|
|
641
|
+
*/
|
|
642
|
+
EMERGENCY = 6,
|
|
643
|
+
|
|
644
|
+
/**
|
|
645
|
+
* @generated from enum value: MAV_STATE_POWEROFF = 7;
|
|
646
|
+
*/
|
|
647
|
+
POWEROFF = 7,
|
|
648
|
+
|
|
649
|
+
/**
|
|
650
|
+
* @generated from enum value: MAV_STATE_FLIGHT_TERMINATION = 8;
|
|
651
|
+
*/
|
|
652
|
+
FLIGHT_TERMINATION = 8,
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
/**
|
|
656
|
+
* Describes the enum flightpath.MavState.
|
|
657
|
+
*/
|
|
658
|
+
export const MavStateSchema: GenEnum<MavState> = /*@__PURE__*/
|
|
659
|
+
enumDesc(file_flightpath_connection, 2);
|
|
660
|
+
|
|
661
|
+
/**
|
|
662
|
+
* MainMode represents main flight modes (platform-agnostic abstraction based on PX4)
|
|
663
|
+
*
|
|
664
|
+
* @generated from enum flightpath.MainMode
|
|
665
|
+
*/
|
|
666
|
+
export enum MainMode {
|
|
667
|
+
/**
|
|
668
|
+
* @generated from enum value: MAIN_MODE_UNSPECIFIED = 0;
|
|
669
|
+
*/
|
|
670
|
+
UNSPECIFIED = 0,
|
|
671
|
+
|
|
672
|
+
/**
|
|
673
|
+
* @generated from enum value: MAIN_MODE_MANUAL = 1;
|
|
674
|
+
*/
|
|
675
|
+
MANUAL = 1,
|
|
676
|
+
|
|
677
|
+
/**
|
|
678
|
+
* @generated from enum value: MAIN_MODE_ALTCTL = 2;
|
|
679
|
+
*/
|
|
680
|
+
ALTCTL = 2,
|
|
681
|
+
|
|
682
|
+
/**
|
|
683
|
+
* @generated from enum value: MAIN_MODE_POSCTL = 3;
|
|
684
|
+
*/
|
|
685
|
+
POSCTL = 3,
|
|
686
|
+
|
|
687
|
+
/**
|
|
688
|
+
* @generated from enum value: MAIN_MODE_AUTO = 4;
|
|
689
|
+
*/
|
|
690
|
+
AUTO = 4,
|
|
691
|
+
|
|
692
|
+
/**
|
|
693
|
+
* @generated from enum value: MAIN_MODE_ACRO = 5;
|
|
694
|
+
*/
|
|
695
|
+
ACRO = 5,
|
|
696
|
+
|
|
697
|
+
/**
|
|
698
|
+
* @generated from enum value: MAIN_MODE_OFFBOARD = 6;
|
|
699
|
+
*/
|
|
700
|
+
OFFBOARD = 6,
|
|
701
|
+
|
|
702
|
+
/**
|
|
703
|
+
* @generated from enum value: MAIN_MODE_STABILIZED = 7;
|
|
704
|
+
*/
|
|
705
|
+
STABILIZED = 7,
|
|
706
|
+
|
|
707
|
+
/**
|
|
708
|
+
* @generated from enum value: MAIN_MODE_RATTITUDE_LEGACY = 8;
|
|
709
|
+
*/
|
|
710
|
+
RATTITUDE_LEGACY = 8,
|
|
711
|
+
|
|
712
|
+
/**
|
|
713
|
+
* @generated from enum value: MAIN_MODE_SIMPLE = 9;
|
|
714
|
+
*/
|
|
715
|
+
SIMPLE = 9,
|
|
716
|
+
|
|
717
|
+
/**
|
|
718
|
+
* @generated from enum value: MAIN_MODE_TERMINATION = 10;
|
|
719
|
+
*/
|
|
720
|
+
TERMINATION = 10,
|
|
721
|
+
|
|
722
|
+
/**
|
|
723
|
+
* @generated from enum value: MAIN_MODE_ALTITUDE_CRUISE = 11;
|
|
724
|
+
*/
|
|
725
|
+
ALTITUDE_CRUISE = 11,
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
/**
|
|
729
|
+
* Describes the enum flightpath.MainMode.
|
|
730
|
+
*/
|
|
731
|
+
export const MainModeSchema: GenEnum<MainMode> = /*@__PURE__*/
|
|
732
|
+
enumDesc(file_flightpath_connection, 3);
|
|
733
|
+
|
|
734
|
+
/**
|
|
735
|
+
* SubMode represents sub flight modes (platform-agnostic abstraction based on PX4)
|
|
736
|
+
*
|
|
737
|
+
* @generated from enum flightpath.SubMode
|
|
738
|
+
*/
|
|
739
|
+
export enum SubMode {
|
|
740
|
+
/**
|
|
741
|
+
* @generated from enum value: SUB_MODE_UNSPECIFIED = 0;
|
|
742
|
+
*/
|
|
743
|
+
UNSPECIFIED = 0,
|
|
744
|
+
|
|
745
|
+
/**
|
|
746
|
+
* AUTO mode sub-modes
|
|
747
|
+
*
|
|
748
|
+
* @generated from enum value: SUB_MODE_AUTO_READY = 1;
|
|
749
|
+
*/
|
|
750
|
+
AUTO_READY = 1,
|
|
751
|
+
|
|
752
|
+
/**
|
|
753
|
+
* @generated from enum value: SUB_MODE_AUTO_TAKEOFF = 2;
|
|
754
|
+
*/
|
|
755
|
+
AUTO_TAKEOFF = 2,
|
|
756
|
+
|
|
757
|
+
/**
|
|
758
|
+
* @generated from enum value: SUB_MODE_AUTO_LOITER = 3;
|
|
759
|
+
*/
|
|
760
|
+
AUTO_LOITER = 3,
|
|
761
|
+
|
|
762
|
+
/**
|
|
763
|
+
* @generated from enum value: SUB_MODE_AUTO_MISSION = 4;
|
|
764
|
+
*/
|
|
765
|
+
AUTO_MISSION = 4,
|
|
766
|
+
|
|
767
|
+
/**
|
|
768
|
+
* @generated from enum value: SUB_MODE_AUTO_RTL = 5;
|
|
769
|
+
*/
|
|
770
|
+
AUTO_RTL = 5,
|
|
771
|
+
|
|
772
|
+
/**
|
|
773
|
+
* @generated from enum value: SUB_MODE_AUTO_LAND = 6;
|
|
774
|
+
*/
|
|
775
|
+
AUTO_LAND = 6,
|
|
776
|
+
|
|
777
|
+
/**
|
|
778
|
+
* @generated from enum value: SUB_MODE_AUTO_FOLLOW_TARGET = 7;
|
|
779
|
+
*/
|
|
780
|
+
AUTO_FOLLOW_TARGET = 7,
|
|
781
|
+
|
|
782
|
+
/**
|
|
783
|
+
* @generated from enum value: SUB_MODE_AUTO_PRECLAND = 8;
|
|
784
|
+
*/
|
|
785
|
+
AUTO_PRECLAND = 8,
|
|
786
|
+
|
|
787
|
+
/**
|
|
788
|
+
* @generated from enum value: SUB_MODE_AUTO_VTOL_TAKEOFF = 9;
|
|
789
|
+
*/
|
|
790
|
+
AUTO_VTOL_TAKEOFF = 9,
|
|
791
|
+
|
|
792
|
+
/**
|
|
793
|
+
* POSCTL mode sub-modes
|
|
794
|
+
*
|
|
795
|
+
* @generated from enum value: SUB_MODE_POSCTL_POSCTL = 10;
|
|
796
|
+
*/
|
|
797
|
+
POSCTL_POSCTL = 10,
|
|
798
|
+
|
|
799
|
+
/**
|
|
800
|
+
* @generated from enum value: SUB_MODE_POSCTL_ORBIT = 11;
|
|
801
|
+
*/
|
|
802
|
+
POSCTL_ORBIT = 11,
|
|
803
|
+
|
|
804
|
+
/**
|
|
805
|
+
* @generated from enum value: SUB_MODE_POSCTL_SLOW = 12;
|
|
806
|
+
*/
|
|
807
|
+
POSCTL_SLOW = 12,
|
|
808
|
+
|
|
809
|
+
/**
|
|
810
|
+
* External sub-modes
|
|
811
|
+
*
|
|
812
|
+
* @generated from enum value: SUB_MODE_EXTERNAL1 = 13;
|
|
813
|
+
*/
|
|
814
|
+
EXTERNAL1 = 13,
|
|
815
|
+
|
|
816
|
+
/**
|
|
817
|
+
* @generated from enum value: SUB_MODE_EXTERNAL2 = 14;
|
|
818
|
+
*/
|
|
819
|
+
EXTERNAL2 = 14,
|
|
820
|
+
|
|
821
|
+
/**
|
|
822
|
+
* @generated from enum value: SUB_MODE_EXTERNAL3 = 15;
|
|
823
|
+
*/
|
|
824
|
+
EXTERNAL3 = 15,
|
|
825
|
+
|
|
826
|
+
/**
|
|
827
|
+
* @generated from enum value: SUB_MODE_EXTERNAL4 = 16;
|
|
828
|
+
*/
|
|
829
|
+
EXTERNAL4 = 16,
|
|
830
|
+
|
|
831
|
+
/**
|
|
832
|
+
* @generated from enum value: SUB_MODE_EXTERNAL5 = 17;
|
|
833
|
+
*/
|
|
834
|
+
EXTERNAL5 = 17,
|
|
835
|
+
|
|
836
|
+
/**
|
|
837
|
+
* @generated from enum value: SUB_MODE_EXTERNAL6 = 18;
|
|
838
|
+
*/
|
|
839
|
+
EXTERNAL6 = 18,
|
|
840
|
+
|
|
841
|
+
/**
|
|
842
|
+
* @generated from enum value: SUB_MODE_EXTERNAL7 = 19;
|
|
843
|
+
*/
|
|
844
|
+
EXTERNAL7 = 19,
|
|
845
|
+
|
|
846
|
+
/**
|
|
847
|
+
* @generated from enum value: SUB_MODE_EXTERNAL8 = 20;
|
|
848
|
+
*/
|
|
849
|
+
EXTERNAL8 = 20,
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
/**
|
|
853
|
+
* Describes the enum flightpath.SubMode.
|
|
854
|
+
*/
|
|
855
|
+
export const SubModeSchema: GenEnum<SubMode> = /*@__PURE__*/
|
|
856
|
+
enumDesc(file_flightpath_connection, 4);
|
|
857
|
+
|
|
858
|
+
/**
|
|
859
|
+
* Handle drone connection
|
|
860
|
+
*
|
|
861
|
+
* @generated from service flightpath.ConnectionService
|
|
862
|
+
*/
|
|
863
|
+
export const ConnectionService: GenService<{
|
|
864
|
+
/**
|
|
865
|
+
* Subscribe to HEARTBEAT messages from the drone
|
|
866
|
+
*
|
|
867
|
+
* @generated from rpc flightpath.ConnectionService.SubscribeHeartbeat
|
|
868
|
+
*/
|
|
869
|
+
subscribeHeartbeat: {
|
|
870
|
+
methodKind: "server_streaming";
|
|
871
|
+
input: typeof SubscribeHeartbeatRequestSchema;
|
|
872
|
+
output: typeof SubscribeHeartbeatResponseSchema;
|
|
873
|
+
},
|
|
874
|
+
}> = /*@__PURE__*/
|
|
875
|
+
serviceDesc(file_flightpath_connection, 0);
|
|
876
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// @generated by protoc-gen-connect-es v1.3.0 with parameter "target=ts"
|
|
2
|
+
// @generated from file flightpath/telemetry.proto (package flightpath, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
// @ts-nocheck
|
|
5
|
+
|
|
6
|
+
import { SubscribeRawGpsRequest, SubscribeRawGpsResponse } from "./telemetry_pb.js";
|
|
7
|
+
import { MethodKind } from "@bufbuild/protobuf";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Real-time telemetry data (position, attitude, sensors, status)
|
|
11
|
+
*
|
|
12
|
+
* @generated from service flightpath.TelemetryService
|
|
13
|
+
*/
|
|
14
|
+
export const TelemetryService = {
|
|
15
|
+
typeName: "flightpath.TelemetryService",
|
|
16
|
+
methods: {
|
|
17
|
+
/**
|
|
18
|
+
* Subscribe to GPS_RAW_INT messages from the drone
|
|
19
|
+
*
|
|
20
|
+
* @generated from rpc flightpath.TelemetryService.SubscribeRawGps
|
|
21
|
+
*/
|
|
22
|
+
subscribeRawGps: {
|
|
23
|
+
name: "SubscribeRawGps",
|
|
24
|
+
I: SubscribeRawGpsRequest,
|
|
25
|
+
O: SubscribeRawGpsResponse,
|
|
26
|
+
kind: MethodKind.ServerStreaming,
|
|
27
|
+
},
|
|
28
|
+
}
|
|
29
|
+
} as const;
|
|
30
|
+
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.10.1 with parameter "target=ts,import_extension=.js"
|
|
2
|
+
// @generated from file flightpath/telemetry.proto (package flightpath, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
|
|
7
|
+
import type { Message } from "@bufbuild/protobuf";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Describes the file flightpath/telemetry.proto.
|
|
11
|
+
*/
|
|
12
|
+
export const file_flightpath_telemetry: GenFile = /*@__PURE__*/
|
|
13
|
+
fileDesc("ChpmbGlnaHRwYXRoL3RlbGVtZXRyeS5wcm90bxIKZmxpZ2h0cGF0aCIYChZTdWJzY3JpYmVSYXdHcHNSZXF1ZXN0IoQBChdTdWJzY3JpYmVSYXdHcHNSZXNwb25zZRIUCgx0aW1lc3RhbXBfbXMYASABKAMSEQoJc3lzdGVtX2lkGAIgASgNEhQKDGNvbXBvbmVudF9pZBgDIAEoDRIqCgtncHNfcmF3X2ludBgEIAEoCzIVLmZsaWdodHBhdGguR3BzUmF3SW50IqMCCglHcHNSYXdJbnQSEQoJdGltZV91c2VjGAEgASgEEigKCGZpeF90eXBlGAIgASgOMhYuZmxpZ2h0cGF0aC5HcHNGaXhUeXBlEgsKA2xhdBgDIAEoBRILCgNsb24YBCABKAUSCwoDYWx0GAUgASgFEgsKA2VwaBgGIAEoDRILCgNlcHYYByABKA0SCwoDdmVsGAggASgNEgsKA2NvZxgJIAEoDRIaChJzYXRlbGxpdGVzX3Zpc2libGUYCiABKA0SFQoNYWx0X2VsbGlwc29pZBgLIAEoBRINCgVoX2FjYxgMIAEoDRINCgV2X2FjYxgNIAEoDRIPCgd2ZWxfYWNjGA4gASgNEg8KB2hkZ19hY2MYDyABKA0SCwoDeWF3GBAgASgNKowCCgpHcHNGaXhUeXBlEhwKGEdQU19GSVhfVFlQRV9VTlNQRUNJRklFRBAAEhcKE0dQU19GSVhfVFlQRV9OT19HUFMQARIXChNHUFNfRklYX1RZUEVfTk9fRklYEAISFwoTR1BTX0ZJWF9UWVBFXzJEX0ZJWBADEhcKE0dQU19GSVhfVFlQRV8zRF9GSVgQBBIVChFHUFNfRklYX1RZUEVfREdQUxAFEhoKFkdQU19GSVhfVFlQRV9SVEtfRkxPQVQQBhIaChZHUFNfRklYX1RZUEVfUlRLX0ZJWEVEEAcSFwoTR1BTX0ZJWF9UWVBFX1NUQVRJQxAIEhQKEEdQU19GSVhfVFlQRV9QUFAQCTJwChBUZWxlbWV0cnlTZXJ2aWNlElwKD1N1YnNjcmliZVJhd0dwcxIiLmZsaWdodHBhdGguU3Vic2NyaWJlUmF3R3BzUmVxdWVzdBojLmZsaWdodHBhdGguU3Vic2NyaWJlUmF3R3BzUmVzcG9uc2UwAUJDWkFnaXRodWIuY29tL2ZsaWdodHBhdGgtZGV2L2ZsaWdodHBhdGgvZ2VuL2dvL2ZsaWdodHBhdGg7ZmxpZ2h0cGF0aGIGcHJvdG8z");
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* SubscribeRawGpsRequest is the request message for SubscribeRawGps
|
|
17
|
+
*
|
|
18
|
+
* @generated from message flightpath.SubscribeRawGpsRequest
|
|
19
|
+
*/
|
|
20
|
+
export type SubscribeRawGpsRequest = Message<"flightpath.SubscribeRawGpsRequest"> & {
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Describes the message flightpath.SubscribeRawGpsRequest.
|
|
25
|
+
* Use `create(SubscribeRawGpsRequestSchema)` to create a new message.
|
|
26
|
+
*/
|
|
27
|
+
export const SubscribeRawGpsRequestSchema: GenMessage<SubscribeRawGpsRequest> = /*@__PURE__*/
|
|
28
|
+
messageDesc(file_flightpath_telemetry, 0);
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* SubscribeRawGpsResponse contains GPS_RAW_INT message data
|
|
32
|
+
*
|
|
33
|
+
* @generated from message flightpath.SubscribeRawGpsResponse
|
|
34
|
+
*/
|
|
35
|
+
export type SubscribeRawGpsResponse = Message<"flightpath.SubscribeRawGpsResponse"> & {
|
|
36
|
+
/**
|
|
37
|
+
* Timestamp when this GPS data was captured (milliseconds since Unix epoch)
|
|
38
|
+
*
|
|
39
|
+
* @generated from field: int64 timestamp_ms = 1;
|
|
40
|
+
*/
|
|
41
|
+
timestampMs: bigint;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* System ID of the component sending the GPS data
|
|
45
|
+
*
|
|
46
|
+
* @generated from field: uint32 system_id = 2;
|
|
47
|
+
*/
|
|
48
|
+
systemId: number;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Component ID of the component sending the GPS data
|
|
52
|
+
*
|
|
53
|
+
* @generated from field: uint32 component_id = 3;
|
|
54
|
+
*/
|
|
55
|
+
componentId: number;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* GPS_RAW_INT message data
|
|
59
|
+
*
|
|
60
|
+
* @generated from field: flightpath.GpsRawInt gps_raw_int = 4;
|
|
61
|
+
*/
|
|
62
|
+
gpsRawInt?: GpsRawInt;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Describes the message flightpath.SubscribeRawGpsResponse.
|
|
67
|
+
* Use `create(SubscribeRawGpsResponseSchema)` to create a new message.
|
|
68
|
+
*/
|
|
69
|
+
export const SubscribeRawGpsResponseSchema: GenMessage<SubscribeRawGpsResponse> = /*@__PURE__*/
|
|
70
|
+
messageDesc(file_flightpath_telemetry, 1);
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* GpsRawInt represents the GPS_RAW_INT MAVLink message
|
|
74
|
+
* The global position, as returned by the Global Positioning System (GPS).
|
|
75
|
+
* This is NOT the global position estimate of the system, but rather a RAW sensor value.
|
|
76
|
+
*
|
|
77
|
+
* @generated from message flightpath.GpsRawInt
|
|
78
|
+
*/
|
|
79
|
+
export type GpsRawInt = Message<"flightpath.GpsRawInt"> & {
|
|
80
|
+
/**
|
|
81
|
+
* Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
|
|
82
|
+
*
|
|
83
|
+
* @generated from field: uint64 time_usec = 1;
|
|
84
|
+
*/
|
|
85
|
+
timeUsec: bigint;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* GPS fix type
|
|
89
|
+
*
|
|
90
|
+
* @generated from field: flightpath.GpsFixType fix_type = 2;
|
|
91
|
+
*/
|
|
92
|
+
fixType: GpsFixType;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Latitude (WGS84, EGM96 ellipsoid) in degrees * 1E7
|
|
96
|
+
*
|
|
97
|
+
* @generated from field: int32 lat = 3;
|
|
98
|
+
*/
|
|
99
|
+
lat: number;
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Longitude (WGS84, EGM96 ellipsoid) in degrees * 1E7
|
|
103
|
+
*
|
|
104
|
+
* @generated from field: int32 lon = 4;
|
|
105
|
+
*/
|
|
106
|
+
lon: number;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Altitude (MSL). Positive for up. Note that virtually all GPS modules provide the MSL altitude in addition to the WGS84 altitude. (mm)
|
|
110
|
+
*
|
|
111
|
+
* @generated from field: int32 alt = 5;
|
|
112
|
+
*/
|
|
113
|
+
alt: number;
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* GPS HDOP horizontal dilution of position (unitless * 100). If unknown, set to: UINT16_MAX
|
|
117
|
+
*
|
|
118
|
+
* @generated from field: uint32 eph = 6;
|
|
119
|
+
*/
|
|
120
|
+
eph: number;
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* GPS VDOP vertical dilution of position (unitless * 100). If unknown, set to: UINT16_MAX
|
|
124
|
+
*
|
|
125
|
+
* @generated from field: uint32 epv = 7;
|
|
126
|
+
*/
|
|
127
|
+
epv: number;
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* GPS ground speed (cm/s). If unknown, set to: UINT16_MAX
|
|
131
|
+
*
|
|
132
|
+
* @generated from field: uint32 vel = 8;
|
|
133
|
+
*/
|
|
134
|
+
vel: number;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Course over ground (NOT heading, but direction of movement) in degrees * 100, 0.0..359.99 degrees. If unknown, set to: UINT16_MAX
|
|
138
|
+
*
|
|
139
|
+
* @generated from field: uint32 cog = 9;
|
|
140
|
+
*/
|
|
141
|
+
cog: number;
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Number of satellites visible. If unknown, set to UINT8_MAX
|
|
145
|
+
*
|
|
146
|
+
* @generated from field: uint32 satellites_visible = 10;
|
|
147
|
+
*/
|
|
148
|
+
satellitesVisible: number;
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Altitude (above WGS84, EGM96 ellipsoid). Positive for up. (mm)
|
|
152
|
+
*
|
|
153
|
+
* @generated from field: int32 alt_ellipsoid = 11;
|
|
154
|
+
*/
|
|
155
|
+
altEllipsoid: number;
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Position uncertainty (mm)
|
|
159
|
+
*
|
|
160
|
+
* @generated from field: uint32 h_acc = 12;
|
|
161
|
+
*/
|
|
162
|
+
hAcc: number;
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Altitude uncertainty (mm)
|
|
166
|
+
*
|
|
167
|
+
* @generated from field: uint32 v_acc = 13;
|
|
168
|
+
*/
|
|
169
|
+
vAcc: number;
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Speed uncertainty (mm/s)
|
|
173
|
+
*
|
|
174
|
+
* @generated from field: uint32 vel_acc = 14;
|
|
175
|
+
*/
|
|
176
|
+
velAcc: number;
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Heading / track uncertainty (degrees * 1E5)
|
|
180
|
+
*
|
|
181
|
+
* @generated from field: uint32 hdg_acc = 15;
|
|
182
|
+
*/
|
|
183
|
+
hdgAcc: number;
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Yaw in earth frame from north. Use 0 if this GPS does not provide yaw. Use UINT16_MAX if this GPS is configured to provide yaw and is currently unable to provide it. Use 36000 for north. (degrees * 100)
|
|
187
|
+
*
|
|
188
|
+
* @generated from field: uint32 yaw = 16;
|
|
189
|
+
*/
|
|
190
|
+
yaw: number;
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Describes the message flightpath.GpsRawInt.
|
|
195
|
+
* Use `create(GpsRawIntSchema)` to create a new message.
|
|
196
|
+
*/
|
|
197
|
+
export const GpsRawIntSchema: GenMessage<GpsRawInt> = /*@__PURE__*/
|
|
198
|
+
messageDesc(file_flightpath_telemetry, 2);
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* GpsFixType represents GPS fix types from MAVLink GPS_FIX_TYPE enum
|
|
202
|
+
* All values are incremented by 1 to accommodate GPS_FIX_TYPE_UNSPECIFIED
|
|
203
|
+
*
|
|
204
|
+
* @generated from enum flightpath.GpsFixType
|
|
205
|
+
*/
|
|
206
|
+
export enum GpsFixType {
|
|
207
|
+
/**
|
|
208
|
+
* @generated from enum value: GPS_FIX_TYPE_UNSPECIFIED = 0;
|
|
209
|
+
*/
|
|
210
|
+
GPS_FIX_TYPE_UNSPECIFIED = 0,
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* @generated from enum value: GPS_FIX_TYPE_NO_GPS = 1;
|
|
214
|
+
*/
|
|
215
|
+
GPS_FIX_TYPE_NO_GPS = 1,
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* @generated from enum value: GPS_FIX_TYPE_NO_FIX = 2;
|
|
219
|
+
*/
|
|
220
|
+
GPS_FIX_TYPE_NO_FIX = 2,
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* @generated from enum value: GPS_FIX_TYPE_2D_FIX = 3;
|
|
224
|
+
*/
|
|
225
|
+
GPS_FIX_TYPE_2D_FIX = 3,
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* @generated from enum value: GPS_FIX_TYPE_3D_FIX = 4;
|
|
229
|
+
*/
|
|
230
|
+
GPS_FIX_TYPE_3D_FIX = 4,
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* @generated from enum value: GPS_FIX_TYPE_DGPS = 5;
|
|
234
|
+
*/
|
|
235
|
+
GPS_FIX_TYPE_DGPS = 5,
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* @generated from enum value: GPS_FIX_TYPE_RTK_FLOAT = 6;
|
|
239
|
+
*/
|
|
240
|
+
GPS_FIX_TYPE_RTK_FLOAT = 6,
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* @generated from enum value: GPS_FIX_TYPE_RTK_FIXED = 7;
|
|
244
|
+
*/
|
|
245
|
+
GPS_FIX_TYPE_RTK_FIXED = 7,
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* @generated from enum value: GPS_FIX_TYPE_STATIC = 8;
|
|
249
|
+
*/
|
|
250
|
+
GPS_FIX_TYPE_STATIC = 8,
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* @generated from enum value: GPS_FIX_TYPE_PPP = 9;
|
|
254
|
+
*/
|
|
255
|
+
GPS_FIX_TYPE_PPP = 9,
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Describes the enum flightpath.GpsFixType.
|
|
260
|
+
*/
|
|
261
|
+
export const GpsFixTypeSchema: GenEnum<GpsFixType> = /*@__PURE__*/
|
|
262
|
+
enumDesc(file_flightpath_telemetry, 0);
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Real-time telemetry data (position, attitude, sensors, status)
|
|
266
|
+
*
|
|
267
|
+
* @generated from service flightpath.TelemetryService
|
|
268
|
+
*/
|
|
269
|
+
export const TelemetryService: GenService<{
|
|
270
|
+
/**
|
|
271
|
+
* Subscribe to GPS_RAW_INT messages from the drone
|
|
272
|
+
*
|
|
273
|
+
* @generated from rpc flightpath.TelemetryService.SubscribeRawGps
|
|
274
|
+
*/
|
|
275
|
+
subscribeRawGps: {
|
|
276
|
+
methodKind: "server_streaming";
|
|
277
|
+
input: typeof SubscribeRawGpsRequestSchema;
|
|
278
|
+
output: typeof SubscribeRawGpsResponseSchema;
|
|
279
|
+
},
|
|
280
|
+
}> = /*@__PURE__*/
|
|
281
|
+
serviceDesc(file_flightpath_telemetry, 0);
|
|
282
|
+
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@flightpath/flightpath",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Go platform exposing a gRPC API to control a drone",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"files": [
|
|
7
|
+
"gen/ts/**/*"
|
|
8
|
+
],
|
|
9
|
+
"scripts": {
|
|
10
|
+
"generate": "buf generate --template buf.gen.ts.yaml",
|
|
11
|
+
"lint": "buf lint"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"drone",
|
|
15
|
+
"flightpath",
|
|
16
|
+
"protobuf",
|
|
17
|
+
"connect-rpc",
|
|
18
|
+
"typescript"
|
|
19
|
+
],
|
|
20
|
+
"author": "Flightpath Dev",
|
|
21
|
+
"license": "MIT",
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "git+https://github.com/flightpath.git"
|
|
25
|
+
},
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"registry": "https://registry.npmjs.org/",
|
|
28
|
+
"access": "public"
|
|
29
|
+
},
|
|
30
|
+
"peerDependencies": {
|
|
31
|
+
"@bufbuild/protobuf": "^2.10.1",
|
|
32
|
+
"@connectrpc/connect": "^2.1.0"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@bufbuild/protobuf": "^2.10.1",
|
|
36
|
+
"@bufbuild/protoc-gen-es": "^2.10.1",
|
|
37
|
+
"@connectrpc/connect": "^2.1.1"
|
|
38
|
+
}
|
|
39
|
+
}
|