blob: 94fd844275251d206fee374ee17d6c891a921909 [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 ],
Neil Balchacfca5b2018-01-28 14:04:08 -080015)
16
Neil Balchacfca5b2018-01-28 14:04:08 -080017cc_binary(
Austin Schuh2a3e0632018-02-19 16:24:49 -080018 name = "joystick_reader",
19 srcs = [
20 "joystick_reader.cc",
21 ],
22 deps = [
Austin Schuh8d5fff42018-05-30 20:44:12 -070023 ":vision_proto",
Austin Schuhf9724442018-10-28 20:30:21 -070024 "//aos:init",
John Park33858a32018-09-28 23:05:48 -070025 "//aos/actions:action_lib",
Austin Schuha250b2d2019-05-27 16:14:02 -070026 "//aos/input:action_joystick_input",
Austin Schuh2a3e0632018-02-19 16:24:49 -080027 "//aos/input:drivetrain_input",
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 Schuh2a3e0632018-02-19 16:24:49 -080036 "//y2018/control_loops/drivetrain:drivetrain_base",
Alex Perrycb7da4b2019-08-28 19:35:56 -070037 "//y2018/control_loops/superstructure:superstructure_goal_fbs",
38 "//y2018/control_loops/superstructure:superstructure_position_fbs",
39 "//y2018/control_loops/superstructure:superstructure_status_fbs",
Austin Schuhab15c4d2018-03-09 21:21:03 -080040 "//y2018/control_loops/superstructure/arm:generated_graph",
Austin Schuh2a3e0632018-02-19 16:24:49 -080041 ],
42)
43
44cc_library(
45 name = "constants",
46 srcs = [
47 "constants.cc",
48 ],
49 hdrs = [
50 "constants.h",
51 ],
52 visibility = ["//visibility:public"],
53 deps = [
John Park33858a32018-09-28 23:05:48 -070054 "//aos/logging",
Austin Schuhf9724442018-10-28 20:30:21 -070055 "//aos/mutex",
John Park33858a32018-09-28 23:05:48 -070056 "//aos/network:team_number",
Austin Schuh2a3e0632018-02-19 16:24:49 -080057 "//frc971:constants",
58 "//frc971/shooter_interpolation:interpolation",
59 "//y2018/control_loops/drivetrain:polydrivetrain_plants",
60 "//y2018/control_loops/superstructure/arm:dynamics",
61 "//y2018/control_loops/superstructure/intake:intake_plants",
62 ],
63)
64
65cc_binary(
66 name = "wpilib_interface",
67 srcs = [
68 "wpilib_interface.cc",
69 ],
70 restricted_to = ["//tools:roborio"],
71 deps = [
Alex Perrycb7da4b2019-08-28 19:35:56 -070072 ":status_light_fbs",
Austin Schuhf9724442018-10-28 20:30:21 -070073 "//aos:init",
Brian Silvermanf819b442019-01-20 16:51:04 -080074 "//aos:make_unique",
John Park33858a32018-09-28 23:05:48 -070075 "//aos:math",
John Park33858a32018-09-28 23:05:48 -070076 "//aos/controls:control_loop",
77 "//aos/logging",
Alex Perrycb7da4b2019-08-28 19:35:56 -070078 "//aos/robot_state:robot_state_fbs",
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",
84 "//frc971/control_loops:control_loops_fbs",
85 "//frc971/control_loops/drivetrain:drivetrain_position_fbs",
86 "//frc971/control_loops/drivetrain:drivetrain_status_fbs",
Austin Schuh2a3e0632018-02-19 16:24:49 -080087 "//frc971/wpilib:ADIS16448",
88 "//frc971/wpilib:buffered_pcm",
89 "//frc971/wpilib:dma",
90 "//frc971/wpilib:dma_edge_counting",
Sabina Daviscaa2a6b2019-02-03 01:15:37 -080091 "//frc971/wpilib:drivetrain_writer",
Austin Schuh2a3e0632018-02-19 16:24:49 -080092 "//frc971/wpilib:encoder_and_potentiometer",
Austin Schuh2a3e0632018-02-19 16:24:49 -080093 "//frc971/wpilib:joystick_sender",
Alex Perrycb7da4b2019-08-28 19:35:56 -070094 "//frc971/wpilib:logging_fbs",
Austin Schuh2a3e0632018-02-19 16:24:49 -080095 "//frc971/wpilib:loop_output_handler",
96 "//frc971/wpilib:pdp_fetcher",
Austin Schuh6abf5b72019-02-02 20:20:54 -080097 "//frc971/wpilib:sensor_reader",
Austin Schuh2a3e0632018-02-19 16:24:49 -080098 "//frc971/wpilib:wpilib_robot_base",
Austin Schuhf6b94632019-02-02 22:11:27 -080099 "//third_party:phoenix",
Austin Schuh2a3e0632018-02-19 16:24:49 -0800100 "//third_party:wpilib",
101 "//y2018:constants",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700102 "//y2018/control_loops/superstructure:superstructure_output_fbs",
103 "//y2018/control_loops/superstructure:superstructure_position_fbs",
104 "//y2018/vision:vision_fbs",
Austin Schuh2a3e0632018-02-19 16:24:49 -0800105 ],
Neil Balchacfca5b2018-01-28 14:04:08 -0800106)
Brian Silverman37281fc2018-03-11 18:42:17 -0700107
Alex Perrycb7da4b2019-08-28 19:35:56 -0700108flatbuffer_cc_library(
109 name = "status_light_fbs",
Brian Silverman37281fc2018-03-11 18:42:17 -0700110 srcs = [
Alex Perrycb7da4b2019-08-28 19:35:56 -0700111 "status_light.fbs",
112 ],
113 gen_reflections = 1,
114 visibility = ["//visibility:public"],
115)
116
117aos_config(
118 name = "config",
119 src = "y2018.json",
120 flatbuffers = [
121 ":status_light_fbs",
122 "//y2018/control_loops/superstructure:superstructure_goal_fbs",
123 "//y2018/control_loops/superstructure:superstructure_output_fbs",
124 "//y2018/control_loops/superstructure:superstructure_position_fbs",
125 "//y2018/control_loops/superstructure:superstructure_status_fbs",
126 "//y2018/vision:vision_fbs",
Brian Silverman37281fc2018-03-11 18:42:17 -0700127 ],
Austin Schuh8d5fff42018-05-30 20:44:12 -0700128 visibility = ["//visibility:public"],
Alex Perrycb7da4b2019-08-28 19:35:56 -0700129 deps = [
130 "//aos/robot_state:config",
131 "//frc971/control_loops/drivetrain:config",
132 ],
Austin Schuh8d5fff42018-05-30 20:44:12 -0700133)
134
Austin Schuhf9724442018-10-28 20:30:21 -0700135cc_proto_library(
Austin Schuh8d5fff42018-05-30 20:44:12 -0700136 name = "vision_proto",
Austin Schuhf9724442018-10-28 20:30:21 -0700137 srcs = ["vision.proto"],
Austin Schuh8d5fff42018-05-30 20:44:12 -0700138 visibility = ["//visibility:public"],
Brian Silverman37281fc2018-03-11 18:42:17 -0700139)
Brian Silverman6470f442018-08-05 12:08:16 -0700140
141py_library(
142 name = "python_init",
143 srcs = ["__init__.py"],
144 visibility = ["//visibility:public"],
145)