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