blob: 5b44e2ad6026bf8e726a3d340ae456b9cc7df673 [file] [log] [blame]
Austin Schuha1d006e2022-09-14 21:50:42 -07001load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
2load("@com_github_google_flatbuffers//:typescript.bzl", "flatbuffer_ts_library")
Henry Speiser354d2782022-07-22 13:56:48 -07003
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
38flatbuffer_ts_library(
39 name = "superstructure_status_ts_fbs",
40 srcs = [
41 "superstructure_status.fbs",
42 ],
43 deps = [
44 "//frc971/control_loops:control_loops_ts_fbs",
45 "//frc971/control_loops:profiled_subsystem_ts_fbs",
46 ],
47)
48
49flatbuffer_cc_library(
50 name = "superstructure_position_fbs",
51 srcs = [
52 "superstructure_position.fbs",
53 ],
54 gen_reflections = 1,
55 includes = [
56 "//frc971/control_loops:control_loops_fbs_includes",
57 "//frc971/control_loops:profiled_subsystem_fbs_includes",
58 ],
59)
60
61cc_library(
62 name = "superstructure_lib",
63 srcs = [
64 "superstructure.cc",
65 ],
66 hdrs = [
67 "superstructure.h",
68 ],
69 deps = [
70 ":superstructure_goal_fbs",
71 ":superstructure_output_fbs",
72 ":superstructure_position_fbs",
73 ":superstructure_status_fbs",
74 "//aos:flatbuffer_merge",
75 "//aos/events:event_loop",
76 "//frc971/control_loops:control_loop",
77 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
James Kuszmaulec635d22023-08-12 18:39:24 -070078 "//frc971/zeroing:pot_and_absolute_encoder",
Henry Speiser354d2782022-07-22 13:56:48 -070079 "//y2022_bot3:constants",
80 ],
81)
82
83cc_binary(
84 name = "superstructure",
85 srcs = [
86 "superstructure_main.cc",
87 ],
88 deps = [
89 ":superstructure_lib",
90 "//aos:init",
91 "//aos/events:shm_event_loop",
92 ],
93)
94
95cc_test(
96 name = "superstructure_lib_test",
97 srcs = [
98 "superstructure_lib_test.cc",
99 ],
100 data = [
101 "//y2022_bot3:aos_config",
102 ],
103 deps = [
104 ":superstructure_goal_fbs",
105 ":superstructure_lib",
106 ":superstructure_output_fbs",
107 ":superstructure_position_fbs",
108 ":superstructure_status_fbs",
109 "//aos:math",
110 "//aos/events/logging:log_writer",
111 "//aos/testing:googletest",
112 "//aos/time",
113 "//frc971/control_loops:capped_test_plant",
114 "//frc971/control_loops:control_loop_test",
115 "//frc971/control_loops:position_sensor_sim",
Niko Sohmerse69ee2d2022-09-28 19:52:27 -0700116 "//frc971/control_loops:subsystem_simulator",
Henry Speiser354d2782022-07-22 13:56:48 -0700117 "//frc971/control_loops:team_number_test_environment",
118 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
119 ],
120)
121
122cc_binary(
123 name = "superstructure_replay",
124 srcs = ["superstructure_replay.cc"],
125 deps = [
126 ":superstructure_lib",
127 "//aos:configuration",
128 "//aos:init",
129 "//aos/events:simulated_event_loop",
130 "//aos/events/logging:log_reader",
131 "//aos/network:team_number",
132 ],
133)