blob: ed3256fb82a5968510107b1c02b92fd003f77dae [file] [log] [blame]
Brian Silvermanf819b442019-01-20 16:51:04 -08001load("//frc971:downloader.bzl", "robot_downloader")
Alex Perrycb7da4b2019-08-28 19:35:56 -07002load("//aos:config.bzl", "aos_config")
Comran Morshed9a9948c2016-01-16 15:58:04 +00003
4cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -07005 name = "constants",
6 srcs = [
7 "constants.cc",
8 ],
9 hdrs = [
10 "constants.h",
11 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080012 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -070013 visibility = ["//visibility:public"],
14 deps = [
John Park33858a32018-09-28 23:05:48 -070015 "//aos/network:team_number",
Brian Silverman1463c092020-10-30 17:28:24 -070016 "//aos/stl_mutex",
Brian Silverman6470f442018-08-05 12:08:16 -070017 "//frc971:constants",
18 "//frc971:shifter_hall_effect",
19 "//frc971/control_loops:state_feedback_loop",
20 "//y2016/control_loops/drivetrain:polydrivetrain_plants",
Brian Silvermanf4d329c2021-11-04 19:32:10 -070021 "@com_github_google_glog//:glog",
Austin Schuhed5b26d2019-12-05 20:51:59 -080022 "@com_google_absl//absl/base",
Brian Silverman6470f442018-08-05 12:08:16 -070023 ],
Comran Morshed9a9948c2016-01-16 15:58:04 +000024)
25
26cc_binary(
Brian Silverman6470f442018-08-05 12:08:16 -070027 name = "joystick_reader",
28 srcs = [
29 "joystick_reader.cc",
30 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080031 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -070032 deps = [
33 ":constants",
John Park398c74a2018-10-20 21:17:39 -070034 "//aos:init",
Brian Silvermanf819b442019-01-20 16:51:04 -080035 "//aos/actions:action_lib",
Brian Silvermanf819b442019-01-20 16:51:04 -080036 "//aos/logging",
37 "//aos/time",
38 "//aos/util:log_interval",
Alex Perrycb7da4b2019-08-28 19:35:56 -070039 "//frc971/autonomous:auto_fbs",
40 "//frc971/control_loops/drivetrain:drivetrain_goal_fbs",
41 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
James Kuszmaul75a18c52021-03-10 22:02:07 -080042 "//frc971/control_loops/drivetrain:spline_goal_fbs",
Austin Schuh0a3c9d42021-07-15 22:36:24 -070043 "//frc971/input:action_joystick_input",
Tyler Chatow24b5db12020-01-06 21:16:56 -080044 "//frc971/queues:gyro_fbs",
Brian Silverman6470f442018-08-05 12:08:16 -070045 "//y2016/actors:autonomous_action_lib",
46 "//y2016/actors:superstructure_action_lib",
47 "//y2016/actors:vision_align_action_lib",
Alex Perrycb7da4b2019-08-28 19:35:56 -070048 "//y2016/control_loops/shooter:shooter_goal_fbs",
49 "//y2016/control_loops/superstructure:superstructure_goal_fbs",
Brian Silverman6470f442018-08-05 12:08:16 -070050 "//y2016/control_loops/superstructure:superstructure_lib",
Alex Perrycb7da4b2019-08-28 19:35:56 -070051 "//y2016/control_loops/superstructure:superstructure_status_fbs",
52 "//y2016/queues:ball_detector_fbs",
Brian Silverman6470f442018-08-05 12:08:16 -070053 ],
Comran Morshed9a9948c2016-01-16 15:58:04 +000054)
55
Lee Mracek6821fe02018-11-01 17:27:30 -040056robot_downloader(
Tyler Chatow24b5db12020-01-06 21:16:56 -080057 data = [
Austin Schuhc5fa6d92022-02-25 14:36:28 -080058 ":aos_config",
Tyler Chatow24b5db12020-01-06 21:16:56 -080059 ],
Brian Silvermanf819b442019-01-20 16:51:04 -080060 dirs = [
61 "//y2016/dashboard:www_files",
62 ],
63 start_binaries = [
64 ":joystick_reader",
65 ":wpilib_interface",
66 "//y2016/control_loops/drivetrain:drivetrain",
67 "//y2016/control_loops/superstructure:superstructure",
68 "//y2016/control_loops/shooter:shooter",
69 "//y2016/dashboard:dashboard",
70 "//y2016/actors:autonomous_action",
71 "//y2016/actors:superstructure_action",
72 "//y2016/actors:vision_align_action",
73 "//y2016/vision:target_receiver",
74 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080075 target_compatible_with = ["@platforms//os:linux"],
Austin Schuhc80dd152016-02-29 01:47:44 -080076)
Brian Silverman06016bc2017-02-11 16:34:34 -080077
Alex Perrycb7da4b2019-08-28 19:35:56 -070078aos_config(
Austin Schuhc5fa6d92022-02-25 14:36:28 -080079 name = "aos_config",
Alex Perrycb7da4b2019-08-28 19:35:56 -070080 src = "y2016.json",
81 flatbuffers = [
82 "//y2016/control_loops/shooter:shooter_goal_fbs",
83 "//y2016/control_loops/shooter:shooter_output_fbs",
84 "//y2016/control_loops/shooter:shooter_position_fbs",
85 "//y2016/control_loops/shooter:shooter_status_fbs",
86 "//y2016/control_loops/superstructure:superstructure_goal_fbs",
87 "//y2016/control_loops/superstructure:superstructure_output_fbs",
88 "//y2016/control_loops/superstructure:superstructure_position_fbs",
89 "//y2016/control_loops/superstructure:superstructure_status_fbs",
90 "//y2016/queues:ball_detector_fbs",
Tyler Chatow24b5db12020-01-06 21:16:56 -080091 "//y2016/vision:vision_fbs",
92 "//y2019/control_loops/drivetrain:target_selector_fbs",
93 "//y2016/actors:vision_align_action_fbs",
94 "//y2016/actors:superstructure_action_fbs",
Alex Perrycb7da4b2019-08-28 19:35:56 -070095 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080096 target_compatible_with = ["@platforms//os:linux"],
Alex Perrycb7da4b2019-08-28 19:35:56 -070097 visibility = ["//visibility:public"],
98 deps = [
Austin Schuhc5fa6d92022-02-25 14:36:28 -080099 "//frc971/autonomous:aos_config",
100 "//frc971/control_loops/drivetrain:aos_config",
101 "//frc971/input:aos_config",
102 "//frc971/wpilib:aos_config",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700103 ],
104)
105
Brian Silverman06016bc2017-02-11 16:34:34 -0800106cc_binary(
Brian Silverman6470f442018-08-05 12:08:16 -0700107 name = "wpilib_interface",
108 srcs = [
109 "wpilib_interface.cc",
110 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800111 target_compatible_with = ["//tools/platforms/hardware:roborio"],
Brian Silverman6470f442018-08-05 12:08:16 -0700112 deps = [
113 ":constants",
Brian Silvermanf819b442019-01-20 16:51:04 -0800114 "//aos:init",
John Park33858a32018-09-28 23:05:48 -0700115 "//aos:math",
John Park33858a32018-09-28 23:05:48 -0700116 "//aos/logging",
Brian Silvermanf819b442019-01-20 16:51:04 -0800117 "//aos/stl_mutex",
118 "//aos/time",
John Park33858a32018-09-28 23:05:48 -0700119 "//aos/util:log_interval",
120 "//aos/util:phased_loop",
121 "//aos/util:wrapping_counter",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700122 "//frc971/autonomous:auto_fbs",
Austin Schuhed5b26d2019-12-05 20:51:59 -0800123 "//frc971/autonomous:auto_mode_fbs",
Austin Schuh0a3c9d42021-07-15 22:36:24 -0700124 "//frc971/control_loops:control_loop",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700125 "//frc971/control_loops:control_loops_fbs",
126 "//frc971/control_loops/drivetrain:drivetrain_output_fbs",
127 "//frc971/control_loops/drivetrain:drivetrain_position_fbs",
Austin Schuh0a3c9d42021-07-15 22:36:24 -0700128 "//frc971/input:robot_state_fbs",
Brian Silverman6470f442018-08-05 12:08:16 -0700129 "//frc971/wpilib:ADIS16448",
130 "//frc971/wpilib:buffered_pcm",
131 "//frc971/wpilib:dma",
132 "//frc971/wpilib:dma_edge_counting",
Sabina Davisb71bc282019-02-03 01:17:23 -0800133 "//frc971/wpilib:drivetrain_writer",
Brian Silverman6470f442018-08-05 12:08:16 -0700134 "//frc971/wpilib:encoder_and_potentiometer",
135 "//frc971/wpilib:gyro_sender",
136 "//frc971/wpilib:interrupt_edge_counting",
137 "//frc971/wpilib:joystick_sender",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700138 "//frc971/wpilib:logging_fbs",
Brian Silverman6470f442018-08-05 12:08:16 -0700139 "//frc971/wpilib:loop_output_handler",
140 "//frc971/wpilib:pdp_fetcher",
Austin Schuh54667ac2019-02-02 16:44:49 -0800141 "//frc971/wpilib:sensor_reader",
Brian Silverman6470f442018-08-05 12:08:16 -0700142 "//frc971/wpilib:wpilib_robot_base",
143 "//third_party:wpilib",
144 "//y2016/control_loops/drivetrain:polydrivetrain_plants",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700145 "//y2016/control_loops/shooter:shooter_output_fbs",
146 "//y2016/control_loops/shooter:shooter_position_fbs",
147 "//y2016/control_loops/superstructure:superstructure_output_fbs",
148 "//y2016/control_loops/superstructure:superstructure_position_fbs",
149 "//y2016/queues:ball_detector_fbs",
Brian Silverman6470f442018-08-05 12:08:16 -0700150 ],
151)
152
153py_library(
154 name = "python_init",
155 srcs = ["__init__.py"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800156 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700157 visibility = ["//visibility:public"],
Brian Silverman06016bc2017-02-11 16:34:34 -0800158)