matrix_creator 0.0.0 → 1.0.0

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.
@@ -1,3 +1,5 @@
1
1
  module MatrixCreator
2
- VERSION = "0.0.0"
2
+ # Returns the version of the gem
3
+ # @return [String] matrix_creator gem version
4
+ VERSION = '1.0.0'.freeze
3
5
  end
@@ -0,0 +1,174 @@
1
+ # Load Protos
2
+ require 'protos/malos/driver_pb'
3
+ require 'protos/vision/vision_pb'
4
+
5
+ # Load Dependencies
6
+ require 'matrix_creator/comm'
7
+
8
+ module MatrixCreator
9
+ # Module: Vision
10
+ #
11
+ # Communicate with the vision driver
12
+ module Vision
13
+ # Configuration values for the Vision driver
14
+ VISION_CONFIG = MatrixCreator.settings[:devices][:vision]
15
+
16
+ # Base port to send data to Vision driver
17
+ BASE_PORT = VISION_CONFIG[:port]
18
+
19
+ # Camera width value
20
+ CAMERA_WIDTH = 1280
21
+
22
+ # Camera height value
23
+ CAMERA_HEIGHT = 720
24
+
25
+ ##
26
+ # Detect a list of objects that are on detected by the camera, specifying
27
+ # the amount of max responses or max seconds to detect elements on camera
28
+ #
29
+ # @param objects [Array] of MatrixMalos::EnumMalosEyeDetectionType
30
+ # @param options [Hash] of keys and values that can contain max_resp and/or max_secs
31
+ # @return [Array] elements detected in JSON format
32
+ #
33
+ # @example Detect thumbs up for ten ocurrances
34
+ # thumbs_up = MatrixMalos::EnumMalosEyeDetectionType::HAND_THUMB_UP
35
+ # MatrixMalos::Vision.detect_objects(thumbs_up, max_resp: 10)
36
+ #
37
+ # @example Detect face and palms for 30 seconds
38
+ # objects = [
39
+ # MatrixMalos::EnumMalosEyeDetectionType::HAND_PALM,
40
+ # MatrixMalos::EnumMalosEyeDetectionType::FACE
41
+ # ]
42
+ # MatrixCreator::Vision.detect_objects(objects, max_secs: 30)
43
+ #
44
+ # @example Detect face for 10 seconds and process data on each occurance when received
45
+ # objects = [MatrixMalos::EnumMalosEyeDetectionType::FACE]
46
+ # MatrixCreator::Vision.detect_objects(objects, max_secs: 10) { |data|
47
+ # // Do something with data
48
+ # }
49
+ #
50
+ def self.detect_objects(objects, options = {}, &block)
51
+ @vision_comm = MatrixCreator::Comm.new(BASE_PORT)
52
+
53
+ # Setup MalosEye configuration
54
+ malos_eye_config = MatrixMalos::MalosEyeConfig.new(
55
+ camera_config: MatrixMalos::CameraConfig.new(
56
+ camera_id: 0,
57
+ width: CAMERA_WIDTH,
58
+ height: CAMERA_HEIGHT
59
+ )
60
+ )
61
+
62
+ # Generate driver configuration
63
+ config = MatrixMalos::DriverConfig.new(
64
+ malos_eye_config: malos_eye_config,
65
+ delay_between_updates: 0.1,
66
+ timeout_after_last_ping: 4
67
+ )
68
+ @vision_comm.send_configuration(config)
69
+
70
+ # Setup objects to detect
71
+ malos_eye_config = MatrixMalos::MalosEyeConfig.new
72
+ objects.each do |object|
73
+ malos_eye_config.object_to_detect.push(object)
74
+ end
75
+ config = MatrixMalos::DriverConfig.new(
76
+ malos_eye_config: malos_eye_config
77
+ )
78
+ @vision_comm.send_configuration(config)
79
+
80
+ # Query Demographics
81
+ result = @vision_comm.perform(AdmobilizeVision::VisionResult, options, block)
82
+
83
+ # Stop capturing events
84
+ malos_eye_config = MatrixMalos::MalosEyeConfig.new
85
+ malos_eye_config.object_to_detect.push(MatrixMalos::EnumMalosEyeDetectionType::STOP)
86
+ config = MatrixMalos::DriverConfig.new(malos_eye_config: malos_eye_config)
87
+ @vision_comm.send_configuration(config)
88
+
89
+ # Destroy context
90
+ @vision_comm.destroy
91
+
92
+ result
93
+ end
94
+
95
+ ##
96
+ # Detects an object once
97
+ #
98
+ # @example
99
+ # object = MatrixMalos::EnumMalosEyeDetectionType::HAND_FIST
100
+ # MatrixCreator::Vision.detect_once(object)
101
+ #
102
+ def self.detect_once(object)
103
+ result = nil
104
+
105
+ # Loop until recDetection is returned
106
+ loop do
107
+ result = detect_objects([object], max_resp: 1).first
108
+ break unless result[:rectDetection].empty?
109
+ end
110
+
111
+ result
112
+ end
113
+
114
+ ##
115
+ # Detect one face message
116
+ #
117
+ # @example
118
+ # MatrixCreator::Vision.detect_face
119
+ #
120
+ def self.detect_face
121
+ detect_once(MatrixMalos::EnumMalosEyeDetectionType::FACE)
122
+ end
123
+
124
+ ##
125
+ # Detect demographics of a face
126
+ #
127
+ # @example
128
+ # MatrixCreator::Vision.detect_demographics
129
+ #
130
+ def self.detect_demographics
131
+ detect_once(MatrixMalos::EnumMalosEyeDetectionType::FACE_DEMOGRAPHICS)
132
+ end
133
+
134
+ ##
135
+ # Detect a thumbs up
136
+ #
137
+ # @example
138
+ # MatrixCreator::Vision.detect_thumbs_up
139
+ #
140
+ def self.detect_thumb_up
141
+ detect_once(MatrixMalos::EnumMalosEyeDetectionType::HAND_THUMB_UP)
142
+ end
143
+
144
+ ##
145
+ # Detect a palm
146
+ #
147
+ # @example
148
+ # MatrixCreator::Vision.detect_palm
149
+ #
150
+ def self.detect_palm
151
+ detect_once(MatrixMalos::EnumMalosEyeDetectionType::HAND_PALM)
152
+ end
153
+
154
+ ##
155
+ # Detect a pinch
156
+ #
157
+ # @example
158
+ # MatrixCreator::Vision.detect_pinch
159
+ #
160
+ def self.detect_pinch
161
+ detect_once(MatrixMalos::EnumMalosEyeDetectionType::HAND_PINCH)
162
+ end
163
+
164
+ ##
165
+ # Detect a fist
166
+ #
167
+ # @example
168
+ # MatrixCreator::Vision.detect_fist
169
+ #
170
+ def self.detect_fist
171
+ detect_once(MatrixMalos::EnumMalosEyeDetectionType::HAND_FIST)
172
+ end
173
+ end
174
+ end
@@ -0,0 +1,339 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: protos/malos/driver.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ Google::Protobuf::DescriptorPool.generated_pool.build do
7
+ add_message "matrix_malos.DriverConfig" do
8
+ optional :delay_between_updates, :float, 1
9
+ optional :timeout_after_last_ping, :float, 2
10
+ optional :image, :message, 3, "matrix_malos.EverloopImage"
11
+ optional :malos_eye_config, :message, 4, "matrix_malos.MalosEyeConfig"
12
+ optional :zigbee_message, :message, 5, "matrix_malos.ZigBeeMsg"
13
+ optional :lirc, :message, 6, "matrix_malos.LircParams"
14
+ optional :servo, :message, 7, "matrix_malos.ServoParams"
15
+ optional :gpio, :message, 8, "matrix_malos.GpioParams"
16
+ optional :humidity, :message, 9, "matrix_malos.HumidityParams"
17
+ optional :micarray, :message, 10, "matrix_malos.MicArrayParams"
18
+ end
19
+ add_message "matrix_malos.MalosEyeConfig" do
20
+ optional :camera_config, :message, 1, "matrix_malos.CameraConfig"
21
+ optional :detector_config, :message, 2, "matrix_malos.ObjectDetectorConfig"
22
+ optional :tracker_config, :message, 3, "matrix_malos.TrackerConfig"
23
+ optional :detection_server_config, :message, 4, "matrix_malos.DetectionServerConfig"
24
+ repeated :object_to_detect, :enum, 21, "matrix_malos.EnumMalosEyeDetectionType"
25
+ end
26
+ add_message "matrix_malos.CameraConfig" do
27
+ optional :camera_id, :int32, 1
28
+ optional :width, :int32, 2
29
+ optional :height, :int32, 3
30
+ end
31
+ add_message "matrix_malos.ObjectDetectorConfig" do
32
+ optional :cascade_path, :string, 1
33
+ end
34
+ add_message "matrix_malos.TrackerConfig" do
35
+ optional :frames_to_count, :int32, 1
36
+ optional :frames_to_discard, :int32, 2
37
+ end
38
+ add_message "matrix_malos.DetectionServerConfig" do
39
+ optional :detection_server_address, :string, 1
40
+ optional :detection_server_timeout, :int32, 2
41
+ end
42
+ add_message "matrix_malos.DriverInfo" do
43
+ optional :driver_name, :string, 1
44
+ optional :base_port, :int32, 2
45
+ optional :provides_updates, :bool, 3
46
+ optional :delay_between_updates, :int32, 4
47
+ optional :needs_pings, :bool, 5
48
+ optional :timeout_after_last_ping, :int32, 6
49
+ optional :notes_for_human, :string, 7
50
+ end
51
+ add_message "matrix_malos.MalosDriverInfo" do
52
+ repeated :info, :message, 1, "matrix_malos.DriverInfo"
53
+ end
54
+ add_message "matrix_malos.Dummy" do
55
+ optional :value, :float, 1
56
+ end
57
+ add_message "matrix_malos.Humidity" do
58
+ optional :humidity, :float, 1
59
+ optional :temperature, :float, 2
60
+ optional :temperature_raw, :float, 3
61
+ optional :temperature_is_calibrated, :bool, 4
62
+ end
63
+ add_message "matrix_malos.HumidityParams" do
64
+ optional :current_temperature, :float, 1
65
+ end
66
+ add_message "matrix_malos.UV" do
67
+ optional :uv_index, :float, 1
68
+ optional :oms_risk, :string, 2
69
+ end
70
+ add_message "matrix_malos.Pressure" do
71
+ optional :pressure, :float, 1
72
+ optional :altitude, :float, 2
73
+ optional :temperature, :float, 3
74
+ end
75
+ add_message "matrix_malos.Imu" do
76
+ optional :yaw, :float, 1
77
+ optional :pitch, :float, 2
78
+ optional :roll, :float, 3
79
+ optional :accel_x, :float, 4
80
+ optional :accel_y, :float, 5
81
+ optional :accel_z, :float, 6
82
+ optional :gyro_x, :float, 7
83
+ optional :gyro_y, :float, 8
84
+ optional :gyro_z, :float, 9
85
+ optional :mag_x, :float, 10
86
+ optional :mag_y, :float, 11
87
+ optional :mag_z, :float, 12
88
+ end
89
+ add_message "matrix_malos.LedValue" do
90
+ optional :red, :uint32, 1
91
+ optional :green, :uint32, 2
92
+ optional :blue, :uint32, 3
93
+ optional :white, :uint32, 4
94
+ end
95
+ add_message "matrix_malos.EverloopImage" do
96
+ repeated :led, :message, 1, "matrix_malos.LedValue"
97
+ end
98
+ add_message "matrix_malos.ZigBeeMsg" do
99
+ optional :type, :enum, 1, "matrix_malos.ZigBeeMsg.ZigBeeCmdType"
100
+ optional :zcl_cmd, :message, 2, "matrix_malos.ZigBeeMsg.ZCLCmd"
101
+ optional :network_mgmt_cmd, :message, 3, "matrix_malos.ZigBeeMsg.NetworkMgmtCmd"
102
+ end
103
+ add_message "matrix_malos.ZigBeeMsg.ZCLCmd" do
104
+ optional :type, :enum, 1, "matrix_malos.ZigBeeMsg.ZCLCmd.ZCLCmdType"
105
+ optional :onoff_cmd, :message, 2, "matrix_malos.ZigBeeMsg.ZCLCmd.OnOffCmd"
106
+ optional :level_cmd, :message, 3, "matrix_malos.ZigBeeMsg.ZCLCmd.LevelCmd"
107
+ optional :colorcontrol_cmd, :message, 4, "matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd"
108
+ optional :identify_cmd, :message, 5, "matrix_malos.ZigBeeMsg.ZCLCmd.IdentifyCmd"
109
+ optional :node_id, :uint32, 6
110
+ optional :endpoint_index, :uint32, 7
111
+ end
112
+ add_message "matrix_malos.ZigBeeMsg.ZCLCmd.OnOffCmd" do
113
+ optional :type, :enum, 1, "matrix_malos.ZigBeeMsg.ZCLCmd.OnOffCmd.ZCLOnOffCmdType"
114
+ end
115
+ add_enum "matrix_malos.ZigBeeMsg.ZCLCmd.OnOffCmd.ZCLOnOffCmdType" do
116
+ value :ON, 0
117
+ value :OFF, 1
118
+ value :TOGGLE, 2
119
+ end
120
+ add_message "matrix_malos.ZigBeeMsg.ZCLCmd.LevelCmd" do
121
+ optional :type, :enum, 1, "matrix_malos.ZigBeeMsg.ZCLCmd.LevelCmd.ZCLLevelCmdType"
122
+ optional :move_to_level_params, :message, 2, "matrix_malos.ZigBeeMsg.ZCLCmd.LevelCmd.MoveToLevelCmdParams"
123
+ optional :move_params, :message, 3, "matrix_malos.ZigBeeMsg.ZCLCmd.LevelCmd.MoveCmdParams"
124
+ end
125
+ add_message "matrix_malos.ZigBeeMsg.ZCLCmd.LevelCmd.MoveToLevelCmdParams" do
126
+ optional :level, :uint32, 1
127
+ optional :transition_time, :uint32, 2
128
+ end
129
+ add_message "matrix_malos.ZigBeeMsg.ZCLCmd.LevelCmd.MoveCmdParams" do
130
+ optional :mode, :uint32, 1
131
+ optional :rate, :uint32, 2
132
+ end
133
+ add_enum "matrix_malos.ZigBeeMsg.ZCLCmd.LevelCmd.ZCLLevelCmdType" do
134
+ value :MOVE_TO_LEVEL, 0
135
+ value :MOVE, 1
136
+ end
137
+ add_message "matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd" do
138
+ optional :type, :enum, 1, "matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd.ZCLColorControlCmdType"
139
+ optional :movetohue_params, :message, 2, "matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToHueCmdParams"
140
+ optional :movetosat_params, :message, 3, "matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToSatCmdParams"
141
+ optional :movetohueandsat_params, :message, 4, "matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToHueAndSatCmdParams"
142
+ end
143
+ add_message "matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToHueCmdParams" do
144
+ optional :hue, :uint32, 1
145
+ optional :direction, :enum, 2, "matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToHueCmdParams.DirectionParam"
146
+ optional :transition_time, :uint32, 3
147
+ end
148
+ add_enum "matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToHueCmdParams.DirectionParam" do
149
+ value :SHORTEST_DISTANCE, 0
150
+ value :LONGEST_DISTANCE, 1
151
+ value :UP, 2
152
+ value :DOWN, 3
153
+ end
154
+ add_message "matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToSatCmdParams" do
155
+ optional :saturation, :uint32, 1
156
+ optional :transition_time, :uint32, 2
157
+ end
158
+ add_message "matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToHueAndSatCmdParams" do
159
+ optional :hue, :uint32, 1
160
+ optional :saturation, :uint32, 2
161
+ optional :transition_time, :uint32, 3
162
+ end
163
+ add_enum "matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd.ZCLColorControlCmdType" do
164
+ value :MOVETOHUE, 0
165
+ value :MOVETOSAT, 1
166
+ value :MOVETOHUEANDSAT, 2
167
+ end
168
+ add_message "matrix_malos.ZigBeeMsg.ZCLCmd.IdentifyCmd" do
169
+ optional :type, :enum, 1, "matrix_malos.ZigBeeMsg.ZCLCmd.IdentifyCmd.ZCLIdentifyCmdType"
170
+ optional :identify_on_params, :message, 2, "matrix_malos.ZigBeeMsg.ZCLCmd.IdentifyCmd.IdentifyOnCmdParams"
171
+ optional :identify_off_params, :message, 3, "matrix_malos.ZigBeeMsg.ZCLCmd.IdentifyCmd.IdentifyOffCmdParams"
172
+ end
173
+ add_message "matrix_malos.ZigBeeMsg.ZCLCmd.IdentifyCmd.IdentifyOnCmdParams" do
174
+ optional :endpoint, :uint32, 1
175
+ optional :identify_time, :uint32, 2
176
+ end
177
+ add_message "matrix_malos.ZigBeeMsg.ZCLCmd.IdentifyCmd.IdentifyOffCmdParams" do
178
+ optional :identify_time, :uint32, 1
179
+ end
180
+ add_enum "matrix_malos.ZigBeeMsg.ZCLCmd.IdentifyCmd.ZCLIdentifyCmdType" do
181
+ value :IDENTIFY_ON, 0
182
+ value :IDENTIFY_OFF, 1
183
+ end
184
+ add_enum "matrix_malos.ZigBeeMsg.ZCLCmd.ZCLCmdType" do
185
+ value :ON_OFF, 0
186
+ value :LEVEL, 1
187
+ value :COLOR_CONTROL, 2
188
+ value :IDENTIFY, 3
189
+ end
190
+ add_message "matrix_malos.ZigBeeMsg.NetworkMgmtCmd" do
191
+ optional :type, :enum, 1, "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.NetworkMgmtCmdTypes"
192
+ optional :permit_join_params, :message, 2, "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.PermitJoinParams"
193
+ optional :is_proxy_active, :bool, 3
194
+ optional :node_leave_params, :message, 4, "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.NodeLeaveNetParams"
195
+ optional :node_info, :message, 5, "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.NodeDescription"
196
+ repeated :connected_nodes, :message, 6, "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.NodeDescription"
197
+ optional :network_status, :message, 7, "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.NetworkStatus"
198
+ end
199
+ add_message "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.PermitJoinParams" do
200
+ optional :time, :uint32, 1
201
+ end
202
+ add_message "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.NodeLeaveNetParams" do
203
+ optional :node_id, :uint32, 1
204
+ end
205
+ add_message "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.ClusterDescription" do
206
+ optional :type, :enum, 1, "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.ClusterDescription.ClusterInOutType"
207
+ optional :cluster_id, :uint32, 2
208
+ end
209
+ add_enum "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.ClusterDescription.ClusterInOutType" do
210
+ value :SERVER_IN, 0
211
+ value :CLIENT_OUT, 1
212
+ end
213
+ add_message "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.EndPointDescription" do
214
+ optional :endpoint_index, :uint32, 1
215
+ optional :profile_id, :uint32, 2
216
+ optional :device_id, :uint32, 3
217
+ repeated :clusters, :message, 4, "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.ClusterDescription"
218
+ end
219
+ add_message "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.NodeDescription" do
220
+ optional :node_id, :uint32, 1
221
+ optional :eui64, :uint64, 2
222
+ repeated :endpoints, :message, 3, "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.EndPointDescription"
223
+ end
224
+ add_message "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.NetworkStatus" do
225
+ optional :type, :enum, 1, "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.NetworkStatus.Status"
226
+ end
227
+ add_enum "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.NetworkStatus.Status" do
228
+ value :NO_NETWORK, 0
229
+ value :JOINING_NETWORK, 1
230
+ value :JOINED_NETWORK, 2
231
+ value :JOINED_NETWORK_NO_PARENT, 3
232
+ value :LEAVING_NETWORK, 4
233
+ end
234
+ add_enum "matrix_malos.ZigBeeMsg.NetworkMgmtCmd.NetworkMgmtCmdTypes" do
235
+ value :CREATE_NWK, 0
236
+ value :LEAVE_NWK, 1
237
+ value :NODE_LEAVE_NWK, 2
238
+ value :PERMIT_JOIN, 3
239
+ value :DISCOVERY_INFO, 4
240
+ value :RESET_PROXY, 5
241
+ value :IS_PROXY_ACTIVE, 6
242
+ value :NETWORK_STATUS, 7
243
+ end
244
+ add_enum "matrix_malos.ZigBeeMsg.ZigBeeCmdType" do
245
+ value :ZCL, 0
246
+ value :NETWORK_MGMT, 1
247
+ end
248
+ add_message "matrix_malos.LircParams" do
249
+ optional :device, :string, 1
250
+ optional :command, :string, 2
251
+ optional :config, :string, 3
252
+ end
253
+ add_message "matrix_malos.ServoParams" do
254
+ optional :pin, :uint32, 1
255
+ optional :angle, :uint32, 2
256
+ end
257
+ add_message "matrix_malos.GpioParams" do
258
+ optional :pin, :uint32, 1
259
+ optional :mode, :enum, 2, "matrix_malos.GpioParams.EnumMode"
260
+ optional :value, :uint32, 3
261
+ optional :values, :uint32, 4
262
+ end
263
+ add_enum "matrix_malos.GpioParams.EnumMode" do
264
+ value :INPUT, 0
265
+ value :OUTPUT, 1
266
+ end
267
+ add_message "matrix_malos.MicArrayParams" do
268
+ optional :gain, :int32, 1
269
+ optional :azimutal_angle, :float, 2
270
+ optional :polar_angle, :float, 3
271
+ optional :radial_distance_mm, :float, 4
272
+ optional :sound_speed_mmseg, :float, 5
273
+ end
274
+ add_enum "matrix_malos.EnumMalosEyeDetectionType" do
275
+ value :STOP, 0
276
+ value :FACE, 20
277
+ value :FACE_DEMOGRAPHICS, 21
278
+ value :FACE_DESCRIPTOR, 30
279
+ value :HAND_THUMB_UP, 40
280
+ value :HAND_PALM, 41
281
+ value :HAND_PINCH, 42
282
+ value :HAND_FIST, 43
283
+ end
284
+ end
285
+
286
+ module MatrixMalos
287
+ DriverConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.DriverConfig").msgclass
288
+ MalosEyeConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.MalosEyeConfig").msgclass
289
+ CameraConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.CameraConfig").msgclass
290
+ ObjectDetectorConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ObjectDetectorConfig").msgclass
291
+ TrackerConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.TrackerConfig").msgclass
292
+ DetectionServerConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.DetectionServerConfig").msgclass
293
+ DriverInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.DriverInfo").msgclass
294
+ MalosDriverInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.MalosDriverInfo").msgclass
295
+ Dummy = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.Dummy").msgclass
296
+ Humidity = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.Humidity").msgclass
297
+ HumidityParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.HumidityParams").msgclass
298
+ UV = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.UV").msgclass
299
+ Pressure = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.Pressure").msgclass
300
+ Imu = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.Imu").msgclass
301
+ LedValue = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.LedValue").msgclass
302
+ EverloopImage = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.EverloopImage").msgclass
303
+ ZigBeeMsg = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg").msgclass
304
+ ZigBeeMsg::ZCLCmd = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd").msgclass
305
+ ZigBeeMsg::ZCLCmd::OnOffCmd = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.OnOffCmd").msgclass
306
+ ZigBeeMsg::ZCLCmd::OnOffCmd::ZCLOnOffCmdType = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.OnOffCmd.ZCLOnOffCmdType").enummodule
307
+ ZigBeeMsg::ZCLCmd::LevelCmd = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.LevelCmd").msgclass
308
+ ZigBeeMsg::ZCLCmd::LevelCmd::MoveToLevelCmdParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.LevelCmd.MoveToLevelCmdParams").msgclass
309
+ ZigBeeMsg::ZCLCmd::LevelCmd::MoveCmdParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.LevelCmd.MoveCmdParams").msgclass
310
+ ZigBeeMsg::ZCLCmd::LevelCmd::ZCLLevelCmdType = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.LevelCmd.ZCLLevelCmdType").enummodule
311
+ ZigBeeMsg::ZCLCmd::ColorControlCmd = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd").msgclass
312
+ ZigBeeMsg::ZCLCmd::ColorControlCmd::MoveToHueCmdParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToHueCmdParams").msgclass
313
+ ZigBeeMsg::ZCLCmd::ColorControlCmd::MoveToHueCmdParams::DirectionParam = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToHueCmdParams.DirectionParam").enummodule
314
+ ZigBeeMsg::ZCLCmd::ColorControlCmd::MoveToSatCmdParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToSatCmdParams").msgclass
315
+ ZigBeeMsg::ZCLCmd::ColorControlCmd::MoveToHueAndSatCmdParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToHueAndSatCmdParams").msgclass
316
+ ZigBeeMsg::ZCLCmd::ColorControlCmd::ZCLColorControlCmdType = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.ColorControlCmd.ZCLColorControlCmdType").enummodule
317
+ ZigBeeMsg::ZCLCmd::IdentifyCmd = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.IdentifyCmd").msgclass
318
+ ZigBeeMsg::ZCLCmd::IdentifyCmd::IdentifyOnCmdParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.IdentifyCmd.IdentifyOnCmdParams").msgclass
319
+ ZigBeeMsg::ZCLCmd::IdentifyCmd::IdentifyOffCmdParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.IdentifyCmd.IdentifyOffCmdParams").msgclass
320
+ ZigBeeMsg::ZCLCmd::IdentifyCmd::ZCLIdentifyCmdType = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.IdentifyCmd.ZCLIdentifyCmdType").enummodule
321
+ ZigBeeMsg::ZCLCmd::ZCLCmdType = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZCLCmd.ZCLCmdType").enummodule
322
+ ZigBeeMsg::NetworkMgmtCmd = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.NetworkMgmtCmd").msgclass
323
+ ZigBeeMsg::NetworkMgmtCmd::PermitJoinParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.NetworkMgmtCmd.PermitJoinParams").msgclass
324
+ ZigBeeMsg::NetworkMgmtCmd::NodeLeaveNetParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.NetworkMgmtCmd.NodeLeaveNetParams").msgclass
325
+ ZigBeeMsg::NetworkMgmtCmd::ClusterDescription = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.NetworkMgmtCmd.ClusterDescription").msgclass
326
+ ZigBeeMsg::NetworkMgmtCmd::ClusterDescription::ClusterInOutType = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.NetworkMgmtCmd.ClusterDescription.ClusterInOutType").enummodule
327
+ ZigBeeMsg::NetworkMgmtCmd::EndPointDescription = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.NetworkMgmtCmd.EndPointDescription").msgclass
328
+ ZigBeeMsg::NetworkMgmtCmd::NodeDescription = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.NetworkMgmtCmd.NodeDescription").msgclass
329
+ ZigBeeMsg::NetworkMgmtCmd::NetworkStatus = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.NetworkMgmtCmd.NetworkStatus").msgclass
330
+ ZigBeeMsg::NetworkMgmtCmd::NetworkStatus::Status = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.NetworkMgmtCmd.NetworkStatus.Status").enummodule
331
+ ZigBeeMsg::NetworkMgmtCmd::NetworkMgmtCmdTypes = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.NetworkMgmtCmd.NetworkMgmtCmdTypes").enummodule
332
+ ZigBeeMsg::ZigBeeCmdType = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ZigBeeMsg.ZigBeeCmdType").enummodule
333
+ LircParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.LircParams").msgclass
334
+ ServoParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.ServoParams").msgclass
335
+ GpioParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.GpioParams").msgclass
336
+ GpioParams::EnumMode = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.GpioParams.EnumMode").enummodule
337
+ MicArrayParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.MicArrayParams").msgclass
338
+ EnumMalosEyeDetectionType = Google::Protobuf::DescriptorPool.generated_pool.lookup("matrix_malos.EnumMalosEyeDetectionType").enummodule
339
+ end