Finish auto-converting most of the gyp files.

I've also started writing down which ones need manual work.

Change-Id: I442782e1e3352e0de32b612f1bd2c167f231495a
diff --git a/frc971/autonomous/BUILD b/frc971/autonomous/BUILD
new file mode 100644
index 0000000..7f6b3e7
--- /dev/null
+++ b/frc971/autonomous/BUILD
@@ -0,0 +1,10 @@
+package(default_visibility = ['//visibility:public'])
+
+load('/aos/build/queues', 'queue_library')
+
+queue_library(
+  name = 'auto_queue',
+  srcs = [
+    'auto.q',
+  ],
+)
diff --git a/frc971/control_loops/BUILD b/frc971/control_loops/BUILD
new file mode 100644
index 0000000..b6e1caf
--- /dev/null
+++ b/frc971/control_loops/BUILD
@@ -0,0 +1,100 @@
+package(default_visibility = ['//visibility:public'])
+
+load('/aos/build/queues', 'queue_library')
+
+cc_library(
+  name = 'team_number_test_environment',
+  srcs = [
+    'team_number_test_environment.cc',
+  ],
+  hdrs = [
+    'team_number_test_environment.h',
+  ],
+  deps = [
+    '//aos/common/network:team_number',
+    '//third_party/gtest',
+  ],
+)
+
+cc_test(
+  name = 'state_feedback_loop_test',
+  srcs = [
+    'state_feedback_loop_test.cc',
+  ],
+  deps = [
+    ':state_feedback_loop',
+    '//third_party/gtest',
+  ],
+)
+
+cc_library(
+  name = 'hall_effect_tracker',
+  deps = [
+    ':queues',
+  ],
+)
+
+queue_library(
+  name = 'queues',
+  srcs = [
+    'control_loops.q',
+  ],
+)
+
+cc_test(
+  name = 'position_sensor_sim_test',
+  srcs = [
+    'position_sensor_sim_test.cc',
+  ],
+  deps = [
+    ':queues',
+    ':position_sensor_sim',
+    '//third_party/gtest',
+    '//aos/common/logging',
+  ],
+)
+
+cc_library(
+  name = 'position_sensor_sim',
+  srcs = [
+    'position_sensor_sim.cc',
+  ],
+  hdrs = [
+    'position_sensor_sim.h',
+  ],
+  deps = [
+    ':queues',
+    ':gaussian_noise',
+  ],
+)
+
+cc_library(
+  name = 'gaussian_noise',
+  srcs = [
+    'gaussian_noise.cc',
+  ],
+  hdrs = [
+    'gaussian_noise.h',
+  ],
+)
+
+cc_library(
+  name = 'coerce_goal',
+  srcs = [
+    'coerce_goal.cc',
+  ],
+  hdrs = [
+    'coerce_goal.h',
+  ],
+  deps = [
+    '//third_party/eigen',
+    '//aos/common/controls:polytope',
+  ],
+)
+
+cc_library(
+  name = 'state_feedback_loop',
+  deps = [
+    '//third_party/eigen',
+  ],
+)
diff --git a/frc971/control_loops/voltage_cap/BUILD b/frc971/control_loops/voltage_cap/BUILD
new file mode 100644
index 0000000..1b9cc63
--- /dev/null
+++ b/frc971/control_loops/voltage_cap/BUILD
@@ -0,0 +1,23 @@
+package(default_visibility = ['//visibility:public'])
+
+cc_library(
+  name = 'voltage_cap',
+  srcs = [
+    'voltage_cap.cc',
+  ],
+  hdrs = [
+    'voltage_cap.h',
+  ],
+)
+
+cc_test(
+  name = 'voltage_cap_test',
+  srcs = [
+    'voltage_cap_test.cc',
+  ],
+  deps = [
+    ':voltage_cap',
+    '//third_party/gtest',
+    '//aos/common:queue_testutils',
+  ],
+)
diff --git a/frc971/queues/BUILD b/frc971/queues/BUILD
new file mode 100644
index 0000000..a48cb78
--- /dev/null
+++ b/frc971/queues/BUILD
@@ -0,0 +1,10 @@
+package(default_visibility = ['//visibility:public'])
+
+load('/aos/build/queues', 'queue_library')
+
+queue_library(
+  name = 'gyro',
+  srcs = [
+    'gyro.q',
+  ],
+)
diff --git a/frc971/wpilib/BUILD b/frc971/wpilib/BUILD
new file mode 100644
index 0000000..a7e8697
--- /dev/null
+++ b/frc971/wpilib/BUILD
@@ -0,0 +1,150 @@
+package(default_visibility = ['//visibility:public'])
+
+load('/aos/build/queues', 'queue_library')
+
+queue_library(
+  name = 'logging_queue',
+  srcs = [
+    'logging.q',
+  ],
+)
+
+cc_library(
+  name = 'encoder_and_potentiometer',
+  srcs = [
+    'encoder_and_potentiometer.cc',
+  ],
+  hdrs = [
+    'encoder_and_potentiometer.h',
+  ],
+  deps = [
+    '//third_party/WPILib',
+    ':dma_edge_counting',
+    '//aos/linux_code:init',
+    '//aos/common/logging',
+    '//aos/linux_code/ipc_lib:mutex',
+  ],
+)
+
+cc_library(
+  name = 'dma_edge_counting',
+  srcs = [
+    'dma_edge_counting.cc',
+  ],
+  hdrs = [
+    'dma_edge_counting.h',
+  ],
+  deps = [
+    '//third_party/WPILib',
+    '//aos/common/logging',
+    ':hall_effect',
+  ],
+)
+
+cc_library(
+  name = 'interrupt_edge_counting',
+  srcs = [
+    'interrupt_edge_counting.cc',
+  ],
+  hdrs = [
+    'interrupt_edge_counting.h',
+  ],
+  deps = [
+    '//third_party/WPILib',
+    '//aos/common/logging',
+    '//aos/common:stl_mutex',
+    '//aos/common:time',
+    '//aos/linux_code:init',
+  ],
+)
+
+cc_library(
+  name = 'buffered_pcm',
+  srcs = [
+    'buffered_solenoid.cc',
+    'buffered_pcm.cc',
+  ],
+  hdrs = [
+    'buffered_solenoid.h',
+    'buffered_pcm.h',
+  ],
+  deps = [
+    '//third_party/WPILib',
+    '//aos/common/logging',
+  ],
+)
+
+cc_library(
+  name = 'gyro_interface',
+  srcs = [
+    'gyro_interface.cc',
+  ],
+  hdrs = [
+    'gyro_interface.h',
+  ],
+  deps = [
+    '//third_party/WPILib',
+    '//aos/common/logging',
+  ],
+)
+
+cc_library(
+  name = 'gyro_sender',
+  srcs = [
+    'gyro_sender.cc',
+  ],
+  hdrs = [
+    'gyro_sender.h',
+  ],
+  deps = [
+    '//frc971/queues:gyro',
+    ':gyro_interface',
+    '//aos/common/logging',
+    '//aos/common/logging:queue_logging',
+    '//aos/common/util:phased_loop',
+    '//aos/common/messages:robot_state',
+    '//aos/linux_code:init',
+    '//aos/common:time',
+  ],
+)
+
+cc_library(
+  name = 'loop_output_handler',
+  srcs = [
+    'loop_output_handler.cc',
+  ],
+  hdrs = [
+    'loop_output_handler.h',
+  ],
+  deps = [
+    '//aos/common:scoped_fd',
+    '//aos/linux_code:init',
+    '//aos/common:time',
+    '//aos/common/util:log_interval',
+    '//aos/common/messages:robot_state',
+  ],
+)
+
+cc_library(
+  name = 'joystick_sender',
+  srcs = [
+    'joystick_sender.cc',
+  ],
+  hdrs = [
+    'joystick_sender.h',
+  ],
+  deps = [
+    '//third_party/WPILib',
+    '//aos/common/messages:robot_state',
+    '//aos/linux_code:init',
+    '//aos/common/network:team_number',
+    '//aos/common/logging:queue_logging',
+  ],
+)
+
+cc_library(
+  name = 'hall_effect',
+  deps = [
+    '//third_party/WPILib',
+  ],
+)
diff --git a/frc971/zeroing/BUILD b/frc971/zeroing/BUILD
new file mode 100644
index 0000000..7209886
--- /dev/null
+++ b/frc971/zeroing/BUILD
@@ -0,0 +1,30 @@
+package(default_visibility = ['//visibility:public'])
+
+cc_library(
+  name = 'zeroing',
+  srcs = [
+    'zeroing.cc',
+  ],
+  hdrs = [
+    'zeroing.h',
+  ],
+  deps = [
+    '//frc971/control_loops:queues',
+  ],
+)
+
+cc_test(
+  name = 'zeroing_test',
+  srcs = [
+    'zeroing_test.cc',
+  ],
+  deps = [
+    '//third_party/gtest',
+    '//aos/common:queue_testutils',
+    ':zeroing',
+    '//aos/common/util:thread',
+    '//aos/common:die',
+    '//frc971/control_loops:position_sensor_sim',
+    '//frc971/control_loops:queues',
+  ],
+)