dji_mqtt_connect 0.1.12 → 0.1.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/dji_mqtt_connect/client.rb +5 -0
  4. data/lib/dji_mqtt_connect/factories.rb +358 -2
  5. data/lib/dji_mqtt_connect/marshals/thing/product/services_reply_marshal.rb +47 -0
  6. data/lib/dji_mqtt_connect/messages/thing/product/events/cover_close.rb +65 -0
  7. data/lib/dji_mqtt_connect/messages/thing/product/events/cover_open.rb +65 -0
  8. data/lib/dji_mqtt_connect/messages/thing/product/events/device_exit_homing_notify.rb +36 -0
  9. data/lib/dji_mqtt_connect/messages/thing/product/events/device_log.rb +20 -0
  10. data/lib/dji_mqtt_connect/messages/thing/product/{file_upload_callback_events_message.rb → events/file_upload_callback.rb} +0 -7
  11. data/lib/dji_mqtt_connect/messages/thing/product/{fileupload_progress_events_message.rb → events/fileupload_progress.rb} +4 -11
  12. data/lib/dji_mqtt_connect/messages/thing/product/events/flighttask_progress.rb +67 -0
  13. data/lib/dji_mqtt_connect/messages/thing/product/events/flighttask_ready.rb +15 -0
  14. data/lib/dji_mqtt_connect/messages/thing/product/{highest_priority_upload_flighttask_media_events_message.rb → events/highest_priority_upload_flighttask_media.rb} +0 -7
  15. data/lib/dji_mqtt_connect/messages/thing/product/events_message.rb +7 -0
  16. data/lib/dji_mqtt_connect/messages/thing/product/events_reply_message.rb +3 -0
  17. data/lib/dji_mqtt_connect/messages/thing/product/requests/flighttask_resource_get.rb +15 -0
  18. data/lib/dji_mqtt_connect/messages/thing/product/requests_reply/flighttask_resource_get.rb +44 -0
  19. data/lib/dji_mqtt_connect/messages/thing/product/services/alarm_state_switch.rb +29 -0
  20. data/lib/dji_mqtt_connect/messages/thing/product/{cover_close_services_message.rb → services/cover_close.rb} +2 -5
  21. data/lib/dji_mqtt_connect/messages/thing/product/{cover_open_services_message.rb → services/cover_open.rb} +2 -5
  22. data/lib/dji_mqtt_connect/messages/thing/product/services/debug_mode_close.rb +20 -0
  23. data/lib/dji_mqtt_connect/messages/thing/product/services/debug_mode_open.rb +20 -0
  24. data/lib/dji_mqtt_connect/messages/thing/product/{fileupload_list_services_message.rb → services/fileupload_list.rb} +1 -4
  25. data/lib/dji_mqtt_connect/messages/thing/product/{fileupload_start_services_message.rb → services/fileupload_start.rb} +1 -5
  26. data/lib/dji_mqtt_connect/messages/thing/product/services/flighttask_execute.rb +27 -0
  27. data/lib/dji_mqtt_connect/messages/thing/product/services/flighttask_pause.rb +20 -0
  28. data/lib/dji_mqtt_connect/messages/thing/product/services/flighttask_prepare.rb +86 -0
  29. data/lib/dji_mqtt_connect/messages/thing/product/services/flighttask_recovery.rb +22 -0
  30. data/lib/dji_mqtt_connect/messages/thing/product/services/flighttask_undo.rb +27 -0
  31. data/lib/dji_mqtt_connect/messages/thing/product/services/return_home.rb +25 -0
  32. data/lib/dji_mqtt_connect/messages/thing/product/services/return_home_cancel.rb +28 -0
  33. data/lib/dji_mqtt_connect/messages/thing/product/services_message.rb +14 -0
  34. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/alarm_state_switch.rb +27 -0
  35. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/cover_close.rb +27 -0
  36. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/cover_open.rb +27 -0
  37. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/debug_mode_close.rb +27 -0
  38. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/debug_mode_open.rb +27 -0
  39. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/flighttask_execute.rb +9 -0
  40. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/flighttask_pause.rb +9 -0
  41. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/flighttask_prepare.rb +9 -0
  42. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/flighttask_recovery.rb +9 -0
  43. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/flighttask_undo.rb +9 -0
  44. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/return_home.rb +27 -0
  45. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/return_home_cancel.rb +9 -0
  46. data/lib/dji_mqtt_connect/messages/thing/product/services_reply_message.rb +23 -0
  47. data/lib/dji_mqtt_connect/topics/thing/product/services_reply.rb +40 -0
  48. data/lib/dji_mqtt_connect/types.rb +2 -0
  49. data/lib/dji_mqtt_connect/version.rb +1 -1
  50. data/lib/dji_mqtt_connect.rb +61 -26
  51. metadata +60 -26
  52. /data/lib/dji_mqtt_connect/messages/sys/product/{update_topo_status_message.rb → status/update_topo.rb} +0 -0
  53. /data/lib/dji_mqtt_connect/messages/sys/product/{update_topo_status_reply_message.rb → status_reply/update_topo.rb} +0 -0
  54. /data/lib/dji_mqtt_connect/messages/thing/product/{hms_events_message.rb → events/hms.rb} +0 -0
  55. /data/lib/dji_mqtt_connect/messages/thing/product/{status_code_events_message.rb → events/status_code.rb} +0 -0
  56. /data/lib/dji_mqtt_connect/messages/thing/product/{dock_osd_message.rb → osd/dock.rb} +0 -0
  57. /data/lib/dji_mqtt_connect/messages/thing/product/{drone_osd_message.rb → osd/drone.rb} +0 -0
  58. /data/lib/dji_mqtt_connect/messages/thing/product/{remote_osd_message.rb → osd/remote.rb} +0 -0
  59. /data/lib/dji_mqtt_connect/messages/thing/product/{airport_bind_status_requests_message.rb → requests/airport_bind_status.rb} +0 -0
  60. /data/lib/dji_mqtt_connect/messages/thing/product/{airport_organization_bind_requests_message.rb → requests/airport_organization_bind.rb} +0 -0
  61. /data/lib/dji_mqtt_connect/messages/thing/product/{airport_organization_get_requests_message.rb → requests/airport_organization_get.rb} +0 -0
  62. /data/lib/dji_mqtt_connect/messages/thing/product/{config_requests_message.rb → requests/config.rb} +0 -0
  63. /data/lib/dji_mqtt_connect/messages/thing/product/{storage_config_get_requests_message.rb → requests/storage_config_get.rb} +0 -0
  64. /data/lib/dji_mqtt_connect/messages/thing/product/{airport_bind_status_requests_reply_message.rb → requests_reply/airport_bind_status.rb} +0 -0
  65. /data/lib/dji_mqtt_connect/messages/thing/product/{airport_organization_bind_requests_reply_message.rb → requests_reply/airport_organization_bind.rb} +0 -0
  66. /data/lib/dji_mqtt_connect/messages/thing/product/{airport_organization_get_requests_reply_message.rb → requests_reply/airport_organization_get.rb} +0 -0
  67. /data/lib/dji_mqtt_connect/messages/thing/product/{config_requests_reply_message.rb → requests_reply/config.rb} +0 -0
  68. /data/lib/dji_mqtt_connect/messages/thing/product/{storage_config_get_requests_reply_message.rb → requests_reply/storage_config_get.rb} +0 -0
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Thing::Product
5
+ class AlarmStateSwitchServicesReplyMessage < ServicesReplyMessage
6
+ attribute :_method, Types::String.enum("alarm_state_switch")
7
+
8
+ attribute :data do
9
+ attribute :result, Types::Integer
10
+
11
+ attribute :output do
12
+ # {"sent":"sent","in_progress":"in progress","ok":"success","paused":"paused","rejected":"rejected","failed":"failed","canceled":"canceled or stopped","timeout":"timeout"}
13
+ attribute :status, Types::String.enum(
14
+ "sent",
15
+ "in_progress",
16
+ "ok",
17
+ "paused",
18
+ "rejected",
19
+ "failed",
20
+ "canceled",
21
+ "timeout"
22
+ )
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Thing::Product
5
+ class CoverCloseServicesReplyMessage < ServicesReplyMessage
6
+ attribute :_method, Types::String.enum("cover_close")
7
+
8
+ attribute :data do
9
+ attribute :result, Types::Integer
10
+
11
+ attribute :output do
12
+ # {"sent":"sent","in_progress":"in progress","ok":"success","paused":"paused","rejected":"rejected","failed":"failed","canceled":"canceled or stopped","timeout":"timeout"}
13
+ attribute :status, Types::String.enum(
14
+ "sent",
15
+ "in_progress",
16
+ "ok",
17
+ "paused",
18
+ "rejected",
19
+ "failed",
20
+ "canceled",
21
+ "timeout"
22
+ )
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Thing::Product
5
+ class CoverOpenServicesReplyMessage < ServicesReplyMessage
6
+ attribute :_method, Types::String.enum("cover_open")
7
+
8
+ attribute :data do
9
+ attribute :result, Types::Integer
10
+
11
+ attribute :output do
12
+ # {"sent":"sent","in_progress":"in progress","ok":"success","paused":"paused","rejected":"rejected","failed":"failed","canceled":"canceled or stopped","timeout":"timeout"}
13
+ attribute :status, Types::String.enum(
14
+ "sent",
15
+ "in_progress",
16
+ "ok",
17
+ "paused",
18
+ "rejected",
19
+ "failed",
20
+ "canceled",
21
+ "timeout"
22
+ )
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Thing::Product
5
+ class DebugModeCloseServicesReplyMessage < ServicesReplyMessage
6
+ attribute :_method, Types::String.enum("debug_mode_close")
7
+
8
+ attribute :data do
9
+ attribute :result, Types::Integer
10
+
11
+ attribute :output do
12
+ # {"sent":"sent","in_progress":"in progress","ok":"success","paused":"paused","rejected":"rejected","failed":"failed","canceled":"canceled or stopped","timeout":"timeout"}
13
+ attribute :status, Types::String.enum(
14
+ "sent",
15
+ "in_progress",
16
+ "ok",
17
+ "paused",
18
+ "rejected",
19
+ "failed",
20
+ "canceled",
21
+ "timeout"
22
+ )
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Thing::Product
5
+ class DebugModeOpenServicesReplyMessage < ServicesReplyMessage
6
+ attribute :_method, Types::String.enum("debug_mode_open")
7
+
8
+ attribute :data do
9
+ attribute :result, Types::Integer
10
+
11
+ attribute :output do
12
+ # {"sent":"sent","in_progress":"in progress","ok":"success","paused":"paused","rejected":"rejected","failed":"failed","canceled":"canceled or stopped","timeout":"timeout"}
13
+ attribute :status, Types::String.enum(
14
+ "sent",
15
+ "in_progress",
16
+ "ok",
17
+ "paused",
18
+ "rejected",
19
+ "failed",
20
+ "canceled",
21
+ "timeout"
22
+ )
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Thing::Product
5
+ class FlighttaskExecuteServicesReplyMessage < ServicesReplyMessage
6
+ attribute :_method, Types::String.enum("flighttask_execute")
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Thing::Product
5
+ class FlighttaskPauseServicesReplyMessage < ServicesReplyMessage
6
+ attribute :_method, Types::String.enum("flighttask_pause")
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Thing::Product
5
+ class FlighttaskPrepareServicesReplyMessage < ServicesReplyMessage
6
+ attribute :_method, Types::String.enum("flighttask_prepare")
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Thing::Product
5
+ class FlighttaskRecoveryServicesReplyMessage < ServicesReplyMessage
6
+ attribute :_method, Types::String.enum("flighttask_recovery")
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Thing::Product
5
+ class FlighttaskUndoServicesReplyMessage < ServicesReplyMessage
6
+ attribute :_method, Types::String.enum("flighttask_undo")
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Thing::Product
5
+ class ReturnHomeServicesReplyMessage < ServicesReplyMessage
6
+ attribute :_method, Types::String.enum("return_home")
7
+
8
+ attribute :data do
9
+ attribute :result, Types::Integer
10
+
11
+ attribute :output do
12
+ # {"sent":"sent","in_progress":"in progress","ok":"succeeded","paused":"paused","rejected":"rejected","failed":"failed","canceled":"canceled or terminated","timeout":"timeout"}
13
+ attribute :status, Types::String.enum(
14
+ "sent",
15
+ "in_progress",
16
+ "ok",
17
+ "paused",
18
+ "rejected",
19
+ "failed",
20
+ "canceled",
21
+ "timeout"
22
+ )
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Thing::Product
5
+ class ReturnHomeCancelServicesReplyMessage < ServicesReplyMessage
6
+ attribute :_method, Types::String.enum("return_home_cancel")
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Thing::Product
5
+ class ServicesReplyMessage < DjiMqttConnect::Message
6
+ attribute :tid, Types::UUID
7
+ attribute :bid, Types::UUID
8
+ attribute :timestamp, Types::Timestamp
9
+
10
+ attribute :_data, Types::Hash
11
+ attribute :_method, Types::String
12
+
13
+ attribute :data do
14
+ attribute :result, Types::Integer
15
+ end
16
+
17
+ def to_s
18
+ # Include data method for Generic messages
19
+ instance_of?(ServicesReplyMessage) ? "#{super}[#{_method}]" : super
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Thing::Product
5
+ class ServicesReplyTopicRepository < TopicRepository
6
+ SERVICES_REPLY_TOPIC_REGEX = /\Athing\/product\/(?<gateway_sn>.+)\/services_reply\z/
7
+
8
+ def listen!
9
+ listen_to_topic("thing/product/+/services_reply") do |topic, raw_message|
10
+ logger.debug(raw_message)
11
+
12
+ matched_topic = SERVICES_REPLY_TOPIC_REGEX.match(topic)
13
+ raise Error, "Unknown topic: #{topic}" unless matched_topic
14
+
15
+ gateway_sn = matched_topic[:gateway_sn]
16
+ message = services_reply_marshal.load(raw_message)
17
+
18
+ logger.info("Received #{message} from #{gateway_sn}")
19
+
20
+ if message.instance_of?(ServicesReplyMessage)
21
+ # Broadcast an unsupported message event
22
+ broadcast(:unsupported_message, topic, raw_message)
23
+ else
24
+ # Build event name and broadcast (i.e. ::FlighttaskPrepareServicesReplyMessage => flighttask_prepare_reply)
25
+ event_name = "#{message._method.to_sym}_reply"
26
+ broadcast(event_name, gateway_sn, message)
27
+ end
28
+ rescue ParseError => error
29
+ broadcast(:parse_error, error, topic, raw_message)
30
+ end
31
+ end
32
+
33
+ private
34
+
35
+ def services_reply_marshal
36
+ @services_reply_marshal ||= ServicesReplyMarshal.new
37
+ end
38
+ end
39
+ end
40
+ end
@@ -16,6 +16,8 @@ module DjiMqttConnect
16
16
  # Just make sure Timestamps are positive
17
17
  Timestamp = Types::Integer.constrained(gteq: 0)
18
18
 
19
+ SerialNumber = Types::String
20
+
19
21
  # lat/lng coordinates
20
22
  Latitude = NullInteger | Types::JSON::Decimal.constrained(gteq: -90, lteq: 90)
21
23
  Longitude = NullInteger | Types::JSON::Decimal.constrained(gteq: -180, lteq: 180)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DjiMqttConnect
4
- VERSION = "0.1.12"
4
+ VERSION = "0.1.13"
5
5
  end
@@ -18,8 +18,8 @@ module DjiMqttConnect
18
18
  module Product
19
19
  # Messages
20
20
  autoload :StatusMessage, "dji_mqtt_connect/messages/sys/product/status_message"
21
- autoload :UpdateTopoStatusMessage, "dji_mqtt_connect/messages/sys/product/update_topo_status_message"
22
- autoload :UpdateTopoStatusReplyMessage, "dji_mqtt_connect/messages/sys/product/update_topo_status_reply_message"
21
+ autoload :UpdateTopoStatusMessage, "dji_mqtt_connect/messages/sys/product/status/update_topo"
22
+ autoload :UpdateTopoStatusReplyMessage, "dji_mqtt_connect/messages/sys/product/status_reply/update_topo"
23
23
 
24
24
  # Topics
25
25
  autoload :StatusTopicRepository, "dji_mqtt_connect/topics/sys/product/status"
@@ -34,37 +34,70 @@ module DjiMqttConnect
34
34
  module Thing
35
35
  module Product
36
36
  # Messages
37
- autoload :FileUploadCallbackEventsMessage, "dji_mqtt_connect/messages/thing/product/file_upload_callback_events_message"
38
- autoload :FileuploadProgressEventsMessage, "dji_mqtt_connect/messages/thing/product/fileupload_progress_events_message"
39
- autoload :HighestPriorityUploadFlighttaskMediaEventsMessage, "dji_mqtt_connect/messages/thing/product/highest_priority_upload_flighttask_media_events_message"
40
- autoload :HmsEventsMessage, "dji_mqtt_connect/messages/thing/product/hms_events_message"
41
- autoload :StatusCodeEventsMessage, "dji_mqtt_connect/messages/thing/product/status_code_events_message"
37
+ autoload :CoverCloseEventsMessage, "dji_mqtt_connect/messages/thing/product/events/cover_close"
38
+ autoload :CoverOpenEventsMessage, "dji_mqtt_connect/messages/thing/product/events/cover_open"
39
+ autoload :DeviceLogEventsMessage, "dji_mqtt_connect/messages/thing/product/events/device_log"
40
+ autoload :DeviceExitHomingNotifyEventsMessage, "dji_mqtt_connect/messages/thing/product/events/device_exit_homing_notify"
41
+ autoload :FileUploadCallbackEventsMessage, "dji_mqtt_connect/messages/thing/product/events/file_upload_callback"
42
+ autoload :FileuploadProgressEventsMessage, "dji_mqtt_connect/messages/thing/product/events/fileupload_progress"
43
+ autoload :FlighttaskProgressEventsMessage, "dji_mqtt_connect/messages/thing/product/events/flighttask_progress"
44
+ autoload :FlighttaskReadyEventsMessage, "dji_mqtt_connect/messages/thing/product/events/flighttask_ready"
45
+ autoload :HighestPriorityUploadFlighttaskMediaEventsMessage, "dji_mqtt_connect/messages/thing/product/events/highest_priority_upload_flighttask_media"
46
+ autoload :HmsEventsMessage, "dji_mqtt_connect/messages/thing/product/events/hms"
47
+ autoload :StatusCodeEventsMessage, "dji_mqtt_connect/messages/thing/product/events/status_code"
42
48
  autoload :EventsMessage, "dji_mqtt_connect/messages/thing/product/events_message"
43
49
 
44
50
  autoload :EventsReplyMessage, "dji_mqtt_connect/messages/thing/product/events_reply_message"
45
51
 
46
52
  autoload :OsdMessage, "dji_mqtt_connect/messages/thing/product/osd_message"
47
- autoload :DockOsdMessage, "dji_mqtt_connect/messages/thing/product/dock_osd_message"
48
- autoload :DroneOsdMessage, "dji_mqtt_connect/messages/thing/product/drone_osd_message"
49
- autoload :RemoteOsdMessage, "dji_mqtt_connect/messages/thing/product/remote_osd_message"
50
-
51
- autoload :AirportBindStatusRequestsMessage, "dji_mqtt_connect/messages/thing/product/airport_bind_status_requests_message"
52
- autoload :AirportOrganizationBindRequestsMessage, "dji_mqtt_connect/messages/thing/product/airport_organization_bind_requests_message"
53
- autoload :AirportOrganizationGetRequestsMessage, "dji_mqtt_connect/messages/thing/product/airport_organization_get_requests_message"
54
- autoload :ConfigRequestsMessage, "dji_mqtt_connect/messages/thing/product/config_requests_message"
55
- autoload :StorageConfigGetRequestsMessage, "dji_mqtt_connect/messages/thing/product/storage_config_get_requests_message"
53
+ autoload :DockOsdMessage, "dji_mqtt_connect/messages/thing/product/osd/dock"
54
+ autoload :DroneOsdMessage, "dji_mqtt_connect/messages/thing/product/osd/drone"
55
+ autoload :RemoteOsdMessage, "dji_mqtt_connect/messages/thing/product/osd/remote"
56
+
57
+ autoload :AirportBindStatusRequestsMessage, "dji_mqtt_connect/messages/thing/product/requests/airport_bind_status"
58
+ autoload :AirportOrganizationBindRequestsMessage, "dji_mqtt_connect/messages/thing/product/requests/airport_organization_bind"
59
+ autoload :AirportOrganizationGetRequestsMessage, "dji_mqtt_connect/messages/thing/product/requests/airport_organization_get"
60
+ autoload :ConfigRequestsMessage, "dji_mqtt_connect/messages/thing/product/requests/config"
61
+ autoload :FlighttaskResourceGetRequestsMessage, "dji_mqtt_connect/messages/thing/product/requests/flighttask_resource_get"
62
+ autoload :StorageConfigGetRequestsMessage, "dji_mqtt_connect/messages/thing/product/requests/storage_config_get"
56
63
  autoload :RequestsMessage, "dji_mqtt_connect/messages/thing/product/requests_message"
57
64
 
58
- autoload :AirportBindStatusRequestsReplyMessage, "dji_mqtt_connect/messages/thing/product/airport_bind_status_requests_reply_message"
59
- autoload :AirportOrganizationBindRequestsReplyMessage, "dji_mqtt_connect/messages/thing/product/airport_organization_bind_requests_reply_message"
60
- autoload :AirportOrganizationGetRequestsReplyMessage, "dji_mqtt_connect/messages/thing/product/airport_organization_get_requests_reply_message"
61
- autoload :ConfigRequestsReplyMessage, "dji_mqtt_connect/messages/thing/product/config_requests_reply_message"
62
- autoload :StorageConfigGetRequestsReplyMessage, "dji_mqtt_connect/messages/thing/product/storage_config_get_requests_reply_message"
63
-
64
- autoload :CoverCloseServicesMessage, "dji_mqtt_connect/messages/thing/product/cover_close_services_message"
65
- autoload :CoverOpenServicesMessage, "dji_mqtt_connect/messages/thing/product/cover_open_services_message"
66
- autoload :FileuploadListServicesMessage, "dji_mqtt_connect/messages/thing/product/fileupload_list_services_message"
67
- autoload :FileuploadStartServicesMessage, "dji_mqtt_connect/messages/thing/product/fileupload_start_services_message"
65
+ autoload :AirportBindStatusRequestsReplyMessage, "dji_mqtt_connect/messages/thing/product/requests_reply/airport_bind_status"
66
+ autoload :AirportOrganizationBindRequestsReplyMessage, "dji_mqtt_connect/messages/thing/product/requests_reply/airport_organization_bind"
67
+ autoload :AirportOrganizationGetRequestsReplyMessage, "dji_mqtt_connect/messages/thing/product/requests_reply/airport_organization_get"
68
+ autoload :ConfigRequestsReplyMessage, "dji_mqtt_connect/messages/thing/product/requests_reply/config"
69
+ autoload :FlighttaskResourceGetRequestsReplyMessage, "dji_mqtt_connect/messages/thing/product/requests_reply/flighttask_resource_get"
70
+ autoload :StorageConfigGetRequestsReplyMessage, "dji_mqtt_connect/messages/thing/product/requests_reply/storage_config_get"
71
+
72
+ autoload :ServicesMessage, "dji_mqtt_connect/messages/thing/product/services_message"
73
+ autoload :AlarmStateSwitchServicesMessage, "dji_mqtt_connect/messages/thing/product/services/alarm_state_switch"
74
+ autoload :CoverCloseServicesMessage, "dji_mqtt_connect/messages/thing/product/services/cover_close"
75
+ autoload :CoverOpenServicesMessage, "dji_mqtt_connect/messages/thing/product/services/cover_open"
76
+ autoload :DebugModeCloseServicesMessage, "dji_mqtt_connect/messages/thing/product/services/debug_mode_close"
77
+ autoload :DebugModeOpenServicesMessage, "dji_mqtt_connect/messages/thing/product/services/debug_mode_open"
78
+ autoload :FileuploadListServicesMessage, "dji_mqtt_connect/messages/thing/product/services/fileupload_list"
79
+ autoload :FileuploadStartServicesMessage, "dji_mqtt_connect/messages/thing/product/services/fileupload_start"
80
+ autoload :FlighttaskExecuteServicesMessage, "dji_mqtt_connect/messages/thing/product/services/flighttask_execute"
81
+ autoload :FlighttaskPauseServicesMessage, "dji_mqtt_connect/messages/thing/product/services/flighttask_pause"
82
+ autoload :FlighttaskPrepareServicesMessage, "dji_mqtt_connect/messages/thing/product/services/flighttask_prepare"
83
+ autoload :FlighttaskRecoveryServicesMessage, "dji_mqtt_connect/messages/thing/product/services/flighttask_recovery"
84
+ autoload :FlighttaskUndoServicesMessage, "dji_mqtt_connect/messages/thing/product/services/flighttask_undo"
85
+ autoload :ReturnHomeServicesMessage, "dji_mqtt_connect/messages/thing/product/services/return_home"
86
+ autoload :ReturnHomeCancelServicesMessage, "dji_mqtt_connect/messages/thing/product/services/return_home_cancel"
87
+
88
+ autoload :ServicesReplyMessage, "dji_mqtt_connect/messages/thing/product/services_reply_message"
89
+ autoload :AlarmStateSwitchServicesReplyMessage, "dji_mqtt_connect/messages/thing/product/services_reply/alarm_state_switch"
90
+ autoload :CoverCloseServicesReplyMessage, "dji_mqtt_connect/messages/thing/product/services_reply/cover_close"
91
+ autoload :CoverOpenServicesReplyMessage, "dji_mqtt_connect/messages/thing/product/services_reply/cover_open"
92
+ autoload :DebugModeCloseServicesReplyMessage, "dji_mqtt_connect/messages/thing/product/services_reply/debug_mode_close"
93
+ autoload :DebugModeOpenServicesReplyMessage, "dji_mqtt_connect/messages/thing/product/services_reply/debug_mode_open"
94
+ autoload :FlighttaskExecuteServicesReplyMessage, "dji_mqtt_connect/messages/thing/product/services_reply/flighttask_execute"
95
+ autoload :FlighttaskPauseServicesReplyMessage, "dji_mqtt_connect/messages/thing/product/services_reply/flighttask_pause"
96
+ autoload :FlighttaskPrepareServicesReplyMessage, "dji_mqtt_connect/messages/thing/product/services_reply/flighttask_prepare"
97
+ autoload :FlighttaskRecoveryServicesReplyMessage, "dji_mqtt_connect/messages/thing/product/services_reply/flighttask_recovery"
98
+ autoload :FlighttaskUndoServicesReplyMessage, "dji_mqtt_connect/messages/thing/product/services_reply/flighttask_undo"
99
+ autoload :ReturnHomeServicesReplyMessage, "dji_mqtt_connect/messages/thing/product/services_reply/return_home"
100
+ autoload :ReturnHomeCancelServicesReplyMessage, "dji_mqtt_connect/messages/thing/product/services_reply/return_home_cancel"
68
101
 
69
102
  # Topics
70
103
  autoload :EventsTopicRepository, "dji_mqtt_connect/topics/thing/product/events"
@@ -73,6 +106,7 @@ module DjiMqttConnect
73
106
  autoload :RequestsTopicRepository, "dji_mqtt_connect/topics/thing/product/requests"
74
107
  autoload :RequestsReplyTopicRepository, "dji_mqtt_connect/topics/thing/product/requests_reply"
75
108
  autoload :ServicesTopicRepository, "dji_mqtt_connect/topics/thing/product/services"
109
+ autoload :ServicesReplyTopicRepository, "dji_mqtt_connect/topics/thing/product/services_reply"
76
110
 
77
111
  # Marshals
78
112
  autoload :EventsMarshal, "dji_mqtt_connect/marshals/thing/product/events_marshal"
@@ -84,6 +118,7 @@ module DjiMqttConnect
84
118
  autoload :RequestsReplyMarshal, "dji_mqtt_connect/marshals/thing/product/requests_reply_marshal"
85
119
 
86
120
  autoload :ServicesMarshal, "dji_mqtt_connect/marshals/thing/product/services_marshal"
121
+ autoload :ServicesReplyMarshal, "dji_mqtt_connect/marshals/thing/product/services_reply_marshal"
87
122
  end
88
123
  end
89
124
 
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.12
4
+ version: 0.1.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sphere Drones
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-05-31 00:00:00.000000000 Z
11
+ date: 2023-06-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -118,37 +118,70 @@ files:
118
118
  - lib/dji_mqtt_connect/marshals/thing/product/requests_marshal.rb
119
119
  - lib/dji_mqtt_connect/marshals/thing/product/requests_reply_marshal.rb
120
120
  - lib/dji_mqtt_connect/marshals/thing/product/services_marshal.rb
121
+ - lib/dji_mqtt_connect/marshals/thing/product/services_reply_marshal.rb
121
122
  - lib/dji_mqtt_connect/message.rb
122
123
  - lib/dji_mqtt_connect/message_marshal.rb
124
+ - lib/dji_mqtt_connect/messages/sys/product/status/update_topo.rb
123
125
  - lib/dji_mqtt_connect/messages/sys/product/status_message.rb
124
- - lib/dji_mqtt_connect/messages/sys/product/update_topo_status_message.rb
125
- - lib/dji_mqtt_connect/messages/sys/product/update_topo_status_reply_message.rb
126
- - lib/dji_mqtt_connect/messages/thing/product/airport_bind_status_requests_message.rb
127
- - lib/dji_mqtt_connect/messages/thing/product/airport_bind_status_requests_reply_message.rb
128
- - lib/dji_mqtt_connect/messages/thing/product/airport_organization_bind_requests_message.rb
129
- - lib/dji_mqtt_connect/messages/thing/product/airport_organization_bind_requests_reply_message.rb
130
- - lib/dji_mqtt_connect/messages/thing/product/airport_organization_get_requests_message.rb
131
- - lib/dji_mqtt_connect/messages/thing/product/airport_organization_get_requests_reply_message.rb
132
- - lib/dji_mqtt_connect/messages/thing/product/config_requests_message.rb
133
- - lib/dji_mqtt_connect/messages/thing/product/config_requests_reply_message.rb
134
- - lib/dji_mqtt_connect/messages/thing/product/cover_close_services_message.rb
135
- - lib/dji_mqtt_connect/messages/thing/product/cover_open_services_message.rb
136
- - lib/dji_mqtt_connect/messages/thing/product/dock_osd_message.rb
137
- - lib/dji_mqtt_connect/messages/thing/product/drone_osd_message.rb
126
+ - lib/dji_mqtt_connect/messages/sys/product/status_reply/update_topo.rb
127
+ - lib/dji_mqtt_connect/messages/thing/product/events/cover_close.rb
128
+ - lib/dji_mqtt_connect/messages/thing/product/events/cover_open.rb
129
+ - lib/dji_mqtt_connect/messages/thing/product/events/device_exit_homing_notify.rb
130
+ - lib/dji_mqtt_connect/messages/thing/product/events/device_log.rb
131
+ - lib/dji_mqtt_connect/messages/thing/product/events/file_upload_callback.rb
132
+ - lib/dji_mqtt_connect/messages/thing/product/events/fileupload_progress.rb
133
+ - lib/dji_mqtt_connect/messages/thing/product/events/flighttask_progress.rb
134
+ - lib/dji_mqtt_connect/messages/thing/product/events/flighttask_ready.rb
135
+ - lib/dji_mqtt_connect/messages/thing/product/events/highest_priority_upload_flighttask_media.rb
136
+ - lib/dji_mqtt_connect/messages/thing/product/events/hms.rb
137
+ - lib/dji_mqtt_connect/messages/thing/product/events/status_code.rb
138
138
  - lib/dji_mqtt_connect/messages/thing/product/events_message.rb
139
139
  - lib/dji_mqtt_connect/messages/thing/product/events_reply_message.rb
140
- - lib/dji_mqtt_connect/messages/thing/product/file_upload_callback_events_message.rb
141
- - lib/dji_mqtt_connect/messages/thing/product/fileupload_list_services_message.rb
142
- - lib/dji_mqtt_connect/messages/thing/product/fileupload_progress_events_message.rb
143
- - lib/dji_mqtt_connect/messages/thing/product/fileupload_start_services_message.rb
144
- - lib/dji_mqtt_connect/messages/thing/product/highest_priority_upload_flighttask_media_events_message.rb
145
- - lib/dji_mqtt_connect/messages/thing/product/hms_events_message.rb
140
+ - lib/dji_mqtt_connect/messages/thing/product/osd/dock.rb
141
+ - lib/dji_mqtt_connect/messages/thing/product/osd/drone.rb
142
+ - lib/dji_mqtt_connect/messages/thing/product/osd/remote.rb
146
143
  - lib/dji_mqtt_connect/messages/thing/product/osd_message.rb
147
- - lib/dji_mqtt_connect/messages/thing/product/remote_osd_message.rb
144
+ - lib/dji_mqtt_connect/messages/thing/product/requests/airport_bind_status.rb
145
+ - lib/dji_mqtt_connect/messages/thing/product/requests/airport_organization_bind.rb
146
+ - lib/dji_mqtt_connect/messages/thing/product/requests/airport_organization_get.rb
147
+ - lib/dji_mqtt_connect/messages/thing/product/requests/config.rb
148
+ - lib/dji_mqtt_connect/messages/thing/product/requests/flighttask_resource_get.rb
149
+ - lib/dji_mqtt_connect/messages/thing/product/requests/storage_config_get.rb
148
150
  - lib/dji_mqtt_connect/messages/thing/product/requests_message.rb
149
- - lib/dji_mqtt_connect/messages/thing/product/status_code_events_message.rb
150
- - lib/dji_mqtt_connect/messages/thing/product/storage_config_get_requests_message.rb
151
- - lib/dji_mqtt_connect/messages/thing/product/storage_config_get_requests_reply_message.rb
151
+ - lib/dji_mqtt_connect/messages/thing/product/requests_reply/airport_bind_status.rb
152
+ - lib/dji_mqtt_connect/messages/thing/product/requests_reply/airport_organization_bind.rb
153
+ - lib/dji_mqtt_connect/messages/thing/product/requests_reply/airport_organization_get.rb
154
+ - lib/dji_mqtt_connect/messages/thing/product/requests_reply/config.rb
155
+ - lib/dji_mqtt_connect/messages/thing/product/requests_reply/flighttask_resource_get.rb
156
+ - lib/dji_mqtt_connect/messages/thing/product/requests_reply/storage_config_get.rb
157
+ - lib/dji_mqtt_connect/messages/thing/product/services/alarm_state_switch.rb
158
+ - lib/dji_mqtt_connect/messages/thing/product/services/cover_close.rb
159
+ - lib/dji_mqtt_connect/messages/thing/product/services/cover_open.rb
160
+ - lib/dji_mqtt_connect/messages/thing/product/services/debug_mode_close.rb
161
+ - lib/dji_mqtt_connect/messages/thing/product/services/debug_mode_open.rb
162
+ - lib/dji_mqtt_connect/messages/thing/product/services/fileupload_list.rb
163
+ - lib/dji_mqtt_connect/messages/thing/product/services/fileupload_start.rb
164
+ - lib/dji_mqtt_connect/messages/thing/product/services/flighttask_execute.rb
165
+ - lib/dji_mqtt_connect/messages/thing/product/services/flighttask_pause.rb
166
+ - lib/dji_mqtt_connect/messages/thing/product/services/flighttask_prepare.rb
167
+ - lib/dji_mqtt_connect/messages/thing/product/services/flighttask_recovery.rb
168
+ - lib/dji_mqtt_connect/messages/thing/product/services/flighttask_undo.rb
169
+ - lib/dji_mqtt_connect/messages/thing/product/services/return_home.rb
170
+ - lib/dji_mqtt_connect/messages/thing/product/services/return_home_cancel.rb
171
+ - lib/dji_mqtt_connect/messages/thing/product/services_message.rb
172
+ - lib/dji_mqtt_connect/messages/thing/product/services_reply/alarm_state_switch.rb
173
+ - lib/dji_mqtt_connect/messages/thing/product/services_reply/cover_close.rb
174
+ - lib/dji_mqtt_connect/messages/thing/product/services_reply/cover_open.rb
175
+ - lib/dji_mqtt_connect/messages/thing/product/services_reply/debug_mode_close.rb
176
+ - lib/dji_mqtt_connect/messages/thing/product/services_reply/debug_mode_open.rb
177
+ - lib/dji_mqtt_connect/messages/thing/product/services_reply/flighttask_execute.rb
178
+ - lib/dji_mqtt_connect/messages/thing/product/services_reply/flighttask_pause.rb
179
+ - lib/dji_mqtt_connect/messages/thing/product/services_reply/flighttask_prepare.rb
180
+ - lib/dji_mqtt_connect/messages/thing/product/services_reply/flighttask_recovery.rb
181
+ - lib/dji_mqtt_connect/messages/thing/product/services_reply/flighttask_undo.rb
182
+ - lib/dji_mqtt_connect/messages/thing/product/services_reply/return_home.rb
183
+ - lib/dji_mqtt_connect/messages/thing/product/services_reply/return_home_cancel.rb
184
+ - lib/dji_mqtt_connect/messages/thing/product/services_reply_message.rb
152
185
  - lib/dji_mqtt_connect/mixins/latitude_conditional.rb
153
186
  - lib/dji_mqtt_connect/mixins/longitude_conditional.rb
154
187
  - lib/dji_mqtt_connect/mixins/temperature_conditional.rb
@@ -163,6 +196,7 @@ files:
163
196
  - lib/dji_mqtt_connect/topics/thing/product/requests.rb
164
197
  - lib/dji_mqtt_connect/topics/thing/product/requests_reply.rb
165
198
  - lib/dji_mqtt_connect/topics/thing/product/services.rb
199
+ - lib/dji_mqtt_connect/topics/thing/product/services_reply.rb
166
200
  - lib/dji_mqtt_connect/translations.rb
167
201
  - lib/dji_mqtt_connect/types.rb
168
202
  - lib/dji_mqtt_connect/utils/message_parsing.rb