Switch to a batch IMU message

We only send in batches.  We would also like to forward these messages
across the network to the logger.  The resulting 2000 hz wakeups are
swamping message_gateway, and it isn't worth adding a batch forwarding
mode yet.

Change-Id: I2c2f5bc021a660e932e086965e10bc92f27e2ec1
diff --git a/frc971/wpilib/ADIS16470.h b/frc971/wpilib/ADIS16470.h
index 4c9917f..a87ca1b 100644
--- a/frc971/wpilib/ADIS16470.h
+++ b/frc971/wpilib/ADIS16470.h
@@ -9,6 +9,7 @@
 #include "frc971/wpilib/ahal/DigitalSource.h"
 #include "frc971/wpilib/ahal/SPI.h"
 #include "frc971/wpilib/fpga_time_conversion.h"
+#include "frc971/wpilib/imu_batch_generated.h"
 #include "frc971/wpilib/imu_generated.h"
 
 namespace frc971 {
@@ -47,7 +48,8 @@
   void DoInitializeStep();
 
   // Processes a complete reading in read_data_.
-  void ProcessReading();
+  flatbuffers::Offset<IMUValues> ProcessReading(
+      flatbuffers::FlatBufferBuilder *fbb);
 
   // Converts a 32-bit value at data to a scaled output value where a value of 1
   // corresponds to lsb_per_output.
@@ -74,7 +76,7 @@
   }
 
   aos::EventLoop *const event_loop_;
-  aos::Sender<::frc971::IMUValues> imu_values_sender_;
+  aos::Sender<::frc971::IMUValuesBatch> imu_values_sender_;
   aos::TimerHandler *const initialize_timer_;
 
   frc::SPI *const spi_;