7971 now uses the new IMU plugged in directly
Saves a bunch of wires.
Change-Id: I27b37c9c5a2b4c61fd5f043b739ff19902689789
diff --git a/y2020/wpilib_interface.cc b/y2020/wpilib_interface.cc
index a1083eb..b336fd7 100644
--- a/y2020/wpilib_interface.cc
+++ b/y2020/wpilib_interface.cc
@@ -25,6 +25,7 @@
#include "aos/init.h"
#include "aos/logging/logging.h"
#include "aos/make_unique.h"
+#include "aos/network/team_number.h"
#include "aos/realtime.h"
#include "aos/robot_state/robot_state_generated.h"
#include "aos/time/time.h"
@@ -504,9 +505,19 @@
// Note: If ADIS16470 is plugged in directly to the roboRIO SPI port without
// the Spartan Board, then trigger is on 26, reset 27, and chip select is
// CS0.
- auto imu_trigger = make_unique<frc::DigitalInput>(0);
- auto imu_reset = make_unique<frc::DigitalOutput>(1);
- auto spi = make_unique<frc::SPI>(frc::SPI::Port::kOnboardCS2);
+ frc::SPI::Port spi_port = frc::SPI::Port::kOnboardCS2;
+ std::unique_ptr<frc::DigitalInput> imu_trigger;
+ std::unique_ptr<frc::DigitalOutput> imu_reset;
+ if (::aos::network::GetTeamNumber() ==
+ constants::Values::kCodingRobotTeamNumber) {
+ imu_trigger = make_unique<frc::DigitalInput>(26);
+ imu_reset = make_unique<frc::DigitalOutput>(27);
+ spi_port = frc::SPI::Port::kOnboardCS0;
+ } else {
+ imu_trigger = make_unique<frc::DigitalInput>(0);
+ imu_reset = make_unique<frc::DigitalOutput>(1);
+ }
+ auto spi = make_unique<frc::SPI>(spi_port);
frc971::wpilib::ADIS16470 imu(&sensor_reader_event_loop, spi.get(),
imu_trigger.get(), imu_reset.get());
sensor_reader.set_imu(&imu);