blob: 8af688242462ab22e4beeb8de84eeaac5131a70c [file] [log] [blame]
Henry Speiser354d2782022-07-22 13:56:48 -07001load("//frc971:downloader.bzl", "robot_downloader")
2load("//aos:config.bzl", "aos_config")
3
4robot_downloader(
5 binaries = [
6 "//aos/network:web_proxy_main",
7 "//aos/events/logging:log_cat",
8 ],
9 data = [
10 ":aos_config",
11 "@ctre_phoenix_api_cpp_athena//:shared_libraries",
12 "@ctre_phoenix_cci_athena//:shared_libraries",
13 ],
14 dirs = [
15 "//y2022_bot3/actors:splines",
16 ],
17 start_binaries = [
18 "//aos/events/logging:logger_main",
19 "//aos/network:web_proxy_main",
20 ":joystick_reader",
21 ":wpilib_interface",
22 "//aos/network:message_bridge_client",
23 "//aos/network:message_bridge_server",
24 "//y2022_bot3/actors:binaries",
25 "//y2022_bot3/control_loops/drivetrain:drivetrain",
26 "//y2022_bot3/control_loops/drivetrain:trajectory_generator",
27 "//y2022_bot3/control_loops/superstructure:superstructure",
28 ],
29 target_compatible_with = ["@platforms//os:linux"],
30)
31
32robot_downloader(
33 name = "pi_download",
34 binaries = [
35 "//aos/events/logging:log_cat",
36 ],
37 data = [
38 ":aos_config",
39 ],
40 start_binaries = [
41 "//aos/events/logging:logger_main",
42 "//aos/network:message_bridge_client",
43 "//aos/network:message_bridge_server",
44 "//aos/network:web_proxy_main",
45 ],
46 target_compatible_with = ["//tools/platforms/hardware:raspberry_pi"],
47 target_type = "pi",
48)
49
50aos_config(
51 name = "aos_config",
52 src = "y2022_bot3.json",
53 flatbuffers = [
54 "//aos/network:message_bridge_client_fbs",
55 "//aos/network:message_bridge_server_fbs",
56 "//aos/network:timestamp_fbs",
57 "//frc971/input:robot_state_fbs",
58 ],
59 target_compatible_with = ["@platforms//os:linux"],
60 visibility = ["//visibility:public"],
61 deps = [
62 ":config_imu",
63 ":config_roborio",
64 ],
65)
66
67aos_config(
68 name = "config_imu",
69 src = "y2022_bot3_imu.json",
70 flatbuffers = [
71 "//aos/network:message_bridge_client_fbs",
72 "//aos/network:message_bridge_server_fbs",
73 "//aos/network:timestamp_fbs",
74 "//aos/network:remote_message_fbs",
75 ],
76 target_compatible_with = ["@platforms//os:linux"],
77 visibility = ["//visibility:public"],
78 deps = [
79 "//aos/events:aos_config",
80 "//frc971/control_loops/drivetrain:aos_config",
81 ],
82)
83
84aos_config(
85 name = "config_roborio",
86 src = "y2022_bot3_roborio.json",
87 flatbuffers = [
88 "//aos/network:remote_message_fbs",
89 "//aos/network:message_bridge_client_fbs",
90 "//aos/network:message_bridge_server_fbs",
91 "//aos/network:timestamp_fbs",
92 "//y2019/control_loops/drivetrain:target_selector_fbs",
93 "//y2022_bot3/control_loops/superstructure:superstructure_goal_fbs",
94 "//y2022_bot3/control_loops/superstructure:superstructure_output_fbs",
95 "//y2022_bot3/control_loops/superstructure:superstructure_position_fbs",
96 "//y2022_bot3/control_loops/superstructure:superstructure_status_fbs",
97 ],
98 target_compatible_with = ["@platforms//os:linux"],
99 deps = [
100 "//aos/events:aos_config",
101 "//frc971/autonomous:aos_config",
102 "//frc971/control_loops/drivetrain:aos_config",
103 "//frc971/input:aos_config",
104 "//frc971/wpilib:aos_config",
105 ],
106)
107
108cc_library(
109 name = "constants",
110 srcs = [
111 "constants.cc",
112 ],
113 hdrs = [
114 "constants.h",
115 ],
116 visibility = ["//visibility:public"],
117 deps = [
118 "//aos/mutex",
119 "//aos/network:team_number",
120 "//frc971:constants",
121 "//frc971/control_loops:pose",
122 "//frc971/control_loops:static_zeroing_single_dof_profiled_subsystem",
123 "//frc971/shooter_interpolation:interpolation",
124 "//y2022_bot3/control_loops/drivetrain:polydrivetrain_plants",
125 "@com_github_google_glog//:glog",
126 "@com_google_absl//absl/base",
127 ],
128)
129
130cc_binary(
131 name = "wpilib_interface",
132 srcs = [
133 "wpilib_interface.cc",
134 ],
135 target_compatible_with = ["//tools/platforms/hardware:roborio"],
136 deps = [
137 ":constants",
138 "//aos:init",
139 "//aos:math",
140 "//aos/events:shm_event_loop",
141 "//aos/logging",
142 "//aos/stl_mutex",
143 "//aos/time",
144 "//aos/util:log_interval",
145 "//aos/util:phased_loop",
146 "//aos/util:wrapping_counter",
147 "//frc971/autonomous:auto_mode_fbs",
148 "//frc971/control_loops:control_loop",
149 "//frc971/control_loops:control_loops_fbs",
150 "//frc971/control_loops/drivetrain:drivetrain_position_fbs",
151 "//frc971/input:robot_state_fbs",
152 "//frc971/queues:gyro_fbs",
153 "//frc971/wpilib:ADIS16448",
154 "//frc971/wpilib:buffered_pcm",
155 "//frc971/wpilib:drivetrain_writer",
156 "//frc971/wpilib:encoder_and_potentiometer",
157 "//frc971/wpilib:interrupt_edge_counting",
158 "//frc971/wpilib:joystick_sender",
159 "//frc971/wpilib:logging_fbs",
160 "//frc971/wpilib:loop_output_handler",
161 "//frc971/wpilib:pdp_fetcher",
162 "//frc971/wpilib:sensor_reader",
163 "//frc971/wpilib:wpilib_interface",
164 "//frc971/wpilib:wpilib_robot_base",
165 "//third_party:phoenix",
166 "//third_party:wpilib",
167 "//y2022_bot3/control_loops/superstructure:superstructure_output_fbs",
168 "//y2022_bot3/control_loops/superstructure:superstructure_position_fbs",
169 ],
170)
171
172cc_binary(
173 name = "joystick_reader",
174 srcs = [
175 ":joystick_reader.cc",
176 ],
177 deps = [
178 ":constants",
179 "//aos:init",
180 "//aos/actions:action_lib",
181 "//aos/logging",
182 "//frc971/autonomous:auto_fbs",
183 "//frc971/autonomous:base_autonomous_actor",
184 "//frc971/control_loops:profiled_subsystem_fbs",
185 "//frc971/input:action_joystick_input",
186 "//frc971/input:drivetrain_input",
187 "//frc971/input:joystick_input",
188 "//y2022_bot3/control_loops/drivetrain:drivetrain_base",
189 "//y2022_bot3/control_loops/superstructure:superstructure_goal_fbs",
190 "//y2022_bot3/control_loops/superstructure:superstructure_status_fbs",
191 ],
192)
193
194py_library(
195 name = "python_init",
196 srcs = ["__init__.py"],
197 target_compatible_with = ["@platforms//os:linux"],
198 visibility = ["//visibility:public"],
199)
200
201sh_binary(
202 name = "log_web_proxy",
203 srcs = ["log_web_proxy.sh"],
204 data = [
205 ":aos_config",
206 "//aos/network:log_web_proxy_main",
207 ],
208 target_compatible_with = ["@platforms//os:linux"],
209)