blob: 36a6c1904f227503e1178ce0114d8e2ca1daa9f7 [file] [log] [blame]
Henry Speiser354d2782022-07-22 13:56:48 -07001load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_ts_library")
2
3package(default_visibility = ["//visibility:public"])
4
5flatbuffer_cc_library(
6 name = "superstructure_goal_fbs",
7 srcs = [
8 "superstructure_goal.fbs",
9 ],
10 gen_reflections = 1,
11 includes = [
12 "//frc971/control_loops:control_loops_fbs_includes",
13 "//frc971/control_loops:profiled_subsystem_fbs_includes",
14 ],
15)
16
17flatbuffer_cc_library(
18 name = "superstructure_output_fbs",
19 srcs = [
20 "superstructure_output.fbs",
21 ],
22 gen_reflections = 1,
23)
24
25flatbuffer_cc_library(
26 name = "superstructure_status_fbs",
27 srcs = [
28 "superstructure_status.fbs",
29 ],
30 gen_reflections = 1,
31 includes = [
32 "//frc971/control_loops:control_loops_fbs_includes",
33 "//frc971/control_loops:profiled_subsystem_fbs_includes",
34 ],
35)
36
37flatbuffer_ts_library(
38 name = "superstructure_status_ts_fbs",
39 srcs = [
40 "superstructure_status.fbs",
41 ],
42 deps = [
43 "//frc971/control_loops:control_loops_ts_fbs",
44 "//frc971/control_loops:profiled_subsystem_ts_fbs",
45 ],
46)
47
48flatbuffer_cc_library(
49 name = "superstructure_position_fbs",
50 srcs = [
51 "superstructure_position.fbs",
52 ],
53 gen_reflections = 1,
54 includes = [
55 "//frc971/control_loops:control_loops_fbs_includes",
56 "//frc971/control_loops:profiled_subsystem_fbs_includes",
57 ],
58)
59
60cc_library(
61 name = "superstructure_lib",
62 srcs = [
63 "superstructure.cc",
64 ],
65 hdrs = [
66 "superstructure.h",
67 ],
68 deps = [
69 ":superstructure_goal_fbs",
70 ":superstructure_output_fbs",
71 ":superstructure_position_fbs",
72 ":superstructure_status_fbs",
73 "//aos:flatbuffer_merge",
74 "//aos/events:event_loop",
75 "//frc971/control_loops:control_loop",
76 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
77 "//y2022_bot3:constants",
78 ],
79)
80
81cc_binary(
82 name = "superstructure",
83 srcs = [
84 "superstructure_main.cc",
85 ],
86 deps = [
87 ":superstructure_lib",
88 "//aos:init",
89 "//aos/events:shm_event_loop",
90 ],
91)
92
93cc_test(
94 name = "superstructure_lib_test",
95 srcs = [
96 "superstructure_lib_test.cc",
97 ],
98 data = [
99 "//y2022_bot3:aos_config",
100 ],
101 deps = [
102 ":superstructure_goal_fbs",
103 ":superstructure_lib",
104 ":superstructure_output_fbs",
105 ":superstructure_position_fbs",
106 ":superstructure_status_fbs",
107 "//aos:math",
108 "//aos/events/logging:log_writer",
109 "//aos/testing:googletest",
110 "//aos/time",
111 "//frc971/control_loops:capped_test_plant",
112 "//frc971/control_loops:control_loop_test",
113 "//frc971/control_loops:position_sensor_sim",
114 "//frc971/control_loops:team_number_test_environment",
115 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
116 ],
117)
118
119cc_binary(
120 name = "superstructure_replay",
121 srcs = ["superstructure_replay.cc"],
122 deps = [
123 ":superstructure_lib",
124 "//aos:configuration",
125 "//aos:init",
126 "//aos/events:simulated_event_loop",
127 "//aos/events/logging:log_reader",
128 "//aos/network:team_number",
129 ],
130)