[wpilib] ADIS164xx: report product ID on mismatch (#7706)

This commit is contained in:
Peter Johnson
2025-01-17 19:14:20 -07:00
committed by GitHub
parent 4caa16e254
commit 5ab0409c15
4 changed files with 10 additions and 5 deletions

View File

@@ -18,6 +18,7 @@
#include <numbers>
#include <utility>
#include <fmt/format.h>
#include <hal/HAL.h>
#include <wpi/sendable/SendableBuilder.h>
#include <wpi/sendable/SendableRegistry.h>
@@ -374,7 +375,8 @@ bool ADIS16448_IMU::SwitchToStandardSPI() {
// Validate the product ID
uint16_t prod_id = ReadRegister(PROD_ID);
if (prod_id != 16448) {
REPORT_ERROR("Could not find ADIS16448!");
REPORT_ERROR(
fmt::format("Could not find ADIS16448; got product ID {}", prod_id));
Close();
return false;
}

View File

@@ -17,6 +17,7 @@
#include <numbers>
#include <utility>
#include <fmt/format.h>
#include <hal/HAL.h>
#include <wpi/sendable/SendableBuilder.h>
#include <wpi/sendable/SendableRegistry.h>
@@ -355,7 +356,8 @@ bool ADIS16470_IMU::SwitchToStandardSPI() {
// Validate the product ID
uint16_t prod_id = ReadRegister(PROD_ID);
if (prod_id != 16982 && prod_id != 16470) {
REPORT_ERROR("Could not find ADIS16470!");
REPORT_ERROR(
fmt::format("Could not find ADIS16470; got product ID {}", prod_id));
Close();
return false;
}

View File

@@ -425,8 +425,9 @@ public class ADIS16448_IMU implements AutoCloseable, Sendable {
}
readRegister(PROD_ID); // Dummy read
// Validate the product ID
if (readRegister(PROD_ID) != 16448) {
DriverStation.reportError("Could not find ADIS16448", false);
int prodId = readRegister(PROD_ID);
if (prodId != 16448) {
DriverStation.reportError("Could not find ADIS16448; got product ID " + prodId, false);
close();
return false;
}

View File

@@ -485,7 +485,7 @@ public class ADIS16470_IMU implements AutoCloseable, Sendable {
// Validate the product ID
int prodId = readRegister(PROD_ID);
if (prodId != 16982 && prodId != 16470) {
DriverStation.reportError("Could not find an ADIS16470", false);
DriverStation.reportError("Could not find an ADIS16470; got product ID " + prodId, false);
close();
return false;
}