Convert bot3 to Bazel too
Change-Id: I330e334977ea0ba6c2b9febf1647d5d9b5cd2d4f
diff --git a/bot3/BUILD b/bot3/BUILD
new file mode 100644
index 0000000..d0f7782
--- /dev/null
+++ b/bot3/BUILD
@@ -0,0 +1,22 @@
+package(default_visibility = ['//visibility:public'])
+
+cc_binary(
+ name = 'joystick_reader_bot3',
+ srcs = [
+ 'joystick_reader.cc',
+ ],
+ deps = [
+ '//aos/prime/input:joystick_input',
+ '//aos/linux_code:init',
+ '//aos/common/logging',
+ '//aos/common:time',
+ '//aos/common/util:log_interval',
+ '//aos/common/actions:action_lib',
+ '//frc971/queues:gyro',
+ '//bot3/control_loops/elevator:elevator_lib',
+ '//bot3/control_loops/drivetrain:drivetrain_queue',
+ '//bot3/control_loops/elevator:elevator_queue',
+ '//bot3/control_loops/intake:intake_queue',
+ '//bot3/autonomous:auto_queue',
+ ],
+)
diff --git a/bot3/actors/BUILD b/bot3/actors/BUILD
new file mode 100644
index 0000000..271773d
--- /dev/null
+++ b/bot3/actors/BUILD
@@ -0,0 +1,55 @@
+package(default_visibility = ['//visibility:public'])
+
+load('/aos/build/queues', 'queue_library')
+
+filegroup(
+ name = 'binaries',
+ srcs = [
+ ':drivetrain_action_bot3',
+ ],
+)
+
+queue_library(
+ name = 'drivetrain_action_queue',
+ srcs = [
+ 'drivetrain_action.q',
+ ],
+ deps = [
+ '//aos/common/actions:action_queue',
+ ],
+)
+
+cc_library(
+ name = 'drivetrain_action_lib',
+ srcs = [
+ 'drivetrain_actor.cc',
+ ],
+ hdrs = [
+ 'drivetrain_actor.h',
+ ],
+ deps = [
+ ':drivetrain_action_queue',
+ '//aos/common:time',
+ '//aos/common/util:phased_loop',
+ '//aos/common/logging',
+ '//aos/common/actions:action_lib',
+ '//aos/common/logging:queue_logging',
+ '//third_party/eigen',
+ '//aos/common/util:trapezoid_profile',
+ '//bot3/control_loops/drivetrain:drivetrain_queue',
+ '//bot3/control_loops/drivetrain:drivetrain_lib',
+ ],
+)
+
+cc_binary(
+ name = 'drivetrain_action_bot3',
+ srcs = [
+ 'drivetrain_actor_main.cc',
+ ],
+ deps = [
+ '//aos/linux_code:init',
+ '//aos/common/actions:action_lib',
+ ':drivetrain_action_queue',
+ ':drivetrain_action_lib',
+ ],
+)
diff --git a/bot3/autonomous/BUILD b/bot3/autonomous/BUILD
new file mode 100644
index 0000000..48b725e
--- /dev/null
+++ b/bot3/autonomous/BUILD
@@ -0,0 +1,46 @@
+package(default_visibility = ['//visibility:public'])
+
+load('/aos/build/queues', 'queue_library')
+
+queue_library(
+ name = 'auto_queue',
+ srcs = [
+ 'auto.q',
+ ],
+)
+
+cc_library(
+ name = 'auto_lib',
+ srcs = [
+ 'auto.cc',
+ ],
+ hdrs = [
+ 'auto.h',
+ ],
+ deps = [
+ ':auto_queue',
+ '//aos/common/controls:control_loop',
+ '//bot3/control_loops/drivetrain:drivetrain_queue',
+ '//bot3/control_loops/drivetrain:drivetrain_lib',
+ '//bot3/actors:drivetrain_action_lib',
+ '//bot3/control_loops/elevator:elevator_queue',
+ '//bot3/control_loops/intake:intake_queue',
+ '//aos/common:time',
+ '//aos/common/util:phased_loop',
+ '//aos/common/util:trapezoid_profile',
+ '//aos/common/logging',
+ '//aos/common/logging:queue_logging',
+ ],
+)
+
+cc_binary(
+ name = 'auto_bot3',
+ srcs = [
+ 'auto_main.cc',
+ ],
+ deps = [
+ '//aos/linux_code:init',
+ ':auto_queue',
+ ':auto_lib',
+ ],
+)
diff --git a/bot3/control_loops/BUILD b/bot3/control_loops/BUILD
new file mode 100644
index 0000000..1dc5c67
--- /dev/null
+++ b/bot3/control_loops/BUILD
@@ -0,0 +1,14 @@
+package(default_visibility = ['//visibility:public'])
+
+cc_library(
+ name = 'position_sensor_sim',
+ srcs = [
+ 'position_sensor_sim.cc',
+ ],
+ hdrs = [
+ 'position_sensor_sim.h',
+ ],
+ deps = [
+ '//bot3/control_loops/elevator:elevator_queue',
+ ],
+)
diff --git a/bot3/control_loops/control_loops.gyp b/bot3/control_loops/control_loops.gyp
index b63816e..0c49272 100644
--- a/bot3/control_loops/control_loops.gyp
+++ b/bot3/control_loops/control_loops.gyp
@@ -4,9 +4,6 @@
'target_name': 'position_sensor_sim',
'type': 'static_library',
'sources': ['position_sensor_sim.cc'],
- 'variables': {
- 'header_path': 'bot3/control_loops',
- },
'dependencies': [
'<(DEPTH)/bot3/control_loops/elevator/elevator.gyp:elevator_queue',
],
diff --git a/bot3/control_loops/drivetrain/BUILD b/bot3/control_loops/drivetrain/BUILD
new file mode 100644
index 0000000..6fd8faa
--- /dev/null
+++ b/bot3/control_loops/drivetrain/BUILD
@@ -0,0 +1,96 @@
+package(default_visibility = ['//visibility:public'])
+
+load('/aos/build/queues', 'queue_library')
+
+cc_binary(
+ name = 'replay_drivetrain_bot3',
+ srcs = [
+ 'replay_drivetrain.cc',
+ ],
+ deps = [
+ ':drivetrain_queue',
+ '//aos/common/controls:replay_control_loop',
+ '//aos/linux_code:init',
+ ],
+)
+
+queue_library(
+ name = 'drivetrain_queue',
+ srcs = [
+ 'drivetrain.q',
+ ],
+ deps = [
+ '//aos/common/controls:control_loop_queues',
+ ],
+)
+
+cc_library(
+ name = 'polydrivetrain_plants',
+ srcs = [
+ 'polydrivetrain_dog_motor_plant.cc',
+ 'drivetrain_dog_motor_plant.cc',
+ ],
+ hdrs = [
+ 'polydrivetrain_dog_motor_plant.h',
+ 'drivetrain_dog_motor_plant.h',
+ ],
+ deps = [
+ '//frc971/control_loops:state_feedback_loop',
+ ],
+)
+
+cc_library(
+ name = 'drivetrain_lib',
+ srcs = [
+ 'drivetrain.cc',
+ 'polydrivetrain_cim_plant.cc',
+ 'drivetrain_dog_motor_plant.cc',
+ 'polydrivetrain_dog_motor_plant.cc',
+ ],
+ hdrs = [
+ 'drivetrain.h',
+ 'polydrivetrain_cim_plant.h',
+ 'drivetrain_dog_motor_plant.h',
+ 'polydrivetrain_dog_motor_plant.h',
+ ],
+ deps = [
+ ':drivetrain_queue',
+ '//aos/common/controls:control_loop',
+ '//aos/common/controls:polytope',
+ '//frc971/control_loops:state_feedback_loop',
+ '//frc971/control_loops:coerce_goal',
+ '//frc971/queues:gyro',
+ '//aos/common/util:log_interval',
+ '//aos/common/logging:queue_logging',
+ '//aos/common/logging:matrix_logging',
+ ],
+)
+
+cc_binary(
+ name = 'drivetrain_lib_test_bot3',
+ srcs = [
+ 'drivetrain_lib_test.cc',
+ ],
+ deps = [
+ '//third_party/googletest',
+ ':drivetrain_queue',
+ ':drivetrain_lib',
+ '//aos/common/controls:control_loop_test',
+ '//frc971/control_loops:state_feedback_loop',
+ '//frc971/queues:gyro',
+ '//aos/common:queues',
+ '//aos/common/network:team_number',
+ ],
+)
+
+cc_binary(
+ name = 'drivetrain_bot3',
+ srcs = [
+ 'drivetrain_main.cc',
+ ],
+ deps = [
+ '//aos/linux_code:init',
+ ':drivetrain_lib',
+ ':drivetrain_queue',
+ ],
+)
diff --git a/bot3/control_loops/elevator/BUILD b/bot3/control_loops/elevator/BUILD
new file mode 100644
index 0000000..c3cb1ac
--- /dev/null
+++ b/bot3/control_loops/elevator/BUILD
@@ -0,0 +1,63 @@
+package(default_visibility = ['//visibility:public'])
+
+load('/aos/build/queues', 'queue_library')
+
+queue_library(
+ name = 'elevator_queue',
+ srcs = [
+ 'elevator.q',
+ ],
+ deps = [
+ '//aos/common/controls:control_loop_queues',
+ '//frc971/control_loops:queues',
+ ],
+)
+
+cc_library(
+ name = 'elevator_lib',
+ srcs = [
+ 'elevator.cc',
+ 'elevator_motor_plant.cc',
+ 'integral_elevator_motor_plant.cc',
+ ],
+ hdrs = [
+ 'elevator.h',
+ 'elevator_motor_plant.h',
+ 'integral_elevator_motor_plant.h',
+ ],
+ deps = [
+ ':elevator_queue',
+ '//aos/common/logging',
+ '//aos/common/controls:control_loop_queues',
+ '//aos/common/controls:control_loop',
+ '//aos/common/util:trapezoid_profile',
+ '//frc971/control_loops:state_feedback_loop',
+ '//frc971/control_loops/voltage_cap:voltage_cap',
+ ],
+)
+
+cc_test(
+ name = 'elevator_lib_test',
+ srcs = [
+ 'elevator_lib_test.cc',
+ ],
+ deps = [
+ '//third_party/googletest',
+ ':elevator_lib',
+ '//bot3/control_loops:position_sensor_sim',
+ '//frc971/control_loops:state_feedback_loop',
+ '//aos/common/controls:control_loop_test',
+ '//aos/common:time',
+ ],
+)
+
+cc_binary(
+ name = 'elevator',
+ srcs = [
+ 'elevator_main.cc',
+ ],
+ deps = [
+ '//aos/linux_code:init',
+ ':elevator_lib',
+ ],
+)
diff --git a/bot3/control_loops/elevator/elevator_lib_test.cc b/bot3/control_loops/elevator/elevator_lib_test.cc
index 66b7845..76a2c54 100644
--- a/bot3/control_loops/elevator/elevator_lib_test.cc
+++ b/bot3/control_loops/elevator/elevator_lib_test.cc
@@ -593,6 +593,7 @@
RunIteration(true);
EXPECT_NEAR(0.0, plant_.GetVoltage(), voltage_range);
}
+}
} // namespace testing
} // namespace control_loops
diff --git a/bot3/control_loops/intake/BUILD b/bot3/control_loops/intake/BUILD
new file mode 100644
index 0000000..fe21b7f
--- /dev/null
+++ b/bot3/control_loops/intake/BUILD
@@ -0,0 +1,53 @@
+package(default_visibility = ['//visibility:public'])
+
+load('/aos/build/queues', 'queue_library')
+
+queue_library(
+ name = 'intake_queue',
+ srcs = [
+ 'intake.q',
+ ],
+ deps = [
+ '//aos/common/controls:control_loop_queues',
+ ],
+)
+
+cc_library(
+ name = 'intake_lib',
+ srcs = [
+ 'intake.cc',
+ ],
+ hdrs = [
+ 'intake.h',
+ ],
+ deps = [
+ ':intake_queue',
+ '//aos/common/controls:control_loop',
+ ],
+)
+
+cc_test(
+ name = 'intake_lib_test',
+ srcs = [
+ 'intake_lib_test.cc',
+ ],
+ deps = [
+ '//third_party/googletest',
+ ':intake_lib',
+ '//frc971/control_loops:state_feedback_loop',
+ '//aos/common/controls:control_loop_test',
+ '//aos/common:time',
+ '//frc971/control_loops:team_number_test_environment',
+ ],
+)
+
+cc_binary(
+ name = 'intake',
+ srcs = [
+ 'intake_main.cc',
+ ],
+ deps = [
+ '//aos/linux_code:init',
+ ':intake_lib',
+ ],
+)
diff --git a/bot3/prime/BUILD b/bot3/prime/BUILD
new file mode 100644
index 0000000..343e748
--- /dev/null
+++ b/bot3/prime/BUILD
@@ -0,0 +1,16 @@
+package(default_visibility = ['//visibility:public'])
+
+load('/aos/prime/downloader/downloader', 'aos_downloader')
+
+aos_downloader(
+ name = 'download',
+ srcs = [
+ '//aos:prime_binaries',
+ '//bot3/control_loops/drivetrain:drivetrain_bot3',
+ '//bot3/control_loops/intake:intake',
+ '//bot3:joystick_reader_bot3',
+ '//bot3/control_loops/elevator:elevator',
+ '//bot3/autonomous:auto_bot3',
+ '//bot3/actors:binaries',
+ ],
+)
diff --git a/bot3/wpilib/BUILD b/bot3/wpilib/BUILD
new file mode 100644
index 0000000..e516ef8
--- /dev/null
+++ b/bot3/wpilib/BUILD
@@ -0,0 +1,32 @@
+package(default_visibility = ['//visibility:public'])
+
+cc_binary(
+ name = 'wpilib_interface_bot3',
+ srcs = [
+ 'wpilib_interface.cc',
+ ],
+ deps = [
+ '//aos/linux_code:init',
+ '//aos/common:stl_mutex',
+ '//aos/common/logging',
+ '//aos/externals:wpilib',
+ '//bot3/control_loops/drivetrain:drivetrain_queue',
+ '//aos/common/controls:control_loop',
+ '//aos/common/util:log_interval',
+ '//aos/common:time',
+ '//aos/common/logging:queue_logging',
+ '//aos/common/messages:robot_state',
+ '//aos/common/util:phased_loop',
+ '//frc971/wpilib:hall_effect',
+ '//frc971/wpilib:joystick_sender',
+ '//frc971/wpilib:loop_output_handler',
+ '//frc971/wpilib:buffered_pcm',
+ '//frc971/wpilib:gyro_sender',
+ '//frc971/control_loops:queues',
+ '//frc971/wpilib:logging_queue',
+ '//bot3/autonomous:auto_queue',
+ '//bot3/control_loops/drivetrain:drivetrain_lib',
+ '//bot3/control_loops/elevator:elevator_lib',
+ '//bot3/control_loops/intake:intake_lib',
+ ],
+)
diff --git a/doc/TODO.bazel b/doc/TODO.bazel
index 0a31b1c..9ffd12b 100644
--- a/doc/TODO.bazel
+++ b/doc/TODO.bazel
@@ -1,4 +1,4 @@
//y2014/prime:All needs to conditionally have //y2014/wpilib:wpilib_interface.
- y2015 too
+ y2015 and bot3 too
Need to get tcmalloc hooked in.
diff --git a/doc/run_gyp_to_bazel.sh b/doc/run_gyp_to_bazel.sh
index b4688f1..039ca6e 100755
--- a/doc/run_gyp_to_bazel.sh
+++ b/doc/run_gyp_to_bazel.sh
@@ -15,12 +15,12 @@
echo Need to manually convert {} >&2' \;
}
-run_for_folder bot3
-
# Manual work on the other folders has started, so we don't want this script to
# automatically overwrite that work.
exit 0
+run_for_folder bot3
+
run_for_folder aos
run_for_folder frc971
run_for_folder y2014