dji_mqtt_connect 0.1.23 → 0.1.23.2
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/dji_mqtt_connect/factories/events_messages.rb +251 -0
- data/lib/dji_mqtt_connect/factories/state_messages.rb +17 -0
- data/lib/dji_mqtt_connect/factories.rb +2 -226
- data/lib/dji_mqtt_connect/messages/thing/product/events/device_log.rb +1 -1
- data/lib/dji_mqtt_connect/messages/thing/product/events/takeoff_to_point_progress.rb +19 -0
- data/lib/dji_mqtt_connect/messages/thing/product/events_reply_message.rb +1 -13
- data/lib/dji_mqtt_connect/messages/thing/product/requests_reply/offline_map_get.rb +9 -1
- data/lib/dji_mqtt_connect/messages/thing/product/state_message.rb +4 -0
- data/lib/dji_mqtt_connect/topics/thing/product/events.rb +3 -3
- data/lib/dji_mqtt_connect/topics/thing/product/osd.rb +3 -3
- data/lib/dji_mqtt_connect/topics/thing/product/requests.rb +3 -3
- data/lib/dji_mqtt_connect/topics/thing/product/services_reply.rb +3 -3
- data/lib/dji_mqtt_connect/version.rb +1 -1
- data/lib/dji_mqtt_connect.rb +1 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a52af44f20809315867add42cac57ed1411f7f8e4f73ff083730633a80517f0c
|
4
|
+
data.tar.gz: 3cca76be599cf6c9cb876f16b0990e85058cd3ac476769173b197461e45fe350
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ae0ac468baa805c72ad193f13aa9094b17c3de2c5c2fa84f251a1281bd359f0beffd67923555c83c32370a373b447dacbb1a70858530c994afa06c98e94a3b6
|
7
|
+
data.tar.gz: 9e0e77a0841c0fe139ad8253aef77f7590acfd587f65c3129a7660161431f622c63f735bcec3311c45ae5f1e076b2c4ea145ec787b20ce80c6982eb632833e8b
|
data/Gemfile.lock
CHANGED
@@ -0,0 +1,251 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DjiMqttConnect
|
4
|
+
module Factories::EventsMessages
|
5
|
+
def build_device_exit_homing_notify_events_message
|
6
|
+
message_data = {
|
7
|
+
action: 1,
|
8
|
+
sn: "DOCK01",
|
9
|
+
reason: "0"
|
10
|
+
}
|
11
|
+
Thing::Product::DeviceExitHomingNotifyEventsMessage.new(
|
12
|
+
_method: "device_exit_homing_notify",
|
13
|
+
bid: Message.generate_bid,
|
14
|
+
tid: Message.generate_tid,
|
15
|
+
need_reply: 1,
|
16
|
+
gateway: "GATEWAYSN",
|
17
|
+
timestamp: Message.current_timestamp,
|
18
|
+
data: message_data,
|
19
|
+
_data: message_data
|
20
|
+
)
|
21
|
+
end
|
22
|
+
|
23
|
+
def build_thing_product_device_reboot_events_message
|
24
|
+
message_data = {
|
25
|
+
result: 0,
|
26
|
+
output: {
|
27
|
+
status: "ok",
|
28
|
+
progress: {
|
29
|
+
percent: 100
|
30
|
+
}
|
31
|
+
}
|
32
|
+
}
|
33
|
+
|
34
|
+
Thing::Product::DeviceRebootEventsMessage.new(
|
35
|
+
bid: Message.generate_bid,
|
36
|
+
tid: Message.generate_tid,
|
37
|
+
timestamp: Message.current_timestamp,
|
38
|
+
_method: "device_reboot",
|
39
|
+
need_reply: 1,
|
40
|
+
data: message_data,
|
41
|
+
_data: message_data
|
42
|
+
)
|
43
|
+
end
|
44
|
+
|
45
|
+
def build_file_upload_callback_events_message
|
46
|
+
message_data = {
|
47
|
+
file: {
|
48
|
+
object_key: "object_key",
|
49
|
+
path: "xxx",
|
50
|
+
name: "dog.jpeg",
|
51
|
+
ext: {
|
52
|
+
flight_id: "xxx",
|
53
|
+
drone_model_key: "0-67-0",
|
54
|
+
payload_model_key: "0-67-0",
|
55
|
+
is_original: true
|
56
|
+
},
|
57
|
+
metadata: {
|
58
|
+
shoot_position: {
|
59
|
+
lat: 22.1,
|
60
|
+
lng: 122.5
|
61
|
+
},
|
62
|
+
gimbal_yaw_degree: -91.4,
|
63
|
+
absolute_altitude: 56.311,
|
64
|
+
relative_altitude: 41.124,
|
65
|
+
created_time: "2021-05-10 16:04:20"
|
66
|
+
}
|
67
|
+
},
|
68
|
+
result: 0
|
69
|
+
}
|
70
|
+
|
71
|
+
Thing::Product::FileUploadCallbackEventsMessage.new(
|
72
|
+
_method: "file_upload_callback",
|
73
|
+
bid: Message.generate_bid,
|
74
|
+
tid: Message.generate_tid,
|
75
|
+
need_reply: 1,
|
76
|
+
gateway: "xxx",
|
77
|
+
timestamp: Message.current_timestamp,
|
78
|
+
data: message_data,
|
79
|
+
_data: message_data
|
80
|
+
)
|
81
|
+
end
|
82
|
+
|
83
|
+
def build_fileupload_progress_events_message
|
84
|
+
message_data = {
|
85
|
+
output: {
|
86
|
+
ext: {
|
87
|
+
files: [
|
88
|
+
{
|
89
|
+
module: "0",
|
90
|
+
size: 155232,
|
91
|
+
device_sn: "drone_sn",
|
92
|
+
key: "4bf0039f-6434-44a8-b891-8d7b6b7ff138/drone_sn/video_20220621_110830.log",
|
93
|
+
fingerprint: "4f65b891f3bc09bdb6d4c36a996b532d",
|
94
|
+
progress: {
|
95
|
+
current_step: 19,
|
96
|
+
progress: 100,
|
97
|
+
finish_time: 1655781395926,
|
98
|
+
upload_rate: 0,
|
99
|
+
result: 0,
|
100
|
+
status: "ok"
|
101
|
+
}
|
102
|
+
},
|
103
|
+
{
|
104
|
+
module: "3",
|
105
|
+
size: 155232,
|
106
|
+
device_sn: "dock_sn",
|
107
|
+
key: "4bf0039f-6434-44a8-b891-8d7b6b7ff138/dock_sn/video_20220621_110830.log",
|
108
|
+
fingerprint: "4f65b891f3bc09bdb6d4c36a996b532d",
|
109
|
+
progress: {
|
110
|
+
current_step: 19,
|
111
|
+
total_step: 30,
|
112
|
+
progress: 100,
|
113
|
+
finish_time: 1655781395926,
|
114
|
+
upload_rate: 0,
|
115
|
+
result: 0,
|
116
|
+
status: "ok"
|
117
|
+
}
|
118
|
+
}
|
119
|
+
]
|
120
|
+
},
|
121
|
+
status: "ok"
|
122
|
+
}
|
123
|
+
}
|
124
|
+
|
125
|
+
Thing::Product::FileuploadProgressEventsMessage.new(
|
126
|
+
_method: "fileupload_progress",
|
127
|
+
need_reply: 0,
|
128
|
+
bid: Message.generate_bid,
|
129
|
+
tid: Message.generate_tid,
|
130
|
+
timestamp: Message.current_timestamp,
|
131
|
+
gateway: "dock_sn",
|
132
|
+
_data: message_data,
|
133
|
+
data: message_data
|
134
|
+
)
|
135
|
+
end
|
136
|
+
|
137
|
+
def build_flighttask_progress_events_message
|
138
|
+
message_data = {
|
139
|
+
output: {
|
140
|
+
ext: {
|
141
|
+
current_waypoint_index: 3,
|
142
|
+
media_count: 6,
|
143
|
+
track_id: "track_id",
|
144
|
+
flight_id: "flight_id",
|
145
|
+
break_point: {
|
146
|
+
index: 1,
|
147
|
+
state: 0,
|
148
|
+
progress: 0.34,
|
149
|
+
wayline_id: 0,
|
150
|
+
break_reason: 1,
|
151
|
+
latitude: 23.4,
|
152
|
+
longitude: 113.99,
|
153
|
+
height: 100.23,
|
154
|
+
attitude_head: 30
|
155
|
+
}
|
156
|
+
},
|
157
|
+
progress: {
|
158
|
+
current_step: 19,
|
159
|
+
percent: 100
|
160
|
+
},
|
161
|
+
status: "ok"
|
162
|
+
},
|
163
|
+
result: 0
|
164
|
+
}
|
165
|
+
|
166
|
+
Thing::Product::FlighttaskProgressEventsMessage.new(
|
167
|
+
bid: Message.generate_bid,
|
168
|
+
tid: Message.generate_tid,
|
169
|
+
data: message_data,
|
170
|
+
_data: message_data,
|
171
|
+
_method: "flighttask_progress",
|
172
|
+
timestamp: Message.current_timestamp
|
173
|
+
)
|
174
|
+
end
|
175
|
+
|
176
|
+
def build_flighttask_ready_events_message
|
177
|
+
message_data = {
|
178
|
+
flight_ids: [
|
179
|
+
SecureRandom.uuid,
|
180
|
+
SecureRandom.uuid
|
181
|
+
]
|
182
|
+
}
|
183
|
+
|
184
|
+
Thing::Product::FlighttaskReadyEventsMessage.new(
|
185
|
+
bid: Message.generate_bid,
|
186
|
+
tid: Message.generate_tid,
|
187
|
+
data: message_data,
|
188
|
+
_data: message_data,
|
189
|
+
_method: "flighttask_ready",
|
190
|
+
timestamp: Message.current_timestamp
|
191
|
+
)
|
192
|
+
end
|
193
|
+
|
194
|
+
def build_highest_priority_upload_flighttask_media_events_message
|
195
|
+
message_data = {
|
196
|
+
flight_id: SecureRandom.uuid
|
197
|
+
}
|
198
|
+
|
199
|
+
Thing::Product::HighestPriorityUploadFlighttaskMediaEventsMessage.new(
|
200
|
+
bid: Message.generate_bid,
|
201
|
+
_data: message_data,
|
202
|
+
data: message_data,
|
203
|
+
_method: "highest_priority_upload_flighttask_media",
|
204
|
+
need_reply: 1,
|
205
|
+
tid: Message.generate_tid,
|
206
|
+
timestamp: Message.current_timestamp,
|
207
|
+
gateway: "DOCK01"
|
208
|
+
)
|
209
|
+
end
|
210
|
+
|
211
|
+
def build_offline_map_sync_progress_events_message
|
212
|
+
message_data = {
|
213
|
+
status: "failed",
|
214
|
+
reason: 0,
|
215
|
+
file: "geofence_xxx.json"
|
216
|
+
}
|
217
|
+
|
218
|
+
Thing::Product::OfflineMapSyncProgressEventsMessage.new(
|
219
|
+
bid: Message.generate_bid,
|
220
|
+
tid: Message.generate_tid,
|
221
|
+
timestamp: Message.current_timestamp,
|
222
|
+
_method: "offline_map_sync_progress",
|
223
|
+
need_reply: 1,
|
224
|
+
data: message_data,
|
225
|
+
_data: message_data
|
226
|
+
)
|
227
|
+
end
|
228
|
+
|
229
|
+
def build_takeoff_to_point_progress_events_message
|
230
|
+
message_data = {
|
231
|
+
flight_id: SecureRandom.uuid,
|
232
|
+
remaining_distance: 100,
|
233
|
+
remaining_time: 10,
|
234
|
+
result: 0,
|
235
|
+
status: "ok",
|
236
|
+
track_id: SecureRandom.uuid,
|
237
|
+
way_point_index: 3
|
238
|
+
}
|
239
|
+
|
240
|
+
Thing::Product::TakeoffToPointProgressEventsMessage.new(
|
241
|
+
bid: Message.generate_bid,
|
242
|
+
tid: Message.generate_tid,
|
243
|
+
timestamp: Message.current_timestamp,
|
244
|
+
_method: "takeoff_to_point_progress",
|
245
|
+
need_reply: 1,
|
246
|
+
data: message_data,
|
247
|
+
_data: message_data
|
248
|
+
)
|
249
|
+
end
|
250
|
+
end
|
251
|
+
end
|
@@ -4,6 +4,23 @@ module DjiMqttConnect
|
|
4
4
|
module Factories::StateMessages
|
5
5
|
### Gateway Messages ###
|
6
6
|
|
7
|
+
def build_thing_product_firmware_version_state_message
|
8
|
+
message_data = {
|
9
|
+
firmware_version: "10.01.1607",
|
10
|
+
compatible_status: 0,
|
11
|
+
firmware_upgrade_status: 0
|
12
|
+
}
|
13
|
+
|
14
|
+
Thing::Product::StateMessage.new(
|
15
|
+
bid: Message.generate_bid,
|
16
|
+
tid: Message.generate_tid,
|
17
|
+
timestamp: Message.current_timestamp,
|
18
|
+
gateway: "GATEWAYSN",
|
19
|
+
_data: message_data,
|
20
|
+
data: message_data
|
21
|
+
)
|
22
|
+
end
|
23
|
+
|
7
24
|
def build_thing_product_gateway_live_capacity_state_message
|
8
25
|
message_data = {
|
9
26
|
live_capacity: {
|
@@ -4,236 +4,12 @@ module DjiMqttConnect
|
|
4
4
|
# Factories for building example messages
|
5
5
|
# Do not include this in your production code
|
6
6
|
module Factories
|
7
|
+
autoload :EventsMessages, "dji_mqtt_connect/factories/events_messages"
|
7
8
|
autoload :StateMessages, "dji_mqtt_connect/factories/state_messages"
|
8
9
|
|
10
|
+
include EventsMessages
|
9
11
|
include StateMessages
|
10
12
|
|
11
|
-
# Events
|
12
|
-
|
13
|
-
def build_device_exit_homing_notify_events_message
|
14
|
-
message_data = {
|
15
|
-
action: 1,
|
16
|
-
sn: "DOCK01",
|
17
|
-
reason: "0"
|
18
|
-
}
|
19
|
-
Thing::Product::DeviceExitHomingNotifyEventsMessage.new(
|
20
|
-
_method: "device_exit_homing_notify",
|
21
|
-
bid: Message.generate_bid,
|
22
|
-
tid: Message.generate_tid,
|
23
|
-
need_reply: 1,
|
24
|
-
gateway: "GATEWAYSN",
|
25
|
-
timestamp: Message.current_timestamp,
|
26
|
-
data: message_data,
|
27
|
-
_data: message_data
|
28
|
-
)
|
29
|
-
end
|
30
|
-
|
31
|
-
def build_thing_product_device_reboot_events_message
|
32
|
-
message_data = {
|
33
|
-
result: 0,
|
34
|
-
output: {
|
35
|
-
status: "ok",
|
36
|
-
progress: {
|
37
|
-
percent: 100
|
38
|
-
}
|
39
|
-
}
|
40
|
-
}
|
41
|
-
|
42
|
-
Thing::Product::DeviceRebootEventsMessage.new(
|
43
|
-
bid: Message.generate_bid,
|
44
|
-
tid: Message.generate_tid,
|
45
|
-
timestamp: Message.current_timestamp,
|
46
|
-
_method: "device_reboot",
|
47
|
-
need_reply: 1,
|
48
|
-
data: message_data,
|
49
|
-
_data: message_data
|
50
|
-
)
|
51
|
-
end
|
52
|
-
|
53
|
-
def build_file_upload_callback_events_message
|
54
|
-
message_data = {
|
55
|
-
file: {
|
56
|
-
object_key: "object_key",
|
57
|
-
path: "xxx",
|
58
|
-
name: "dog.jpeg",
|
59
|
-
ext: {
|
60
|
-
flight_id: "xxx",
|
61
|
-
drone_model_key: "0-67-0",
|
62
|
-
payload_model_key: "0-67-0",
|
63
|
-
is_original: true
|
64
|
-
},
|
65
|
-
metadata: {
|
66
|
-
shoot_position: {
|
67
|
-
lat: 22.1,
|
68
|
-
lng: 122.5
|
69
|
-
},
|
70
|
-
gimbal_yaw_degree: -91.4,
|
71
|
-
absolute_altitude: 56.311,
|
72
|
-
relative_altitude: 41.124,
|
73
|
-
created_time: "2021-05-10 16:04:20"
|
74
|
-
}
|
75
|
-
},
|
76
|
-
result: 0
|
77
|
-
}
|
78
|
-
|
79
|
-
Thing::Product::FileUploadCallbackEventsMessage.new(
|
80
|
-
_method: "file_upload_callback",
|
81
|
-
bid: Message.generate_bid,
|
82
|
-
tid: Message.generate_tid,
|
83
|
-
need_reply: 1,
|
84
|
-
gateway: "xxx",
|
85
|
-
timestamp: Message.current_timestamp,
|
86
|
-
data: message_data,
|
87
|
-
_data: message_data
|
88
|
-
)
|
89
|
-
end
|
90
|
-
|
91
|
-
def build_fileupload_progress_events_message
|
92
|
-
message_data = {
|
93
|
-
output: {
|
94
|
-
ext: {
|
95
|
-
files: [
|
96
|
-
{
|
97
|
-
module: "0",
|
98
|
-
size: 155232,
|
99
|
-
device_sn: "drone_sn",
|
100
|
-
key: "4bf0039f-6434-44a8-b891-8d7b6b7ff138/drone_sn/video_20220621_110830.log",
|
101
|
-
fingerprint: "4f65b891f3bc09bdb6d4c36a996b532d",
|
102
|
-
progress: {
|
103
|
-
current_step: 19,
|
104
|
-
progress: 100,
|
105
|
-
finish_time: 1655781395926,
|
106
|
-
upload_rate: 0,
|
107
|
-
result: 0,
|
108
|
-
status: "ok"
|
109
|
-
}
|
110
|
-
},
|
111
|
-
{
|
112
|
-
module: "3",
|
113
|
-
size: 155232,
|
114
|
-
device_sn: "dock_sn",
|
115
|
-
key: "4bf0039f-6434-44a8-b891-8d7b6b7ff138/dock_sn/video_20220621_110830.log",
|
116
|
-
fingerprint: "4f65b891f3bc09bdb6d4c36a996b532d",
|
117
|
-
progress: {
|
118
|
-
current_step: 19,
|
119
|
-
total_step: 30,
|
120
|
-
progress: 100,
|
121
|
-
finish_time: 1655781395926,
|
122
|
-
upload_rate: 0,
|
123
|
-
result: 0,
|
124
|
-
status: "ok"
|
125
|
-
}
|
126
|
-
}
|
127
|
-
]
|
128
|
-
},
|
129
|
-
status: "ok"
|
130
|
-
}
|
131
|
-
}
|
132
|
-
|
133
|
-
Thing::Product::FileuploadProgressEventsMessage.new(
|
134
|
-
_method: "fileupload_progress",
|
135
|
-
need_reply: 0,
|
136
|
-
bid: Message.generate_bid,
|
137
|
-
tid: Message.generate_tid,
|
138
|
-
timestamp: Message.current_timestamp,
|
139
|
-
gateway: "dock_sn",
|
140
|
-
_data: message_data,
|
141
|
-
data: message_data
|
142
|
-
)
|
143
|
-
end
|
144
|
-
|
145
|
-
def build_flighttask_progress_events_message
|
146
|
-
message_data = {
|
147
|
-
output: {
|
148
|
-
ext: {
|
149
|
-
current_waypoint_index: 3,
|
150
|
-
media_count: 6,
|
151
|
-
track_id: "track_id",
|
152
|
-
flight_id: "flight_id",
|
153
|
-
break_point: {
|
154
|
-
index: 1,
|
155
|
-
state: 0,
|
156
|
-
progress: 0.34,
|
157
|
-
wayline_id: 0,
|
158
|
-
break_reason: 1,
|
159
|
-
latitude: 23.4,
|
160
|
-
longitude: 113.99,
|
161
|
-
height: 100.23,
|
162
|
-
attitude_head: 30
|
163
|
-
}
|
164
|
-
},
|
165
|
-
progress: {
|
166
|
-
current_step: 19,
|
167
|
-
percent: 100
|
168
|
-
},
|
169
|
-
status: "ok"
|
170
|
-
},
|
171
|
-
result: 0
|
172
|
-
}
|
173
|
-
|
174
|
-
Thing::Product::FlighttaskProgressEventsMessage.new(
|
175
|
-
bid: Message.generate_bid,
|
176
|
-
tid: Message.generate_tid,
|
177
|
-
data: message_data,
|
178
|
-
_data: message_data,
|
179
|
-
_method: "flighttask_progress",
|
180
|
-
timestamp: Message.current_timestamp
|
181
|
-
)
|
182
|
-
end
|
183
|
-
|
184
|
-
def build_flighttask_ready_events_message
|
185
|
-
message_data = {
|
186
|
-
flight_ids: [
|
187
|
-
SecureRandom.uuid,
|
188
|
-
SecureRandom.uuid
|
189
|
-
]
|
190
|
-
}
|
191
|
-
|
192
|
-
Thing::Product::FlighttaskReadyEventsMessage.new(
|
193
|
-
bid: Message.generate_bid,
|
194
|
-
tid: Message.generate_tid,
|
195
|
-
data: message_data,
|
196
|
-
_data: message_data,
|
197
|
-
_method: "flighttask_ready",
|
198
|
-
timestamp: Message.current_timestamp
|
199
|
-
)
|
200
|
-
end
|
201
|
-
|
202
|
-
def build_highest_priority_upload_flighttask_media_events_message
|
203
|
-
message_data = {
|
204
|
-
flight_id: SecureRandom.uuid
|
205
|
-
}
|
206
|
-
|
207
|
-
Thing::Product::HighestPriorityUploadFlighttaskMediaEventsMessage.new(
|
208
|
-
bid: Message.generate_bid,
|
209
|
-
_data: message_data,
|
210
|
-
data: message_data,
|
211
|
-
_method: "highest_priority_upload_flighttask_media",
|
212
|
-
need_reply: 1,
|
213
|
-
tid: Message.generate_tid,
|
214
|
-
timestamp: Message.current_timestamp,
|
215
|
-
gateway: "DOCK01"
|
216
|
-
)
|
217
|
-
end
|
218
|
-
|
219
|
-
def build_offline_map_sync_progress_events_message
|
220
|
-
message_data = {
|
221
|
-
status: "failed",
|
222
|
-
reason: 0,
|
223
|
-
file: "geofence_xxx.json"
|
224
|
-
}
|
225
|
-
|
226
|
-
Thing::Product::OfflineMapSyncProgressEventsMessage.new(
|
227
|
-
bid: Message.generate_bid,
|
228
|
-
tid: Message.generate_tid,
|
229
|
-
timestamp: Message.current_timestamp,
|
230
|
-
_method: "offline_map_sync_progress",
|
231
|
-
need_reply: 1,
|
232
|
-
data: message_data,
|
233
|
-
_data: message_data
|
234
|
-
)
|
235
|
-
end
|
236
|
-
|
237
13
|
# OSD
|
238
14
|
|
239
15
|
def build_thing_product_dock_osd_message_with_sub_device
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DjiMqttConnect
|
4
|
+
module Thing::Product
|
5
|
+
class TakeoffToPointProgressEventsMessage < EventsMessage
|
6
|
+
attribute :_method, Types::String.enum("takeoff_to_point_progress")
|
7
|
+
|
8
|
+
attribute :data do
|
9
|
+
attribute :flight_id, Types::String
|
10
|
+
attribute :remaining_distance, Types::Integer
|
11
|
+
attribute :remaining_time, Types::Integer
|
12
|
+
attribute :result, Types::Integer
|
13
|
+
attribute :status, Types::String
|
14
|
+
attribute :track_id, Types::String | Types::Nil
|
15
|
+
attribute :way_point_index, Types::Integer
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -21,19 +21,7 @@ module DjiMqttConnect
|
|
21
21
|
attribute :tid, Types::UUID
|
22
22
|
attribute :timestamp, Types::Timestamp
|
23
23
|
|
24
|
-
attribute :_method, Types::String
|
25
|
-
"airsense_warning",
|
26
|
-
"device_exit_homing_notify",
|
27
|
-
"device_reboot",
|
28
|
-
"file_upload_callback",
|
29
|
-
"fileupload_progress",
|
30
|
-
"flight_areas_drone_location",
|
31
|
-
"flight_areas_sync_progress",
|
32
|
-
"flighttask_progress",
|
33
|
-
"flighttask_ready",
|
34
|
-
"highest_priority_upload_flighttask_media",
|
35
|
-
"offline_map_sync_progress"
|
36
|
-
)
|
24
|
+
attribute :_method, Types::String
|
37
25
|
|
38
26
|
attribute :data do
|
39
27
|
include Mixins::ResultMessage
|
@@ -8,7 +8,10 @@ module DjiMqttConnect
|
|
8
8
|
new(
|
9
9
|
_method: offline_map_get._method,
|
10
10
|
data: {
|
11
|
-
result: result
|
11
|
+
result: result,
|
12
|
+
output: {
|
13
|
+
files: []
|
14
|
+
}
|
12
15
|
},
|
13
16
|
tid: offline_map_get.tid,
|
14
17
|
bid: offline_map_get.bid,
|
@@ -23,6 +26,11 @@ module DjiMqttConnect
|
|
23
26
|
attribute :_method, Types::String.enum("offline_map_get")
|
24
27
|
attribute :data do
|
25
28
|
attribute :result, Types::ResultCode
|
29
|
+
|
30
|
+
# Debugging issues related to the offline map
|
31
|
+
attribute :output do
|
32
|
+
attribute :files, Types::Array.default([].freeze)
|
33
|
+
end
|
26
34
|
end
|
27
35
|
end
|
28
36
|
end
|
@@ -171,6 +171,10 @@ module DjiMqttConnect
|
|
171
171
|
attribute? :uom_real_name_state, Types::Integer
|
172
172
|
attribute? :wpmz_version, Types::String
|
173
173
|
|
174
|
+
attribute? :firmware_version, Types::String
|
175
|
+
attribute? :compatible_status, Types::Integer
|
176
|
+
attribute? :firmware_upgrade_status, Types::Integer
|
177
|
+
|
174
178
|
attribute? :low_battery_warning_threshold, Types::Integer
|
175
179
|
attribute? :serious_low_battery_warning_threshold, Types::Integer
|
176
180
|
end
|
@@ -17,6 +17,9 @@ module DjiMqttConnect
|
|
17
17
|
|
18
18
|
logger.info("Received #{message} from #{device_sn}")
|
19
19
|
|
20
|
+
# Broadcast a generic received events message event
|
21
|
+
broadcast(:received_events_message, device_sn, message)
|
22
|
+
|
20
23
|
if message.instance_of?(EventsMessage)
|
21
24
|
# Broadcast an unsupported message event
|
22
25
|
broadcast(:unsupported_message, topic, raw_message)
|
@@ -25,9 +28,6 @@ module DjiMqttConnect
|
|
25
28
|
event_name = message.class.name.demodulize.sub(/sMessage\z/, "").underscore.to_sym
|
26
29
|
broadcast(event_name, device_sn, message)
|
27
30
|
end
|
28
|
-
|
29
|
-
# Broadcast a generic received events message event
|
30
|
-
broadcast(:received_events_message, device_sn, message)
|
31
31
|
rescue ParseError => error
|
32
32
|
broadcast(:parse_error, error, topic, raw_message)
|
33
33
|
end
|
@@ -17,6 +17,9 @@ module DjiMqttConnect
|
|
17
17
|
|
18
18
|
logger.info("Received #{message} from #{device_sn}")
|
19
19
|
|
20
|
+
# Broadcast a generic received osd message event
|
21
|
+
broadcast(:received_osd_message, device_sn, message)
|
22
|
+
|
20
23
|
if message.instance_of?(OsdMessage)
|
21
24
|
# Broadcast an unsupported message event
|
22
25
|
broadcast(:unsupported_message, topic, raw_message)
|
@@ -25,9 +28,6 @@ module DjiMqttConnect
|
|
25
28
|
event_name = message.class.name.demodulize.sub(/Message\z/, "Update").underscore.to_sym
|
26
29
|
broadcast(event_name, device_sn, message)
|
27
30
|
end
|
28
|
-
|
29
|
-
# Broadcast a generic received osd message event
|
30
|
-
broadcast(:received_osd_message, device_sn, message)
|
31
31
|
rescue ParseError => error
|
32
32
|
broadcast(:parse_error, error, topic, raw_message)
|
33
33
|
end
|
@@ -17,6 +17,9 @@ module DjiMqttConnect
|
|
17
17
|
|
18
18
|
logger.info("Received #{message} from #{gateway_sn}")
|
19
19
|
|
20
|
+
# Broadcast a generic received requests message event
|
21
|
+
broadcast(:received_requests_message, gateway_sn, message)
|
22
|
+
|
20
23
|
if message.instance_of?(RequestsMessage)
|
21
24
|
# Broadcast an unsupported message event
|
22
25
|
broadcast(:unsupported_message, topic, raw_message)
|
@@ -24,9 +27,6 @@ module DjiMqttConnect
|
|
24
27
|
# Build event name and broadcast (i.e. ::ConfigRequestsMessage => config)
|
25
28
|
broadcast(message._method.to_sym, gateway_sn, message)
|
26
29
|
end
|
27
|
-
|
28
|
-
# Broadcast a generic received requests message event
|
29
|
-
broadcast(:received_requests_message, gateway_sn, message)
|
30
30
|
rescue ParseError => error
|
31
31
|
broadcast(:parse_error, error, topic, raw_message)
|
32
32
|
end
|
@@ -17,6 +17,9 @@ module DjiMqttConnect
|
|
17
17
|
|
18
18
|
logger.info("Received #{message} from #{gateway_sn}")
|
19
19
|
|
20
|
+
# Broadcast a generic received services reply message event
|
21
|
+
broadcast(:received_services_reply_message, gateway_sn, message)
|
22
|
+
|
20
23
|
if message.instance_of?(ServicesReplyMessage)
|
21
24
|
# Broadcast an unsupported message event
|
22
25
|
broadcast(:unsupported_message, topic, raw_message)
|
@@ -25,9 +28,6 @@ module DjiMqttConnect
|
|
25
28
|
event_name = "#{message._method.to_sym}_reply"
|
26
29
|
broadcast(event_name, gateway_sn, message)
|
27
30
|
end
|
28
|
-
|
29
|
-
# Broadcast a generic received services reply message event
|
30
|
-
broadcast(:received_services_reply_message, gateway_sn, message)
|
31
31
|
rescue ParseError => error
|
32
32
|
broadcast(:parse_error, error, topic, raw_message)
|
33
33
|
end
|
data/lib/dji_mqtt_connect.rb
CHANGED
@@ -51,6 +51,7 @@ module DjiMqttConnect
|
|
51
51
|
autoload :OfflineMapSyncProgressEventsMessage, "dji_mqtt_connect/messages/thing/product/events/offline_map_sync_progress"
|
52
52
|
autoload :ReturnHomeInfoEventsMessage, "dji_mqtt_connect/messages/thing/product/events/return_home_info"
|
53
53
|
autoload :StatusCodeEventsMessage, "dji_mqtt_connect/messages/thing/product/events/status_code"
|
54
|
+
autoload :TakeoffToPointProgressEventsMessage, "dji_mqtt_connect/messages/thing/product/events/takeoff_to_point_progress"
|
54
55
|
autoload :TrackEventsMessage, "dji_mqtt_connect/messages/thing/product/events/track"
|
55
56
|
autoload :EventsMessage, "dji_mqtt_connect/messages/thing/product/events_message"
|
56
57
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dji_mqtt_connect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.23
|
4
|
+
version: 0.1.23.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sphere Drones
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-08-
|
11
|
+
date: 2024-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -113,6 +113,7 @@ files:
|
|
113
113
|
- lib/dji_mqtt_connect/client.rb
|
114
114
|
- lib/dji_mqtt_connect/error.rb
|
115
115
|
- lib/dji_mqtt_connect/factories.rb
|
116
|
+
- lib/dji_mqtt_connect/factories/events_messages.rb
|
116
117
|
- lib/dji_mqtt_connect/factories/state_messages.rb
|
117
118
|
- lib/dji_mqtt_connect/marshals/sys/product/status_marshal.rb
|
118
119
|
- lib/dji_mqtt_connect/marshals/sys/product/status_reply_marshal.rb
|
@@ -147,6 +148,7 @@ files:
|
|
147
148
|
- lib/dji_mqtt_connect/messages/thing/product/events/offline_map_sync_progress.rb
|
148
149
|
- lib/dji_mqtt_connect/messages/thing/product/events/return_home_info.rb
|
149
150
|
- lib/dji_mqtt_connect/messages/thing/product/events/status_code.rb
|
151
|
+
- lib/dji_mqtt_connect/messages/thing/product/events/takeoff_to_point_progress.rb
|
150
152
|
- lib/dji_mqtt_connect/messages/thing/product/events/track.rb
|
151
153
|
- lib/dji_mqtt_connect/messages/thing/product/events_message.rb
|
152
154
|
- lib/dji_mqtt_connect/messages/thing/product/events_reply_message.rb
|