From b85c24a79c7a478830aad4933bb29fbf413d9609 Mon Sep 17 00:00:00 2001 From: Kevin-OConnor Date: Thu, 30 Dec 2021 16:13:03 -0500 Subject: [PATCH] [wpilib] Add warning about onboard I2C (#3842) --- wpilibc/src/main/native/cpp/I2C.cpp | 8 ++++++++ wpilibj/src/main/java/edu/wpi/first/wpilibj/I2C.java | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/wpilibc/src/main/native/cpp/I2C.cpp b/wpilibc/src/main/native/cpp/I2C.cpp index adf1c54860..dcfb2b8f4d 100644 --- a/wpilibc/src/main/native/cpp/I2C.cpp +++ b/wpilibc/src/main/native/cpp/I2C.cpp @@ -16,6 +16,14 @@ using namespace frc; I2C::I2C(Port port, int deviceAddress) : m_port(static_cast(port)), m_deviceAddress(deviceAddress) { int32_t status = 0; + + if (port == I2C::Port::kOnboard) { + FRC_ReportError(warn::Warning, "{}", + "Onboard I2C port is subject to system lockups. See Known " + "Issues page for " + "details"); + } + HAL_InitializeI2C(m_port, &status); FRC_CheckErrorStatus(status, "Port {}", port); diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/I2C.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/I2C.java index 1d148a7689..03a00cc3a2 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/I2C.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/I2C.java @@ -43,6 +43,12 @@ public class I2C implements AutoCloseable { m_port = port.value; m_deviceAddress = deviceAddress; + if (port == I2C.Port.kOnboard) { + DriverStation.reportWarning( + "Onboard I2C port is subject to system lockups. See Known Issues page for details", + false); + } + I2CJNI.i2CInitialize((byte) port.value); HAL.report(tResourceType.kResourceType_I2C, deviceAddress);