dji_mqtt_connect 0.1.22 → 0.1.22.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/dji_mqtt_connect/factories.rb +18 -0
- data/lib/dji_mqtt_connect/messages/thing/product/events/offline_map_sync_progress.rb +15 -0
- data/lib/dji_mqtt_connect/messages/thing/product/events_reply_message.rb +2 -1
- data/lib/dji_mqtt_connect/messages/thing/product/osd/drone.rb +11 -1
- data/lib/dji_mqtt_connect/types.rb +3 -0
- data/lib/dji_mqtt_connect/version.rb +1 -1
- data/lib/dji_mqtt_connect.rb +1 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8648b1f1ab8a35bab447677cacc7e465716a7b30b31dc9cf26230d9e4f00000f
|
4
|
+
data.tar.gz: 33fa2572acded95529962bc32703599c6750118c3238879584aad4a06db0bcf5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce0796ec8ca31bf90482a16fb3e601e40d2dccc1cdf045ecbc149fc0838f294a7297af69aef3d8cebfdb7e9714e33b4c5464b3680acadf38a1e771d78f163f32
|
7
|
+
data.tar.gz: b75eaafa64707ec784514792188fe3722bb17abbce767c4ea5843ddf61f8c3e4d170980301ec31606e50cac0f9f04ea1ea42ece7daa0e2c56c20c38fc4470ad7
|
data/Gemfile.lock
CHANGED
@@ -212,6 +212,24 @@ module DjiMqttConnect
|
|
212
212
|
)
|
213
213
|
end
|
214
214
|
|
215
|
+
def build_offline_map_sync_progress_events_message
|
216
|
+
message_data = {
|
217
|
+
status: "failed",
|
218
|
+
reason: 0,
|
219
|
+
file: "geofence_xxx.json"
|
220
|
+
}
|
221
|
+
|
222
|
+
Thing::Product::OfflineMapSyncProgressEventsMessage.new(
|
223
|
+
bid: Message.generate_bid,
|
224
|
+
tid: Message.generate_tid,
|
225
|
+
timestamp: Message.current_timestamp,
|
226
|
+
_method: "offline_map_sync_progress",
|
227
|
+
need_reply: 1,
|
228
|
+
data: message_data,
|
229
|
+
_data: message_data
|
230
|
+
)
|
231
|
+
end
|
232
|
+
|
215
233
|
# OSD
|
216
234
|
|
217
235
|
def build_thing_product_dock_osd_message_with_sub_device
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DjiMqttConnect
|
4
|
+
module Thing::Product
|
5
|
+
class OfflineMapSyncProgressEventsMessage < EventsMessage
|
6
|
+
attribute :_method, Types::String.enum("offline_map_sync_progress")
|
7
|
+
|
8
|
+
attribute :data do
|
9
|
+
attribute :status, Types::String
|
10
|
+
attribute :reason, Types::Integer
|
11
|
+
attribute :file, Types::String | Types::Nil
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -20,6 +20,9 @@ module DjiMqttConnect
|
|
20
20
|
wind_speed
|
21
21
|
]
|
22
22
|
|
23
|
+
CAMERA_MODE_PHOTO_TAKING = 0
|
24
|
+
CAMREA_MODE_RECORDING = 1
|
25
|
+
|
23
26
|
attribute :data do
|
24
27
|
include Mixins::LatitudeConditional
|
25
28
|
include Mixins::LongitudeConditional
|
@@ -90,7 +93,14 @@ module DjiMqttConnect
|
|
90
93
|
attribute :payload_index, Types::String
|
91
94
|
|
92
95
|
# {"0":"Photo taking","1":"Recording"}
|
93
|
-
attribute? :camera_mode, Types::Integer.enum(
|
96
|
+
attribute? :camera_mode, Types::Integer.enum(
|
97
|
+
CAMERA_MODE_PHOTO_TAKING,
|
98
|
+
CAMREA_MODE_RECORDING
|
99
|
+
) | Types::ErrorInteger
|
100
|
+
|
101
|
+
def camera_mode?
|
102
|
+
camera_mode && !Types::ErrorInteger.valid?(camera_mode)
|
103
|
+
end
|
94
104
|
|
95
105
|
# {"min":2,"max":20}
|
96
106
|
attribute? :ir_zoom_factor, Types::JSON::Decimal
|
@@ -10,6 +10,9 @@ module DjiMqttConnect
|
|
10
10
|
# DJI does not like null, so it returns Integer 0 instead of a Decimal...
|
11
11
|
NullInteger = Types::Strict::Integer.constrained(eql: 0)
|
12
12
|
|
13
|
+
# Negative values indicate a fault
|
14
|
+
ErrorInteger = Types::Strict::Integer.constrained(lt: 0)
|
15
|
+
|
13
16
|
# Not a Strict UUID format... turns out DJI doesn't follow one
|
14
17
|
UUID = Strict::String.constrained(format: /\A[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\z/i)
|
15
18
|
|
data/lib/dji_mqtt_connect.rb
CHANGED
@@ -48,6 +48,7 @@ module DjiMqttConnect
|
|
48
48
|
autoload :FlighttaskReadyEventsMessage, "dji_mqtt_connect/messages/thing/product/events/flighttask_ready"
|
49
49
|
autoload :HighestPriorityUploadFlighttaskMediaEventsMessage, "dji_mqtt_connect/messages/thing/product/events/highest_priority_upload_flighttask_media"
|
50
50
|
autoload :HmsEventsMessage, "dji_mqtt_connect/messages/thing/product/events/hms"
|
51
|
+
autoload :OfflineMapSyncProgressEventsMessage, "dji_mqtt_connect/messages/thing/product/events/offline_map_sync_progress"
|
51
52
|
autoload :ReturnHomeInfoEventsMessage, "dji_mqtt_connect/messages/thing/product/events/return_home_info"
|
52
53
|
autoload :StatusCodeEventsMessage, "dji_mqtt_connect/messages/thing/product/events/status_code"
|
53
54
|
autoload :TrackEventsMessage, "dji_mqtt_connect/messages/thing/product/events/track"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dji_mqtt_connect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.22
|
4
|
+
version: 0.1.22.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sphere Drones
|
@@ -142,6 +142,7 @@ files:
|
|
142
142
|
- lib/dji_mqtt_connect/messages/thing/product/events/flighttask_ready.rb
|
143
143
|
- lib/dji_mqtt_connect/messages/thing/product/events/highest_priority_upload_flighttask_media.rb
|
144
144
|
- lib/dji_mqtt_connect/messages/thing/product/events/hms.rb
|
145
|
+
- lib/dji_mqtt_connect/messages/thing/product/events/offline_map_sync_progress.rb
|
145
146
|
- lib/dji_mqtt_connect/messages/thing/product/events/return_home_info.rb
|
146
147
|
- lib/dji_mqtt_connect/messages/thing/product/events/status_code.rb
|
147
148
|
- lib/dji_mqtt_connect/messages/thing/product/events/track.rb
|