blob: 64d825e5bb013c6e6b0e7f4f85c7831436970a38 [file] [log] [blame]
Sabina Davis1b84afa2019-02-09 01:20:21 -08001load("//frc971:downloader.bzl", "robot_downloader")
Alex Perrycb7da4b2019-08-28 19:35:56 -07002load("//aos:config.bzl", "aos_config")
Michael Schuh5a1a7582019-03-01 13:03:47 -08003load("@com_google_protobuf//:protobuf.bzl", "cc_proto_library")
Alex Perrycb7da4b2019-08-28 19:35:56 -07004load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
Sabina Davis1b84afa2019-02-09 01:20:21 -08005
6robot_downloader(
Austin Schuhed5b26d2019-12-05 20:51:59 -08007 data = [
Austin Schuh14d7d3d2020-09-10 18:14:36 -07008 ":config",
Austin Schuhed5b26d2019-12-05 20:51:59 -08009 ],
Austin Schuh635e8bf2019-03-23 18:53:15 -070010 dirs = [
11 "//y2019/vision/server:www_files",
12 ],
Sabina Davis1b84afa2019-02-09 01:20:21 -080013 start_binaries = [
14 ":joystick_reader",
15 ":wpilib_interface",
16 "//y2019/control_loops/drivetrain:drivetrain",
James Kuszmaul75a18c52021-03-10 22:02:07 -080017 "//y2019/control_loops/drivetrain:trajectory_generator",
Austin Schuh355f3272019-02-15 23:09:29 -080018 "//y2019/control_loops/superstructure:superstructure",
Austin Schuh986091a2019-03-22 20:35:12 -070019 "//y2019/actors:binaries",
Austin Schuh635e8bf2019-03-23 18:53:15 -070020 "//y2019/vision/server",
Sabina Davis1b84afa2019-02-09 01:20:21 -080021 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080022 target_compatible_with = ["@platforms//os:linux"],
Sabina Davis1b84afa2019-02-09 01:20:21 -080023)
24
Tyler Chatow37ecdcd2019-01-26 20:18:42 -080025cc_library(
26 name = "constants",
27 srcs = [
28 "constants.cc",
29 ],
30 hdrs = [
31 "constants.h",
32 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080033 target_compatible_with = ["@platforms//os:linux"],
Tyler Chatow37ecdcd2019-01-26 20:18:42 -080034 visibility = ["//visibility:public"],
35 deps = [
Tyler Chatow37ecdcd2019-01-26 20:18:42 -080036 "//aos/logging",
Tyler Chatow37ecdcd2019-01-26 20:18:42 -080037 "//aos/network:team_number",
Brian Silverman1463c092020-10-30 17:28:24 -070038 "//aos/stl_mutex",
Tyler Chatow37ecdcd2019-01-26 20:18:42 -080039 "//frc971:constants",
James Kuszmaul22c5ab32019-02-09 14:45:58 -080040 "//frc971/control_loops:pose",
Theo Bafrali00e42272019-02-12 01:07:46 -080041 "//frc971/control_loops:static_zeroing_single_dof_profiled_subsystem",
James Kuszmaulf4ede202020-02-14 08:47:40 -080042 "//frc971/control_loops/drivetrain:camera",
Sabina Davis7be49f32019-02-02 00:30:19 -080043 "//y2019/control_loops/drivetrain:polydrivetrain_plants",
Alex Perry5fb5ff22019-02-09 21:53:17 -080044 "//y2019/control_loops/superstructure/elevator:elevator_plants",
45 "//y2019/control_loops/superstructure/intake:intake_plants",
46 "//y2019/control_loops/superstructure/stilts:stilts_plants",
Austin Schuhc1d6f832019-02-15 23:22:17 -080047 "//y2019/control_loops/superstructure/wrist:wrist_plants",
James Kuszmaule2c71ea2019-03-04 08:14:21 -080048 "//y2019/vision:constants",
Austin Schuhed5b26d2019-12-05 20:51:59 -080049 "@com_google_absl//absl/base",
Tyler Chatow37ecdcd2019-01-26 20:18:42 -080050 ],
51)
52
Sabina Davisabeae332019-02-01 21:12:57 -080053cc_binary(
54 name = "wpilib_interface",
55 srcs = [
56 "wpilib_interface.cc",
57 ],
Brian Silverman7be68ba2020-01-08 22:08:40 -080058 # This library uses some deprecated parts of the SPI API.
59 copts = ["-Wno-deprecated-declarations"],
Philipp Schraderdada1072020-11-24 11:34:46 -080060 target_compatible_with = ["//tools/platforms/hardware:roborio"],
Sabina Davisabeae332019-02-01 21:12:57 -080061 deps = [
Austin Schuhed5b26d2019-12-05 20:51:59 -080062 ":camera_log_fbs",
Sabina Davis7be49f32019-02-02 00:30:19 -080063 ":constants",
Austin Schuhed5b26d2019-12-05 20:51:59 -080064 ":status_light_fbs",
Sabina Davisabeae332019-02-01 21:12:57 -080065 "//aos:init",
66 "//aos:make_unique",
67 "//aos:math",
68 "//aos/controls:control_loop",
Alex Perrycb7da4b2019-08-28 19:35:56 -070069 "//aos/events:shm_event_loop",
Sabina Davisabeae332019-02-01 21:12:57 -080070 "//aos/logging",
James Kuszmaul7077d342021-06-09 20:23:58 -070071 "//frc971/input:robot_state_fbs",
Sabina Davisabeae332019-02-01 21:12:57 -080072 "//aos/stl_mutex",
73 "//aos/time",
74 "//aos/util:log_interval",
75 "//aos/util:phased_loop",
76 "//aos/util:wrapping_counter",
Austin Schuhed5b26d2019-12-05 20:51:59 -080077 "//frc971/autonomous:auto_mode_fbs",
Alex Perrycb7da4b2019-08-28 19:35:56 -070078 "//frc971/control_loops:control_loops_fbs",
79 "//frc971/control_loops/drivetrain:drivetrain_position_fbs",
Sabina Davisabeae332019-02-01 21:12:57 -080080 "//frc971/wpilib:ADIS16448",
Austin Schuhc1d6f832019-02-15 23:22:17 -080081 "//frc971/wpilib:buffered_pcm",
Sabina Davisd004fd62019-02-02 23:51:46 -080082 "//frc971/wpilib:drivetrain_writer",
Sabina Davisabeae332019-02-01 21:12:57 -080083 "//frc971/wpilib:encoder_and_potentiometer",
84 "//frc971/wpilib:interrupt_edge_counting",
85 "//frc971/wpilib:joystick_sender",
Alex Perrycb7da4b2019-08-28 19:35:56 -070086 "//frc971/wpilib:logging_fbs",
Sabina Davisabeae332019-02-01 21:12:57 -080087 "//frc971/wpilib:loop_output_handler",
88 "//frc971/wpilib:pdp_fetcher",
Sabina Davisadc58542019-02-01 22:23:00 -080089 "//frc971/wpilib:sensor_reader",
Sabina Davisabeae332019-02-01 21:12:57 -080090 "//frc971/wpilib:wpilib_interface",
91 "//frc971/wpilib:wpilib_robot_base",
Austin Schuhf6b94632019-02-02 22:11:27 -080092 "//third_party:phoenix",
Sabina Davisabeae332019-02-01 21:12:57 -080093 "//third_party:wpilib",
Alex Perrycb7da4b2019-08-28 19:35:56 -070094 "//y2019/control_loops/drivetrain:camera_fbs",
95 "//y2019/control_loops/superstructure:superstructure_output_fbs",
96 "//y2019/control_loops/superstructure:superstructure_position_fbs",
Brian Silvermanf8b75252019-02-24 16:13:58 -080097 "//y2019/jevois:spi",
Sabina Davisabeae332019-02-01 21:12:57 -080098 ],
99)
Sabina Davis1b84afa2019-02-09 01:20:21 -0800100
Tyler Chatowd28951f2019-02-16 20:12:28 -0800101cc_library(
102 name = "joystick_angle",
103 srcs = [
104 "joystick_angle.cc",
105 ],
106 hdrs = [
107 "joystick_angle.h",
108 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800109 target_compatible_with = ["@platforms//os:linux"],
Tyler Chatowd28951f2019-02-16 20:12:28 -0800110 deps = [
James Kuszmaul7077d342021-06-09 20:23:58 -0700111 "//frc971/input:drivetrain_input",
Tyler Chatowc8012ca2019-02-18 22:33:01 -0800112 "//frc971/zeroing:wrap",
Tyler Chatowd28951f2019-02-16 20:12:28 -0800113 ],
114)
115
116cc_test(
117 name = "joystick_angle_test",
118 srcs = [
119 "joystick_angle_test.cc",
120 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800121 target_compatible_with = ["@platforms//os:linux"],
Tyler Chatowd28951f2019-02-16 20:12:28 -0800122 deps = [
123 ":joystick_angle",
124 "//aos/testing:googletest",
125 ],
126)
127
Sabina Davis1b84afa2019-02-09 01:20:21 -0800128cc_binary(
Sabina Davis91b23602019-01-21 00:06:01 -0800129 name = "joystick_reader",
130 srcs = [
131 ":joystick_reader.cc",
132 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800133 target_compatible_with = ["@platforms//os:linux"],
Sabina Davis91b23602019-01-21 00:06:01 -0800134 deps = [
Austin Schuhed5b26d2019-12-05 20:51:59 -0800135 ":camera_log_fbs",
Tyler Chatowe0241452019-03-08 21:07:50 -0800136 ":vision_proto",
Sabina Davis91b23602019-01-21 00:06:01 -0800137 "//aos:init",
138 "//aos/actions:action_lib",
James Kuszmaul7077d342021-06-09 20:23:58 -0700139 "//frc971/input:action_joystick_input",
140 "//frc971/input:drivetrain_input",
141 "//frc971/input:joystick_input",
Sabina Davis91b23602019-01-21 00:06:01 -0800142 "//aos/logging",
143 "//aos/network:team_number",
144 "//aos/stl_mutex",
145 "//aos/time",
146 "//aos/util:log_interval",
147 "//aos/vision/events:udp",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700148 "//frc971/autonomous:auto_fbs",
Sabina Davis91b23602019-01-21 00:06:01 -0800149 "//frc971/autonomous:base_autonomous_actor",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700150 "//frc971/control_loops:profiled_subsystem_fbs",
151 "//frc971/control_loops/drivetrain:localizer_fbs",
Sabina Davis91b23602019-01-21 00:06:01 -0800152 "//y2019/control_loops/drivetrain:drivetrain_base",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700153 "//y2019/control_loops/drivetrain:target_selector_fbs",
154 "//y2019/control_loops/superstructure:superstructure_goal_fbs",
155 "//y2019/control_loops/superstructure:superstructure_position_fbs",
156 "//y2019/control_loops/superstructure:superstructure_status_fbs",
Tyler Chatowe0241452019-03-08 21:07:50 -0800157 "@com_google_protobuf//:protobuf",
Sabina Davis91b23602019-01-21 00:06:01 -0800158 ],
159)
Sabina Davisabeae332019-02-01 21:12:57 -0800160
Alex Perrycb7da4b2019-08-28 19:35:56 -0700161flatbuffer_cc_library(
Austin Schuhed5b26d2019-12-05 20:51:59 -0800162 name = "camera_log_fbs",
163 srcs = [
164 "camera_log.fbs",
165 ],
166 gen_reflections = 1,
Philipp Schraderdada1072020-11-24 11:34:46 -0800167 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhed5b26d2019-12-05 20:51:59 -0800168 visibility = ["//visibility:public"],
169)
170
171flatbuffer_cc_library(
172 name = "status_light_fbs",
Sabina Davisc6329342019-03-01 20:44:42 -0800173 srcs = [
Alex Perrycb7da4b2019-08-28 19:35:56 -0700174 "status_light.fbs",
175 ],
176 gen_reflections = 1,
Philipp Schraderdada1072020-11-24 11:34:46 -0800177 target_compatible_with = ["@platforms//os:linux"],
Alex Perrycb7da4b2019-08-28 19:35:56 -0700178 visibility = ["//visibility:public"],
179)
180
181aos_config(
182 name = "config",
183 src = "y2019.json",
184 flatbuffers = [
Austin Schuhed5b26d2019-12-05 20:51:59 -0800185 ":status_light_fbs",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700186 "//y2019/control_loops/drivetrain:camera_fbs",
187 "//y2019/control_loops/drivetrain:target_selector_fbs",
188 "//y2019/control_loops/superstructure:superstructure_goal_fbs",
189 "//y2019/control_loops/superstructure:superstructure_output_fbs",
190 "//y2019/control_loops/superstructure:superstructure_position_fbs",
191 "//y2019/control_loops/superstructure:superstructure_status_fbs",
Austin Schuhed5b26d2019-12-05 20:51:59 -0800192 ":camera_log_fbs",
Sabina Davisc6329342019-03-01 20:44:42 -0800193 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800194 target_compatible_with = ["@platforms//os:linux"],
Sabina Davisc6329342019-03-01 20:44:42 -0800195 visibility = ["//visibility:public"],
Alex Perrycb7da4b2019-08-28 19:35:56 -0700196 deps = [
James Kuszmaul7077d342021-06-09 20:23:58 -0700197 "//frc971/input:config",
Austin Schuhed5b26d2019-12-05 20:51:59 -0800198 "//frc971/autonomous:config",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700199 "//frc971/control_loops/drivetrain:config",
Austin Schuhed5b26d2019-12-05 20:51:59 -0800200 "//frc971/wpilib:config",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700201 ],
Sabina Davisc6329342019-03-01 20:44:42 -0800202)
203
Michael Schuh5a1a7582019-03-01 13:03:47 -0800204cc_proto_library(
205 name = "vision_proto",
206 srcs = ["vision.proto"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800207 target_compatible_with = ["@platforms//os:linux"],
Michael Schuh5a1a7582019-03-01 13:03:47 -0800208 visibility = ["//visibility:public"],
209)
210
Michael Schuhab42b0a2019-01-07 16:33:43 -0800211py_library(
212 name = "python_init",
213 srcs = ["__init__.py"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800214 target_compatible_with = ["@platforms//os:linux"],
Michael Schuhab42b0a2019-01-07 16:33:43 -0800215 visibility = ["//visibility:public"],
Sabina Davisabeae332019-02-01 21:12:57 -0800216)