blob: 9c845fd87b0a4e2f814bcaad7bac7ace20ba8b80 [file] [log] [blame]
Lee Mracek6821fe02018-11-01 17:27:30 -04001load("//frc971:downloader.bzl", "robot_downloader")
Alex Perrycb7da4b2019-08-28 19:35:56 -07002load("//aos:config.bzl", "aos_config")
Austin Schuhf9724442018-10-28 20:30:21 -07003load("@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")
Neil Balchacfca5b2018-01-28 14:04:08 -08005
Lee Mracek6821fe02018-11-01 17:27:30 -04006robot_downloader(
7 start_binaries = [
Austin Schuh2a3e0632018-02-19 16:24:49 -08008 ":joystick_reader",
9 ":wpilib_interface",
Austin Schuh8d5fff42018-05-30 20:44:12 -070010 "//y2018/vision:vision_status",
Austin Schuha3c148e2018-03-09 21:04:05 -080011 "//y2018/actors:autonomous_action",
Lee Mracek6821fe02018-11-01 17:27:30 -040012 "//y2018/control_loops/drivetrain:drivetrain",
Austin Schuha3c148e2018-03-09 21:04:05 -080013 "//y2018/control_loops/superstructure:superstructure",
Austin Schuh2a3e0632018-02-19 16:24:49 -080014 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080015 target_compatible_with = ["@platforms//os:linux"],
Neil Balchacfca5b2018-01-28 14:04:08 -080016)
17
Neil Balchacfca5b2018-01-28 14:04:08 -080018cc_binary(
Austin Schuh2a3e0632018-02-19 16:24:49 -080019 name = "joystick_reader",
20 srcs = [
21 "joystick_reader.cc",
22 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080023 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh2a3e0632018-02-19 16:24:49 -080024 deps = [
Austin Schuh8d5fff42018-05-30 20:44:12 -070025 ":vision_proto",
Austin Schuhf9724442018-10-28 20:30:21 -070026 "//aos:init",
John Park33858a32018-09-28 23:05:48 -070027 "//aos/actions:action_lib",
Austin Schuhf9724442018-10-28 20:30:21 -070028 "//aos/logging",
29 "//aos/network:team_number",
30 "//aos/stl_mutex",
31 "//aos/time",
32 "//aos/util:log_interval",
Austin Schuh8d5fff42018-05-30 20:44:12 -070033 "//aos/vision/events:udp",
Alex Perrycb7da4b2019-08-28 19:35:56 -070034 "//frc971/autonomous:auto_fbs",
Austin Schuha3c148e2018-03-09 21:04:05 -080035 "//frc971/autonomous:base_autonomous_actor",
Austin Schuh0a3c9d42021-07-15 22:36:24 -070036 "//frc971/input:action_joystick_input",
37 "//frc971/input:drivetrain_input",
Austin Schuh2a3e0632018-02-19 16:24:49 -080038 "//y2018/control_loops/drivetrain:drivetrain_base",
Alex Perrycb7da4b2019-08-28 19:35:56 -070039 "//y2018/control_loops/superstructure:superstructure_goal_fbs",
40 "//y2018/control_loops/superstructure:superstructure_position_fbs",
41 "//y2018/control_loops/superstructure:superstructure_status_fbs",
Austin Schuhab15c4d2018-03-09 21:21:03 -080042 "//y2018/control_loops/superstructure/arm:generated_graph",
Austin Schuh2a3e0632018-02-19 16:24:49 -080043 ],
44)
45
46cc_library(
47 name = "constants",
48 srcs = [
49 "constants.cc",
50 ],
51 hdrs = [
52 "constants.h",
53 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080054 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh2a3e0632018-02-19 16:24:49 -080055 visibility = ["//visibility:public"],
56 deps = [
John Park33858a32018-09-28 23:05:48 -070057 "//aos/network:team_number",
Brian Silverman1463c092020-10-30 17:28:24 -070058 "//aos/stl_mutex",
Austin Schuh2a3e0632018-02-19 16:24:49 -080059 "//frc971:constants",
60 "//frc971/shooter_interpolation:interpolation",
61 "//y2018/control_loops/drivetrain:polydrivetrain_plants",
62 "//y2018/control_loops/superstructure/arm:dynamics",
63 "//y2018/control_loops/superstructure/intake:intake_plants",
Brian Silvermanf4d329c2021-11-04 19:32:10 -070064 "@com_github_google_glog//:glog",
Austin Schuh2a3e0632018-02-19 16:24:49 -080065 ],
66)
67
68cc_binary(
69 name = "wpilib_interface",
70 srcs = [
71 "wpilib_interface.cc",
72 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080073 target_compatible_with = ["//tools/platforms/hardware:roborio"],
Austin Schuh2a3e0632018-02-19 16:24:49 -080074 deps = [
Alex Perrycb7da4b2019-08-28 19:35:56 -070075 ":status_light_fbs",
Austin Schuhf9724442018-10-28 20:30:21 -070076 "//aos:init",
John Park33858a32018-09-28 23:05:48 -070077 "//aos:math",
John Park33858a32018-09-28 23:05:48 -070078 "//aos/logging",
Austin Schuhf9724442018-10-28 20:30:21 -070079 "//aos/time",
John Park33858a32018-09-28 23:05:48 -070080 "//aos/util:log_interval",
81 "//aos/util:phased_loop",
82 "//aos/util:wrapping_counter",
Alex Perrycb7da4b2019-08-28 19:35:56 -070083 "//frc971/autonomous:auto_fbs",
Austin Schuh0a3c9d42021-07-15 22:36:24 -070084 "//frc971/control_loops:control_loop",
Alex Perrycb7da4b2019-08-28 19:35:56 -070085 "//frc971/control_loops:control_loops_fbs",
86 "//frc971/control_loops/drivetrain:drivetrain_position_fbs",
87 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
Austin Schuh0a3c9d42021-07-15 22:36:24 -070088 "//frc971/input:robot_state_fbs",
Austin Schuh2a3e0632018-02-19 16:24:49 -080089 "//frc971/wpilib:ADIS16448",
90 "//frc971/wpilib:buffered_pcm",
91 "//frc971/wpilib:dma",
92 "//frc971/wpilib:dma_edge_counting",
Sabina Daviscaa2a6b2019-02-03 01:15:37 -080093 "//frc971/wpilib:drivetrain_writer",
Austin Schuh2a3e0632018-02-19 16:24:49 -080094 "//frc971/wpilib:encoder_and_potentiometer",
Austin Schuh2a3e0632018-02-19 16:24:49 -080095 "//frc971/wpilib:joystick_sender",
Alex Perrycb7da4b2019-08-28 19:35:56 -070096 "//frc971/wpilib:logging_fbs",
Austin Schuh2a3e0632018-02-19 16:24:49 -080097 "//frc971/wpilib:loop_output_handler",
98 "//frc971/wpilib:pdp_fetcher",
Austin Schuh6abf5b72019-02-02 20:20:54 -080099 "//frc971/wpilib:sensor_reader",
Austin Schuh2a3e0632018-02-19 16:24:49 -0800100 "//frc971/wpilib:wpilib_robot_base",
Austin Schuhf6b94632019-02-02 22:11:27 -0800101 "//third_party:phoenix",
Austin Schuh2a3e0632018-02-19 16:24:49 -0800102 "//third_party:wpilib",
103 "//y2018:constants",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700104 "//y2018/control_loops/superstructure:superstructure_output_fbs",
105 "//y2018/control_loops/superstructure:superstructure_position_fbs",
106 "//y2018/vision:vision_fbs",
Austin Schuh2a3e0632018-02-19 16:24:49 -0800107 ],
Neil Balchacfca5b2018-01-28 14:04:08 -0800108)
Brian Silverman37281fc2018-03-11 18:42:17 -0700109
Alex Perrycb7da4b2019-08-28 19:35:56 -0700110flatbuffer_cc_library(
111 name = "status_light_fbs",
Brian Silverman37281fc2018-03-11 18:42:17 -0700112 srcs = [
Alex Perrycb7da4b2019-08-28 19:35:56 -0700113 "status_light.fbs",
114 ],
115 gen_reflections = 1,
Philipp Schraderdada1072020-11-24 11:34:46 -0800116 target_compatible_with = ["@platforms//os:linux"],
Alex Perrycb7da4b2019-08-28 19:35:56 -0700117 visibility = ["//visibility:public"],
118)
119
120aos_config(
121 name = "config",
122 src = "y2018.json",
123 flatbuffers = [
124 ":status_light_fbs",
125 "//y2018/control_loops/superstructure:superstructure_goal_fbs",
126 "//y2018/control_loops/superstructure:superstructure_output_fbs",
127 "//y2018/control_loops/superstructure:superstructure_position_fbs",
128 "//y2018/control_loops/superstructure:superstructure_status_fbs",
129 "//y2018/vision:vision_fbs",
Brian Silverman37281fc2018-03-11 18:42:17 -0700130 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800131 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh8d5fff42018-05-30 20:44:12 -0700132 visibility = ["//visibility:public"],
Alex Perrycb7da4b2019-08-28 19:35:56 -0700133 deps = [
Alex Perrycb7da4b2019-08-28 19:35:56 -0700134 "//frc971/control_loops/drivetrain:config",
Austin Schuh0a3c9d42021-07-15 22:36:24 -0700135 "//frc971/input:config",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700136 ],
Austin Schuh8d5fff42018-05-30 20:44:12 -0700137)
138
Austin Schuhf9724442018-10-28 20:30:21 -0700139cc_proto_library(
Austin Schuh8d5fff42018-05-30 20:44:12 -0700140 name = "vision_proto",
Austin Schuhf9724442018-10-28 20:30:21 -0700141 srcs = ["vision.proto"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800142 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh8d5fff42018-05-30 20:44:12 -0700143 visibility = ["//visibility:public"],
Brian Silverman37281fc2018-03-11 18:42:17 -0700144)
Brian Silverman6470f442018-08-05 12:08:16 -0700145
146py_library(
147 name = "python_init",
148 srcs = ["__init__.py"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800149 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700150 visibility = ["//visibility:public"],
151)