From 4b3edb742c147f90082dafc6b5a30f8efd85ed97 Mon Sep 17 00:00:00 2001 From: Thad House Date: Thu, 3 Feb 2022 22:09:12 -0800 Subject: [PATCH] [wpilib] Fix ADIS16448 IMU default constructor not working in Java (#3989) Also fixes a few related uninitialized variables in C++. --- wpilibc/src/main/native/include/frc/ADIS16448_IMU.h | 2 +- wpilibc/src/main/native/include/frc/ADIS16470_IMU.h | 2 +- wpilibj/src/main/java/edu/wpi/first/wpilibj/ADIS16448_IMU.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/wpilibc/src/main/native/include/frc/ADIS16448_IMU.h b/wpilibc/src/main/native/include/frc/ADIS16448_IMU.h index d4f1b8e896..0dbfa686db 100644 --- a/wpilibc/src/main/native/include/frc/ADIS16448_IMU.h +++ b/wpilibc/src/main/native/include/frc/ADIS16448_IMU.h @@ -354,7 +354,7 @@ class ADIS16448_IMU : public nt::NTSendable, bool m_auto_configured = false; SPI::Port m_spi_port; - CalibrationTime m_calibration_time; + CalibrationTime m_calibration_time{0}; SPI* m_spi = nullptr; DigitalInput* m_auto_interrupt = nullptr; diff --git a/wpilibc/src/main/native/include/frc/ADIS16470_IMU.h b/wpilibc/src/main/native/include/frc/ADIS16470_IMU.h index c7052d7b94..e6f3ce7909 100644 --- a/wpilibc/src/main/native/include/frc/ADIS16470_IMU.h +++ b/wpilibc/src/main/native/include/frc/ADIS16470_IMU.h @@ -374,7 +374,7 @@ class ADIS16470_IMU : public nt::NTSendable, volatile bool m_thread_idle = false; bool m_auto_configured = false; SPI::Port m_spi_port; - uint16_t m_calibration_time; + uint16_t m_calibration_time = 0; SPI* m_spi = nullptr; DigitalInput* m_auto_interrupt = nullptr; double m_scaled_sample_rate = 2500.0; // Default sample rate setting diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/ADIS16448_IMU.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/ADIS16448_IMU.java index 1df2ef4474..4ac4b4f3e2 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/ADIS16448_IMU.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/ADIS16448_IMU.java @@ -169,7 +169,7 @@ public class ADIS16448_IMU implements AutoCloseable, NTSendable { /* State variables */ private volatile boolean m_thread_active = false; - private CalibrationTime m_calibration_time = CalibrationTime._512ms; + private CalibrationTime m_calibration_time = CalibrationTime._32ms; private volatile boolean m_first_run = true; private volatile boolean m_thread_idle = false; private boolean m_auto_configured = false;