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.
- checksums.yaml +4 -4
- data/README.md +7 -9
- data/config/matrix_creator.yml +26 -0
- data/lib/matrix_creator.rb +25 -2
- data/lib/matrix_creator/comm.rb +265 -0
- data/lib/matrix_creator/driver_base.rb +47 -0
- data/lib/matrix_creator/everloop.rb +48 -0
- data/lib/matrix_creator/everloop/animation.rb +67 -0
- data/lib/matrix_creator/everloop/color.rb +63 -0
- data/lib/matrix_creator/everloop/pulse.rb +62 -0
- data/lib/matrix_creator/everloop/spinner.rb +52 -0
- data/lib/matrix_creator/humidity.rb +48 -0
- data/lib/matrix_creator/imu.rb +48 -0
- data/lib/matrix_creator/pressure.rb +48 -0
- data/lib/matrix_creator/uv.rb +48 -0
- data/lib/matrix_creator/version.rb +3 -1
- data/lib/matrix_creator/vision.rb +174 -0
- data/lib/protos/malos/driver_pb.rb +339 -0
- data/lib/protos/vision/vision_pb.rb +132 -0
- data/lib/protos/vision/vision_service_pb.rb +19 -0
- metadata +96 -17
- data/.gitignore +0 -12
- data/.rspec +0 -2
- data/.travis.yml +0 -5
- data/CODE_OF_CONDUCT.md +0 -74
- data/Gemfile +0 -4
- data/LICENSE.txt +0 -21
- data/Rakefile +0 -6
- data/bin/console +0 -14
- data/bin/setup +0 -8
- data/matrix_creator.gemspec +0 -27
@@ -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
|