blob: 73f76186dd87776a725bc9fe5a836db9230c118d [file] [log] [blame]
Austin Schuh76f227c2022-02-23 16:34:08 -08001load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_ts_library")
milind-u086d7262022-01-19 20:44:18 -08002load("@npm//@bazel/typescript:index.bzl", "ts_library")
3
4package(default_visibility = ["//visibility:public"])
5
6flatbuffer_cc_library(
7 name = "superstructure_goal_fbs",
8 srcs = [
9 "superstructure_goal.fbs",
10 ],
11 gen_reflections = 1,
12 includes = [
13 "//frc971/control_loops:control_loops_fbs_includes",
14 "//frc971/control_loops:profiled_subsystem_fbs_includes",
15 ],
16)
17
18flatbuffer_cc_library(
19 name = "superstructure_output_fbs",
20 srcs = [
21 "superstructure_output.fbs",
22 ],
23 gen_reflections = 1,
24)
25
26flatbuffer_cc_library(
27 name = "superstructure_status_fbs",
28 srcs = [
29 "superstructure_status.fbs",
30 ],
31 gen_reflections = 1,
32 includes = [
33 "//frc971/control_loops:control_loops_fbs_includes",
34 "//frc971/control_loops:profiled_subsystem_fbs_includes",
35 ],
36)
37
Austin Schuh76f227c2022-02-23 16:34:08 -080038flatbuffer_ts_library(
39 name = "superstructure_status_ts_fbs",
40 srcs = [
41 "superstructure_status.fbs",
42 ],
43 includes = [
44 "//frc971/control_loops:control_loops_fbs_includes",
45 "//frc971/control_loops:profiled_subsystem_fbs_includes",
46 ],
47 target_compatible_with = ["@platforms//os:linux"],
48)
49
milind-u086d7262022-01-19 20:44:18 -080050flatbuffer_cc_library(
51 name = "superstructure_position_fbs",
52 srcs = [
53 "superstructure_position.fbs",
54 ],
55 gen_reflections = 1,
56 includes = [
57 "//frc971/control_loops:control_loops_fbs_includes",
58 "//frc971/control_loops:profiled_subsystem_fbs_includes",
59 ],
60)
61
62cc_library(
63 name = "superstructure_lib",
64 srcs = [
65 "superstructure.cc",
66 ],
67 hdrs = [
68 "superstructure.h",
69 ],
70 deps = [
Milind Upadhyay225156b2022-02-25 22:42:12 -080071 ":collision_avoidance_lib",
milind-u086d7262022-01-19 20:44:18 -080072 ":superstructure_goal_fbs",
73 ":superstructure_output_fbs",
74 ":superstructure_position_fbs",
75 ":superstructure_status_fbs",
76 "//aos/events:event_loop",
77 "//frc971/control_loops:control_loop",
Henry Speiser55aa3ba2022-02-21 23:21:12 -080078 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
milind-u086d7262022-01-19 20:44:18 -080079 "//y2022:constants",
Austin Schuh39f26f62022-02-24 21:34:46 -080080 "//y2022/control_loops/superstructure/catapult",
milind-u086d7262022-01-19 20:44:18 -080081 ],
82)
83
84cc_binary(
85 name = "superstructure",
86 srcs = [
87 "superstructure_main.cc",
88 ],
89 deps = [
90 ":superstructure_lib",
91 "//aos:init",
92 "//aos/events:shm_event_loop",
93 ],
94)
95
96cc_test(
97 name = "superstructure_lib_test",
98 srcs = [
99 "superstructure_lib_test.cc",
100 ],
101 data = [
Austin Schuhc5fa6d92022-02-25 14:36:28 -0800102 "//y2022:aos_config",
milind-u086d7262022-01-19 20:44:18 -0800103 ],
104 deps = [
105 ":superstructure_goal_fbs",
106 ":superstructure_lib",
107 ":superstructure_output_fbs",
108 ":superstructure_position_fbs",
109 ":superstructure_status_fbs",
110 "//aos:math",
111 "//aos/events/logging:log_writer",
112 "//aos/testing:googletest",
113 "//aos/time",
114 "//frc971/control_loops:capped_test_plant",
115 "//frc971/control_loops:control_loop_test",
116 "//frc971/control_loops:position_sensor_sim",
117 "//frc971/control_loops:team_number_test_environment",
118 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
119 ],
120)
121
Milind Upadhyay225156b2022-02-25 22:42:12 -0800122cc_library(
123 name = "collision_avoidance_lib",
124 srcs = ["collision_avoidance.cc"],
125 hdrs = ["collision_avoidance.h"],
126 target_compatible_with = ["@platforms//os:linux"],
127 deps = [
128 ":superstructure_goal_fbs",
129 ":superstructure_status_fbs",
130 "//frc971/control_loops:control_loops_fbs",
131 "//frc971/control_loops:profiled_subsystem_fbs",
132 "@com_github_google_glog//:glog",
133 "@com_google_absl//absl/functional:bind_front",
134 ],
135)
136
137cc_test(
138 name = "collision_avoidance_test",
139 srcs = ["collision_avoidance_test.cc"],
140 target_compatible_with = ["@platforms//os:linux"],
141 deps = [
142 ":collision_avoidance_lib",
143 ":superstructure_goal_fbs",
144 ":superstructure_status_fbs",
145 "//aos:flatbuffers",
146 "//aos:math",
147 "//aos/testing:googletest",
148 ],
149)
150
milind-u086d7262022-01-19 20:44:18 -0800151ts_library(
152 name = "superstructure_plotter",
153 srcs = ["superstructure_plotter.ts"],
154 target_compatible_with = ["@platforms//os:linux"],
155 deps = [
156 "//aos/network/www:aos_plotter",
157 "//aos/network/www:colors",
158 "//aos/network/www:proxy",
159 ],
160)
Austin Schuh76f227c2022-02-23 16:34:08 -0800161
162ts_library(
163 name = "catapult_plotter",
164 srcs = ["catapult_plotter.ts"],
165 target_compatible_with = ["@platforms//os:linux"],
166 deps = [
167 "//aos/network/www:aos_plotter",
168 "//aos/network/www:colors",
169 "//aos/network/www:proxy",
170 ],
171)