diff --git a/wpilibc/src/main/native/cpp/livewindow/LiveWindow.cpp b/wpilibc/src/main/native/cpp/livewindow/LiveWindow.cpp index c6a926e86e..0a4e1b8fad 100644 --- a/wpilibc/src/main/native/cpp/livewindow/LiveWindow.cpp +++ b/wpilibc/src/main/native/cpp/livewindow/LiveWindow.cpp @@ -114,6 +114,18 @@ void LiveWindow::DisableAllTelemetry() { }); } +void LiveWindow::EnableAllTelemetry() { + auto& inst = ::GetInstance(); + std::scoped_lock lock(inst.mutex); + inst.telemetryEnabled = true; + wpi::SendableRegistry::ForeachLiveWindow(inst.dataHandle, [&](auto& cbdata) { + if (!cbdata.data) { + cbdata.data = std::make_shared(); + } + std::static_pointer_cast(cbdata.data)->telemetryEnabled = true; + }); +} + bool LiveWindow::IsEnabled() { auto& inst = ::GetInstance(); std::scoped_lock lock(inst.mutex); diff --git a/wpilibc/src/main/native/include/frc/livewindow/LiveWindow.h b/wpilibc/src/main/native/include/frc/livewindow/LiveWindow.h index b623466e8e..3714146c43 100644 --- a/wpilibc/src/main/native/include/frc/livewindow/LiveWindow.h +++ b/wpilibc/src/main/native/include/frc/livewindow/LiveWindow.h @@ -51,6 +51,11 @@ class LiveWindow final { */ static void DisableAllTelemetry(); + /** + * Enable ALL telemetry. + */ + static void EnableAllTelemetry(); + static bool IsEnabled(); /** diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/livewindow/LiveWindow.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/livewindow/LiveWindow.java index b775f327b5..4c1a7aece4 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/livewindow/LiveWindow.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/livewindow/LiveWindow.java @@ -150,6 +150,19 @@ public final class LiveWindow { }); } + /** Enable ALL telemetry. */ + public static synchronized void enableAllTelemetry() { + telemetryEnabled = true; + SendableRegistry.foreachLiveWindow( + dataHandle, + cbdata -> { + if (cbdata.data == null) { + cbdata.data = new Component(); + } + ((Component) cbdata.data).m_telemetryEnabled = true; + }); + } + /** * Tell all the sensors to update (send) their values. *