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 | |
Parker Schuh | 2cd173d | 2017-01-28 00:12:01 -0800 | [diff] [blame] | 80 | cc_binary(name = 'target_sender', |
| 81 | srcs = ['target_sender.cc'], |
| 82 | deps = [ |
| 83 | '//aos/common:time', |
| 84 | '//aos/common/logging:logging', |
| 85 | '//aos/common/logging:implementations', |
| 86 | '//aos/vision/image:reader', |
| 87 | '//aos/vision/image:jpeg_routines', |
| 88 | '//aos/vision/image:image_stream', |
| 89 | '//y2016/vision:blob_filters', |
| 90 | '//aos/vision/events:udp', |
| 91 | '//aos/vision/events:epoll_events', |
| 92 | '//aos/vision/events:socket_types', |
| 93 | ':stereo_geometry', |
| 94 | ':vision_data', |
| 95 | ':calibration', |
| 96 | ] |
| 97 | ) |
| 98 | |
| 99 | cc_library(name = "blob_filters", |
| 100 | srcs = ["blob_filters.cc"], |
| 101 | hdrs = ["blob_filters.h"], |
| 102 | deps = [ |
| 103 | "//aos/vision/math:vector", |
| 104 | "//aos/vision/math:segment", |
| 105 | "//aos/vision/blob:range_image", |
| 106 | "//aos/vision/blob:threshold", |
| 107 | "//aos/vision/blob:find_blob", |
| 108 | "//aos/vision/blob:hierarchical_contour_merge", |
| 109 | "//aos/vision/blob:codec", |
| 110 | ], |
Parker Schuh | d7db83d | 2017-02-08 20:49:15 -0800 | [diff] [blame^] | 111 | visibility = ['//visibility:public'], |
Parker Schuh | 2cd173d | 2017-01-28 00:12:01 -0800 | [diff] [blame] | 112 | ) |
| 113 | |
Brian Silverman | 2ccf8c5 | 2016-03-15 00:22:26 -0400 | [diff] [blame] | 114 | cc_binary( |
| 115 | name = 'target_receiver', |
| 116 | srcs = [ |
| 117 | 'target_receiver.cc', |
| 118 | ], |
Austin Schuh | c65b0ea | 2016-03-16 22:09:19 -0700 | [diff] [blame] | 119 | visibility = ['//visibility:public'], |
Brian Silverman | 2ccf8c5 | 2016-03-15 00:22:26 -0400 | [diff] [blame] | 120 | deps = [ |
| 121 | '//aos/common/logging', |
| 122 | '//aos/common/logging:queue_logging', |
| 123 | '//aos/linux_code:init', |
| 124 | '//aos/common:time', |
| 125 | '//aos/vision/events:udp', |
| 126 | ':vision_queue', |
| 127 | ':vision_data', |
| 128 | ':stereo_geometry', |
| 129 | '//y2016:constants', |
Brian Silverman | bc83118 | 2016-04-16 02:06:09 -0400 | [diff] [blame] | 130 | '//frc971/control_loops/drivetrain:drivetrain_queue', |
| 131 | '//aos/common:mutex', |
Brian Silverman | 2ccf8c5 | 2016-03-15 00:22:26 -0400 | [diff] [blame] | 132 | ], |
| 133 | ) |
Parker Schuh | d7db83d | 2017-02-08 20:49:15 -0800 | [diff] [blame^] | 134 | |
| 135 | gtk_dependent_cc_binary( |
| 136 | name = "debug_receiver", |
| 137 | srcs = ["debug_receiver.cc"], |
| 138 | visibility = ['//visibility:public'], |
| 139 | deps = [ |
| 140 | "//aos/vision/image:image_types", |
| 141 | "//aos/vision/image:jpeg_routines", |
| 142 | "//aos/vision/events:socket_types", |
| 143 | "//aos/vision/events:tcp_client", |
| 144 | "//aos/vision/events:epoll_events", |
| 145 | "//aos/vision/events:gtk_event", |
| 146 | "//aos/vision/debug:debug_viewer", |
| 147 | "//aos/vision/blob:range_image", |
| 148 | "//aos/vision/blob:codec", |
| 149 | "//aos/vision/blob:stream_view", |
| 150 | ":stereo_geometry", |
| 151 | ":blob_filters", |
| 152 | ":vision_data", |
| 153 | ":calibration", |
| 154 | ], |
| 155 | ) |