matrix_creator 0.0.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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