dji_mqtt_connect 0.1.21 → 0.1.22
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 +2 -1
- data/lib/dji_mqtt_connect/factories.rb +23 -0
- data/lib/dji_mqtt_connect/marshals/sys/product/status_marshal.rb +2 -6
- data/lib/dji_mqtt_connect/marshals/thing/product/events_marshal.rb +2 -6
- data/lib/dji_mqtt_connect/marshals/thing/product/osd_marshal.rb +4 -6
- data/lib/dji_mqtt_connect/marshals/thing/product/requests_marshal.rb +2 -6
- data/lib/dji_mqtt_connect/marshals/thing/product/services_reply_marshal.rb +2 -6
- data/lib/dji_mqtt_connect/marshals/thing/product/state_marshal.rb +2 -6
- data/lib/dji_mqtt_connect/messages/thing/product/events/file_upload_callback.rb +2 -2
- data/lib/dji_mqtt_connect/messages/thing/product/events/flighttask_progress.rb +1 -1
- data/lib/dji_mqtt_connect/messages/thing/product/osd/drone.rb +4 -4
- data/lib/dji_mqtt_connect/messages/thing/product/osd/remote.rb +1 -1
- data/lib/dji_mqtt_connect/messages/thing/product/requests/airport_organization_bind.rb +3 -3
- data/lib/dji_mqtt_connect/messages/thing/product/requests/airport_organization_get.rb +2 -2
- data/lib/dji_mqtt_connect/messages/thing/product/requests/offline_map_get.rb +13 -0
- data/lib/dji_mqtt_connect/messages/thing/product/requests_reply/offline_map_get.rb +29 -0
- data/lib/dji_mqtt_connect/utils/message_parsing.rb +41 -0
- data/lib/dji_mqtt_connect/version.rb +1 -1
- data/lib/dji_mqtt_connect.rb +2 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7027ac9b38e9e7b0a0927e4fd9b6419c910d8c6fb3b531fdf70f5384a8f924b1
|
4
|
+
data.tar.gz: e8ebff861fe60c9f97d6ab1123c557c606d9ff1c7fac4585b119d8810de334ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0508e79e10728091f78602a32b4c5af879952c042f6ca2c9feb82f9141fb63ee2184f1d43e0ff484108139b8e0f3e591d8d60b29338732732b83a401ed6a5e4c'
|
7
|
+
data.tar.gz: 913b5ea242a5f96f3f5e0331fe55cc123632d5baa7db91016cb932233fc3322e0ae1b8a88e8fda32f7b6ed21aca6e26cf9e38e8dc9b599a811c7672246ce6fe1
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
dji_mqtt_connect (0.1.
|
4
|
+
dji_mqtt_connect (0.1.22)
|
5
5
|
activesupport (>= 6.0, <= 8)
|
6
6
|
dry-struct (~> 1.6)
|
7
7
|
dry-transformer (~> 1.0)
|
@@ -144,6 +144,7 @@ GEM
|
|
144
144
|
|
145
145
|
PLATFORMS
|
146
146
|
arm64-darwin-22
|
147
|
+
arm64-darwin-23
|
147
148
|
x86_64-darwin-21
|
148
149
|
x86_64-linux
|
149
150
|
|
@@ -644,6 +644,29 @@ module DjiMqttConnect
|
|
644
644
|
)
|
645
645
|
end
|
646
646
|
|
647
|
+
def build_thing_product_offline_map_get_requests_message
|
648
|
+
message_data = {}
|
649
|
+
|
650
|
+
Thing::Product::OfflineMapGetRequestsMessage.new(
|
651
|
+
_method: "offline_map_get",
|
652
|
+
_data: message_data,
|
653
|
+
tid: Message.generate_tid,
|
654
|
+
bid: Message.generate_bid,
|
655
|
+
timestamp: Message.current_timestamp,
|
656
|
+
gateway: "gatewaysn",
|
657
|
+
data: message_data
|
658
|
+
)
|
659
|
+
end
|
660
|
+
|
661
|
+
def build_thing_product_offline_map_get_requests_reply_message
|
662
|
+
request_message = build_thing_product_offline_map_get_requests_message
|
663
|
+
|
664
|
+
Thing::Product::OfflineMapGetRequestsReplyMessage.build_for(
|
665
|
+
request_message,
|
666
|
+
result: 0
|
667
|
+
)
|
668
|
+
end
|
669
|
+
|
647
670
|
def build_thing_product_storage_config_get_requests_message
|
648
671
|
message_data = {
|
649
672
|
module: 0
|
@@ -21,7 +21,7 @@ module DjiMqttConnect
|
|
21
21
|
# Attempts to look a the method attribute, and builds a specific Message class for the message
|
22
22
|
def load(raw_message)
|
23
23
|
# Parse the message from JSON
|
24
|
-
parsed_message =
|
24
|
+
parsed_message = parse_json(raw_message)
|
25
25
|
|
26
26
|
# Transform the message
|
27
27
|
transformed_message = attribute_transformer.call(parsed_message)
|
@@ -29,11 +29,7 @@ module DjiMqttConnect
|
|
29
29
|
|
30
30
|
# Build an instance of the class, or a generic message from the current class
|
31
31
|
message_class = message_class_from_message_method(message_method, StatusMessage)
|
32
|
-
message_class
|
33
|
-
rescue JSON::ParserError => e
|
34
|
-
raise ParseError.new(e, "Unable to parse message as JSON")
|
35
|
-
rescue Dry::Struct::Error => e
|
36
|
-
raise ParseError.new(e, "Unexpected #{message_class} payload")
|
32
|
+
build_message(message_class, transformed_message)
|
37
33
|
end
|
38
34
|
|
39
35
|
private
|
@@ -62,7 +62,7 @@ module DjiMqttConnect
|
|
62
62
|
# Attempts to look a the method attribute, and builds a specific Message class for the message
|
63
63
|
def load(raw_message)
|
64
64
|
# Parse the message from JSON
|
65
|
-
parsed_message =
|
65
|
+
parsed_message = parse_json(raw_message)
|
66
66
|
|
67
67
|
# Transform the message
|
68
68
|
transformed_message = attribute_transformer.call(parsed_message)
|
@@ -70,11 +70,7 @@ module DjiMqttConnect
|
|
70
70
|
|
71
71
|
# Build an instance of the class, or a generic message from the current class
|
72
72
|
message_class = message_class_from_message_method(message_method, EventsMessage)
|
73
|
-
message_class
|
74
|
-
rescue JSON::ParserError => e
|
75
|
-
raise ParseError.new(e, "Unable to parse message as JSON")
|
76
|
-
rescue Dry::Struct::Error => e
|
77
|
-
raise ParseError.new(e, "Unexpected #{message_class} payload")
|
73
|
+
build_message(message_class, transformed_message)
|
78
74
|
end
|
79
75
|
|
80
76
|
private
|
@@ -6,6 +6,8 @@ require "json"
|
|
6
6
|
module DjiMqttConnect
|
7
7
|
module Thing::Product
|
8
8
|
class OsdMarshal < MessageMarshal
|
9
|
+
include Utils::MessageParsing
|
10
|
+
|
9
11
|
# Make a copy of the raw data
|
10
12
|
class AttributeTransformer < Dry::Transformer::Pipe
|
11
13
|
import Dry::Transformer::Conditional
|
@@ -36,7 +38,7 @@ module DjiMqttConnect
|
|
36
38
|
|
37
39
|
# Parse message from Device > Cloud Server
|
38
40
|
def load(raw_message)
|
39
|
-
parsed_message =
|
41
|
+
parsed_message = parse_json(raw_message)
|
40
42
|
|
41
43
|
message_data = parsed_message.fetch("data", {})
|
42
44
|
|
@@ -53,11 +55,7 @@ module DjiMqttConnect
|
|
53
55
|
|
54
56
|
transformed_message = attribute_transformer.call(parsed_message)
|
55
57
|
|
56
|
-
message_class
|
57
|
-
rescue JSON::ParserError => e
|
58
|
-
raise ParseError.new(e, "Unable to parse message as JSON")
|
59
|
-
rescue Dry::Struct::Error => e
|
60
|
-
raise ParseError.new(e, "Invalid #{message_class} payload")
|
58
|
+
build_message(message_class, transformed_message)
|
61
59
|
end
|
62
60
|
|
63
61
|
private
|
@@ -22,7 +22,7 @@ module DjiMqttConnect
|
|
22
22
|
# Attempts to look a the method attribute, and builds a specific Message class for the message
|
23
23
|
def load(raw_message)
|
24
24
|
# Parse the message from JSON
|
25
|
-
parsed_message =
|
25
|
+
parsed_message = parse_json(raw_message)
|
26
26
|
|
27
27
|
# Transform the message
|
28
28
|
transformed_message = attribute_transformer.call(parsed_message)
|
@@ -30,11 +30,7 @@ module DjiMqttConnect
|
|
30
30
|
|
31
31
|
# Build an instance of the class, or a generic message from the current class
|
32
32
|
message_class = message_class_from_message_method(message_method, RequestsMessage)
|
33
|
-
message_class
|
34
|
-
rescue JSON::ParserError => e
|
35
|
-
raise ParseError.new(e, "Unable to parse message as JSON")
|
36
|
-
rescue Dry::Struct::Error => e
|
37
|
-
raise ParseError.new(e, "Unexpected #{message_class} payload")
|
33
|
+
build_message(message_class, transformed_message)
|
38
34
|
end
|
39
35
|
|
40
36
|
private
|
@@ -22,7 +22,7 @@ module DjiMqttConnect
|
|
22
22
|
# Attempts to look a the method attribute, and builds a specific Message class for the message
|
23
23
|
def load(raw_message)
|
24
24
|
# Parse the message from JSON
|
25
|
-
parsed_message =
|
25
|
+
parsed_message = parse_json(raw_message)
|
26
26
|
|
27
27
|
# Transform the message
|
28
28
|
transformed_message = attribute_transformer.call(parsed_message)
|
@@ -30,11 +30,7 @@ module DjiMqttConnect
|
|
30
30
|
|
31
31
|
# Build an instance of the class, or a generic message from the current class
|
32
32
|
message_class = message_class_from_message_method(message_method, ServicesReplyMessage)
|
33
|
-
message_class
|
34
|
-
rescue JSON::ParserError => e
|
35
|
-
raise ParseError.new(e, "Unable to parse message as JSON")
|
36
|
-
rescue Dry::Struct::Error => e
|
37
|
-
raise ParseError.new(e, "Unexpected #{message_class} payload")
|
33
|
+
build_message(message_class, transformed_message)
|
38
34
|
end
|
39
35
|
|
40
36
|
private
|
@@ -21,17 +21,13 @@ module DjiMqttConnect
|
|
21
21
|
# Attempts to look a the method attribute, and builds a specific Message class for the message
|
22
22
|
def load(raw_message)
|
23
23
|
# Parse the message from JSON
|
24
|
-
parsed_message =
|
24
|
+
parsed_message = parse_json(raw_message)
|
25
25
|
|
26
26
|
# Transform the message
|
27
27
|
transformed_message = attribute_transformer.call(parsed_message)
|
28
28
|
|
29
29
|
# Build an instance of the class, or a generic message from the current class
|
30
|
-
StateMessage
|
31
|
-
rescue JSON::ParserError => e
|
32
|
-
raise ParseError.new(e, "Unable to parse message as JSON")
|
33
|
-
rescue Dry::Struct::Error => e
|
34
|
-
raise ParseError.new(e, "Unexpected #{StateMessage} payload")
|
30
|
+
build_message(StateMessage, transformed_message)
|
35
31
|
end
|
36
32
|
|
37
33
|
private
|
@@ -13,7 +13,7 @@ module DjiMqttConnect
|
|
13
13
|
attribute :file do
|
14
14
|
attribute :object_key, Types::String
|
15
15
|
|
16
|
-
attribute :path, Types::String
|
16
|
+
attribute :path, Types::String | Types::Nil
|
17
17
|
|
18
18
|
attribute :name, Types::String
|
19
19
|
|
@@ -35,7 +35,7 @@ module DjiMqttConnect
|
|
35
35
|
|
36
36
|
attribute :relative_altitude, Types::JSON::Decimal
|
37
37
|
|
38
|
-
attribute :created_time, Types::JSON::DateTime
|
38
|
+
attribute :created_time, Types::JSON::DateTime | Types::Nil
|
39
39
|
|
40
40
|
attribute :shoot_position do
|
41
41
|
include Mixins::LatitudeConditional
|
@@ -16,7 +16,7 @@ module DjiMqttConnect
|
|
16
16
|
attribute :ext do
|
17
17
|
attribute :current_waypoint_index, Types::Integer
|
18
18
|
attribute? :media_count, Types::Integer
|
19
|
-
attribute :track_id, Types::String
|
19
|
+
attribute :track_id, Types::String | Types::Nil
|
20
20
|
attribute :flight_id, Types::String
|
21
21
|
|
22
22
|
attribute? :break_point do
|
@@ -32,11 +32,11 @@ module DjiMqttConnect
|
|
32
32
|
include Mixins::TemperatureConditional
|
33
33
|
|
34
34
|
attribute :capacity_percent, Types::Integer
|
35
|
-
attribute :firmware_version, Types::String
|
35
|
+
attribute :firmware_version, Types::String | Types::Nil
|
36
36
|
attribute? :high_voltage_storage_days, Types::Integer
|
37
37
|
attribute :index, Types::Integer
|
38
38
|
attribute :loop_times, Types::Integer
|
39
|
-
attribute :sn, Types::String
|
39
|
+
attribute :sn, Types::String | Types::Nil
|
40
40
|
attribute :sub_type, Types::DeviceSubType
|
41
41
|
attribute :temperature, Types::Temperature
|
42
42
|
attribute :type, Types::DeviceType
|
@@ -58,7 +58,7 @@ module DjiMqttConnect
|
|
58
58
|
end
|
59
59
|
attribute :elevation, Types::JSON::Decimal
|
60
60
|
|
61
|
-
attribute? :firmware_version, Types::String
|
61
|
+
attribute? :firmware_version, Types::String | Types::Nil
|
62
62
|
attribute :gear, Types::Integer
|
63
63
|
attribute :height, Types::JSON::Decimal
|
64
64
|
attribute? :height_limit, Types::JSON::Decimal
|
@@ -79,7 +79,7 @@ module DjiMqttConnect
|
|
79
79
|
end
|
80
80
|
attribute :total_flight_distance, Types::JSON::Decimal
|
81
81
|
attribute :total_flight_time, Types::JSON::Decimal
|
82
|
-
attribute? :track_id, Types::String
|
82
|
+
attribute? :track_id, Types::String | Types::Nil
|
83
83
|
attribute :vertical_speed, Types::JSON::Decimal
|
84
84
|
attribute :wind_direction, Types::JSON::Decimal
|
85
85
|
attribute :wind_speed, Types::JSON::Decimal
|
@@ -15,7 +15,7 @@ module DjiMqttConnect
|
|
15
15
|
attribute? :live_status do
|
16
16
|
attribute :live_time, Types::Integer
|
17
17
|
attribute :live_trendline, Types::Integer
|
18
|
-
attribute :video_id, Types::String
|
18
|
+
attribute :video_id, Types::String | Types::Nil
|
19
19
|
attribute :video_quality, Types::Integer
|
20
20
|
end
|
21
21
|
attribute? :transmission_signal_quality, Types::Integer
|
@@ -8,9 +8,9 @@ module DjiMqttConnect
|
|
8
8
|
|
9
9
|
attribute :data do
|
10
10
|
attribute :bind_devices, Types::Array do
|
11
|
-
attribute :device_binding_code, Types::String
|
12
|
-
attribute :organization_id, Types::String
|
13
|
-
attribute :device_callsign, Types::String
|
11
|
+
attribute :device_binding_code, Types::String | Types::Nil
|
12
|
+
attribute :organization_id, Types::String | Types::Nil
|
13
|
+
attribute :device_callsign, Types::String | Types::Nil
|
14
14
|
attribute :sn, Types::String
|
15
15
|
attribute :device_model_key, Types::String
|
16
16
|
attribute :device_nonce, Types::String
|
@@ -7,8 +7,8 @@ module DjiMqttConnect
|
|
7
7
|
attribute :_method, Types::String.enum("airport_organization_get")
|
8
8
|
|
9
9
|
attribute :data do
|
10
|
-
attribute :device_binding_code, Types::String
|
11
|
-
attribute :organization_id, Types::String
|
10
|
+
attribute :device_binding_code, Types::String | Types::Nil
|
11
|
+
attribute :organization_id, Types::String | Types::Nil
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DjiMqttConnect
|
4
|
+
module Thing::Product
|
5
|
+
# Get the offline map data
|
6
|
+
# https://developer.dji.com/doc/cloud-api-tutorial/en/faq.html#why-does-the-third-party-platform-experience-prolonged-wait-time-when-executing-one-key-takeoff-or-wayline-missions-on-the-dock
|
7
|
+
class OfflineMapGetRequestsMessage < RequestsMessage
|
8
|
+
attribute :_method, Types::String.enum("offline_map_get")
|
9
|
+
|
10
|
+
attribute :data, Types::Hash
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DjiMqttConnect
|
4
|
+
module Thing::Product
|
5
|
+
# https://developer.dji.com/doc/cloud-api-tutorial/en/faq.html#why-does-the-third-party-platform-experience-prolonged-wait-time-when-executing-one-key-takeoff-or-wayline-missions-on-the-dock
|
6
|
+
class OfflineMapGetRequestsReplyMessage < Message
|
7
|
+
def self.build_for(offline_map_get, result: 0)
|
8
|
+
new(
|
9
|
+
_method: offline_map_get._method,
|
10
|
+
data: {
|
11
|
+
result: result
|
12
|
+
},
|
13
|
+
tid: offline_map_get.tid,
|
14
|
+
bid: offline_map_get.bid,
|
15
|
+
timestamp: current_timestamp
|
16
|
+
)
|
17
|
+
end
|
18
|
+
|
19
|
+
attribute :tid, Types::UUID
|
20
|
+
attribute :bid, Types::UUID
|
21
|
+
attribute :timestamp, Types::Timestamp
|
22
|
+
|
23
|
+
attribute :_method, Types::String.enum("offline_map_get")
|
24
|
+
attribute :data do
|
25
|
+
attribute :result, Types::ResultCode
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -5,6 +5,47 @@ module DjiMqttConnect
|
|
5
5
|
module MessageParsing
|
6
6
|
private
|
7
7
|
|
8
|
+
def parse_json(raw_message)
|
9
|
+
parsed_message = JSON.parse(raw_message)
|
10
|
+
strip_blank_strings(parsed_message)
|
11
|
+
rescue JSON::ParserError => e
|
12
|
+
raise ParseError.new(e, "Unable to parse message as JSON (#{e.message})")
|
13
|
+
end
|
14
|
+
|
15
|
+
def strip_blank_strings(object)
|
16
|
+
case object
|
17
|
+
when Hash
|
18
|
+
object.transform_values(&method(:strip_blank_strings))
|
19
|
+
when Array
|
20
|
+
object.map(&method(:strip_blank_strings))
|
21
|
+
when String
|
22
|
+
object.strip.presence
|
23
|
+
else
|
24
|
+
object
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def build_message(message_class, transformed_message)
|
29
|
+
message_class.new transformed_message
|
30
|
+
rescue Dry::Struct::Error => e
|
31
|
+
# Get the source of the error and the error message (without the source)
|
32
|
+
source = e.message.include?(".new] ") ? e.message.split(".new] ").first.sub(/\A\[/, "") : message_class.name
|
33
|
+
error_message = e.message.split(".new] ").last
|
34
|
+
|
35
|
+
case e.cause
|
36
|
+
when Dry::Types::SchemaError
|
37
|
+
# Clean up the error message to be more developer-friendly
|
38
|
+
# e.message: [DjiMqttConnect::Sys::Product::StatusMessage.new] nil (NilClass) has invalid type for :_data violates constraints (type?(Hash, nil) failed)
|
39
|
+
# e.cause.message: nil (NilClass) has invalid type for :_data violates constraints (type?(Hash, nil) failed)
|
40
|
+
cause_key = e.cause.key.to_s.sub("_data", "data")
|
41
|
+
cause_message = "#{e.cause.value.inspect} (#{e.cause.value.class.name}) is invalid type for :#{cause_key}"
|
42
|
+
# cause_message: nil (NilClass) is invalid type for :data
|
43
|
+
raise ParseError.new(e, "Unexpected #{source} payload (#{cause_message})")
|
44
|
+
else
|
45
|
+
raise ParseError.new(e, "Unexpected #{source} payload (#{error_message})")
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
8
49
|
def message_class_from_message_method(message_method, generic_class)
|
9
50
|
return generic_class if message_method.blank?
|
10
51
|
|
data/lib/dji_mqtt_connect.rb
CHANGED
@@ -66,6 +66,7 @@ module DjiMqttConnect
|
|
66
66
|
autoload :ConfigRequestsMessage, "dji_mqtt_connect/messages/thing/product/requests/config"
|
67
67
|
autoload :FlightAreasGetRequestsMessage, "dji_mqtt_connect/messages/thing/product/requests/flight_areas_get"
|
68
68
|
autoload :FlighttaskResourceGetRequestsMessage, "dji_mqtt_connect/messages/thing/product/requests/flighttask_resource_get"
|
69
|
+
autoload :OfflineMapGetRequestsMessage, "dji_mqtt_connect/messages/thing/product/requests/offline_map_get"
|
69
70
|
autoload :StorageConfigGetRequestsMessage, "dji_mqtt_connect/messages/thing/product/requests/storage_config_get"
|
70
71
|
autoload :RequestsMessage, "dji_mqtt_connect/messages/thing/product/requests_message"
|
71
72
|
|
@@ -75,6 +76,7 @@ module DjiMqttConnect
|
|
75
76
|
autoload :FlightAreasGetRequestsReplyMessage, "dji_mqtt_connect/messages/thing/product/requests_reply/flight_areas_get"
|
76
77
|
autoload :ConfigRequestsReplyMessage, "dji_mqtt_connect/messages/thing/product/requests_reply/config"
|
77
78
|
autoload :FlighttaskResourceGetRequestsReplyMessage, "dji_mqtt_connect/messages/thing/product/requests_reply/flighttask_resource_get"
|
79
|
+
autoload :OfflineMapGetRequestsReplyMessage, "dji_mqtt_connect/messages/thing/product/requests_reply/offline_map_get"
|
78
80
|
autoload :StorageConfigGetRequestsReplyMessage, "dji_mqtt_connect/messages/thing/product/requests_reply/storage_config_get"
|
79
81
|
|
80
82
|
autoload :ServicesMessage, "dji_mqtt_connect/messages/thing/product/services_message"
|
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.
|
4
|
+
version: 0.1.22
|
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-
|
11
|
+
date: 2024-08-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -157,6 +157,7 @@ files:
|
|
157
157
|
- lib/dji_mqtt_connect/messages/thing/product/requests/config.rb
|
158
158
|
- lib/dji_mqtt_connect/messages/thing/product/requests/flight_areas_get.rb
|
159
159
|
- lib/dji_mqtt_connect/messages/thing/product/requests/flighttask_resource_get.rb
|
160
|
+
- lib/dji_mqtt_connect/messages/thing/product/requests/offline_map_get.rb
|
160
161
|
- lib/dji_mqtt_connect/messages/thing/product/requests/storage_config_get.rb
|
161
162
|
- lib/dji_mqtt_connect/messages/thing/product/requests_message.rb
|
162
163
|
- lib/dji_mqtt_connect/messages/thing/product/requests_reply/airport_bind_status.rb
|
@@ -165,6 +166,7 @@ files:
|
|
165
166
|
- lib/dji_mqtt_connect/messages/thing/product/requests_reply/config.rb
|
166
167
|
- lib/dji_mqtt_connect/messages/thing/product/requests_reply/flight_areas_get.rb
|
167
168
|
- lib/dji_mqtt_connect/messages/thing/product/requests_reply/flighttask_resource_get.rb
|
169
|
+
- lib/dji_mqtt_connect/messages/thing/product/requests_reply/offline_map_get.rb
|
168
170
|
- lib/dji_mqtt_connect/messages/thing/product/requests_reply/storage_config_get.rb
|
169
171
|
- lib/dji_mqtt_connect/messages/thing/product/services/alarm_state_switch.rb
|
170
172
|
- lib/dji_mqtt_connect/messages/thing/product/services/cover_close.rb
|
@@ -251,7 +253,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
251
253
|
- !ruby/object:Gem::Version
|
252
254
|
version: '0'
|
253
255
|
requirements: []
|
254
|
-
rubygems_version: 3.5.
|
256
|
+
rubygems_version: 3.5.15
|
255
257
|
signing_key:
|
256
258
|
specification_version: 4
|
257
259
|
summary: Manages MQTT Connections with DJI Drones
|