Brian Silverman | 2ccf8c5 | 2016-03-15 00:22:26 -0400 | [diff] [blame] | 1 | load('/tools/build_rules/protobuf', 'proto_cc_library') |
| 2 | load('/aos/build/queues', 'queue_library') |
Parker Schuh | d7db83d | 2017-02-08 20:49:15 -0800 | [diff] [blame] | 3 | load('/tools/build_rules/gtk_dependent', 'gtk_dependent_cc_binary', 'gtk_dependent_cc_library') |
Brian Silverman | 2ccf8c5 | 2016-03-15 00:22:26 -0400 | [diff] [blame] | 4 | |
| 5 | queue_library( |
| 6 | name = 'vision_queue', |
Austin Schuh | c65b0ea | 2016-03-16 22:09:19 -0700 | [diff] [blame] | 7 | visibility = ['//visibility:public'], |
Brian Silverman | 2ccf8c5 | 2016-03-15 00:22:26 -0400 | [diff] [blame] | 8 | srcs = [ |
| 9 | 'vision.q', |
| 10 | ], |
| 11 | ) |
| 12 | |
| 13 | proto_cc_library( |
| 14 | name = 'vision_data', |
| 15 | src = 'vision_data.proto', |
| 16 | ) |
| 17 | |
| 18 | proto_cc_library( |
| 19 | name = 'calibration', |
| 20 | src = 'calibration.proto', |
| 21 | ) |
| 22 | |
| 23 | _calibration_values_embedded_before = ''' |
| 24 | #include "y2016/vision/stereo_geometry.h" |
| 25 | |
| 26 | #include <string> |
| 27 | |
| 28 | #include "third_party/protobuf/src/google/protobuf/text_format.h" |
| 29 | |
| 30 | namespace y2016 { |
| 31 | namespace vision { |
| 32 | namespace { |
| 33 | |
| 34 | const ::std::string kEmbeddedContents =''' |
| 35 | |
| 36 | _calibration_values_embedded_after = '''; |
| 37 | |
| 38 | } // namespace |
| 39 | |
| 40 | CalibrationFile EmbeddedCalibrationFile() { |
| 41 | CalibrationFile r; |
| 42 | ::google::protobuf::TextFormat::ParseFromString(kEmbeddedContents, &r); |
| 43 | return r; |
| 44 | } |
| 45 | |
| 46 | } // namespace vision |
| 47 | } // namespace y2016''' |
| 48 | |
| 49 | genrule( |
| 50 | name = 'embed_calibration_pb', |
| 51 | srcs = [ |
| 52 | 'calibration.pb', |
| 53 | ], |
| 54 | outs = [ |
| 55 | 'stereo_geometry_embedded.cc', |
| 56 | ], |
| 57 | cmd = '\n'.join([ |
| 58 | 'echo \'%s\' > $@' % _calibration_values_embedded_before, |
| 59 | 'cat $(location :calibration.pb) | sed \'s/"/\\\\"/g ; s/^/"/g ; s/$$/\\\\n"/g\' >> $@', |
| 60 | 'echo \'%s\' >> $@' % _calibration_values_embedded_after, |
| 61 | ]), |
| 62 | ) |
| 63 | |
| 64 | cc_library( |
| 65 | name = 'stereo_geometry', |
| 66 | hdrs = [ |
| 67 | 'stereo_geometry.h', |
| 68 | ], |
| 69 | srcs = [ |
| 70 | 'stereo_geometry.cc', |
| 71 | 'stereo_geometry_embedded.cc', |
| 72 | ], |
| 73 | deps = [ |
| 74 | ':calibration', |
| 75 | '//aos/common/logging', |
| 76 | '//aos/vision/math:vector', |
| 77 | ], |
| 78 | ) |
| 79 | |
Austin Schuh | 9d92e6b | 2017-10-17 01:19:38 -0700 | [diff] [blame^] | 80 | cc_binary( |
| 81 | name = 'target_sender', |
Parker Schuh | 2cd173d | 2017-01-28 00:12:01 -0800 | [diff] [blame] | 82 | srcs = ['target_sender.cc'], |
| 83 | deps = [ |
| 84 | '//aos/common:time', |
| 85 | '//aos/common/logging:logging', |
| 86 | '//aos/common/logging:implementations', |
| 87 | '//aos/vision/image:reader', |
| 88 | '//aos/vision/image:jpeg_routines', |
| 89 | '//aos/vision/image:image_stream', |
| 90 | '//y2016/vision:blob_filters', |
| 91 | '//aos/vision/events:udp', |
| 92 | '//aos/vision/events:epoll_events', |
| 93 | '//aos/vision/events:socket_types', |
| 94 | ':stereo_geometry', |
| 95 | ':vision_data', |
| 96 | ':calibration', |
Austin Schuh | 9d92e6b | 2017-10-17 01:19:38 -0700 | [diff] [blame^] | 97 | ], |
| 98 | restricted_to = ['//tools:k8', '//tools:armhf-debian'], |
Parker Schuh | 2cd173d | 2017-01-28 00:12:01 -0800 | [diff] [blame] | 99 | ) |
| 100 | |
Austin Schuh | 9d92e6b | 2017-10-17 01:19:38 -0700 | [diff] [blame^] | 101 | cc_library( |
| 102 | name = "blob_filters", |
| 103 | srcs = ["blob_filters.cc"], |
| 104 | hdrs = ["blob_filters.h"], |
| 105 | deps = [ |
| 106 | "//aos/vision/math:vector", |
| 107 | "//aos/vision/math:segment", |
| 108 | "//aos/vision/blob:range_image", |
| 109 | "//aos/vision/blob:threshold", |
| 110 | "//aos/vision/blob:find_blob", |
| 111 | "//aos/vision/blob:hierarchical_contour_merge", |
| 112 | "//aos/vision/blob:codec", |
| 113 | ], |
Parker Schuh | d7db83d | 2017-02-08 20:49:15 -0800 | [diff] [blame] | 114 | visibility = ['//visibility:public'], |
Austin Schuh | 9d92e6b | 2017-10-17 01:19:38 -0700 | [diff] [blame^] | 115 | restricted_to = ['//tools:k8', '//tools:armhf-debian'], |
Parker Schuh | 2cd173d | 2017-01-28 00:12:01 -0800 | [diff] [blame] | 116 | ) |
| 117 | |
Brian Silverman | 2ccf8c5 | 2016-03-15 00:22:26 -0400 | [diff] [blame] | 118 | cc_binary( |
| 119 | name = 'target_receiver', |
| 120 | srcs = [ |
| 121 | 'target_receiver.cc', |
| 122 | ], |
Austin Schuh | c65b0ea | 2016-03-16 22:09:19 -0700 | [diff] [blame] | 123 | visibility = ['//visibility:public'], |
Brian Silverman | 2ccf8c5 | 2016-03-15 00:22:26 -0400 | [diff] [blame] | 124 | deps = [ |
| 125 | '//aos/common/logging', |
| 126 | '//aos/common/logging:queue_logging', |
| 127 | '//aos/linux_code:init', |
| 128 | '//aos/common:time', |
| 129 | '//aos/vision/events:udp', |
| 130 | ':vision_queue', |
| 131 | ':vision_data', |
| 132 | ':stereo_geometry', |
| 133 | '//y2016:constants', |
Brian Silverman | bc83118 | 2016-04-16 02:06:09 -0400 | [diff] [blame] | 134 | '//frc971/control_loops/drivetrain:drivetrain_queue', |
| 135 | '//aos/common:mutex', |
Brian Silverman | 2ccf8c5 | 2016-03-15 00:22:26 -0400 | [diff] [blame] | 136 | ], |
| 137 | ) |
Parker Schuh | d7db83d | 2017-02-08 20:49:15 -0800 | [diff] [blame] | 138 | |
| 139 | gtk_dependent_cc_binary( |
| 140 | name = "debug_receiver", |
| 141 | srcs = ["debug_receiver.cc"], |
| 142 | visibility = ['//visibility:public'], |
| 143 | deps = [ |
| 144 | "//aos/vision/image:image_types", |
| 145 | "//aos/vision/image:jpeg_routines", |
| 146 | "//aos/vision/events:socket_types", |
| 147 | "//aos/vision/events:tcp_client", |
| 148 | "//aos/vision/events:epoll_events", |
| 149 | "//aos/vision/events:gtk_event", |
Parker Schuh | 24ee58d | 2017-03-11 16:13:23 -0800 | [diff] [blame] | 150 | "//aos/vision/debug:debug_window", |
Parker Schuh | d7db83d | 2017-02-08 20:49:15 -0800 | [diff] [blame] | 151 | "//aos/vision/blob:range_image", |
| 152 | "//aos/vision/blob:codec", |
| 153 | "//aos/vision/blob:stream_view", |
| 154 | ":stereo_geometry", |
| 155 | ":blob_filters", |
| 156 | ":vision_data", |
| 157 | ":calibration", |
| 158 | ], |
| 159 | ) |