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_;