From 1c454b000fee1a26dd7542709694740f9bc5b3f0 Mon Sep 17 00:00:00 2001 From: sciencewhiz Date: Sat, 27 Apr 2019 22:23:21 -0700 Subject: [PATCH] Add Shuffleboard calls to IterativeRobotBase in C++ (#1607) Additionally, add epochs for Shuffleboard, LiveWindow, and Smartdashboard updates. --- wpilibc/src/main/native/cpp/IterativeRobotBase.cpp | 13 +++++++++++-- .../edu/wpi/first/wpilibj/IterativeRobotBase.java | 7 +++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/wpilibc/src/main/native/cpp/IterativeRobotBase.cpp b/wpilibc/src/main/native/cpp/IterativeRobotBase.cpp index 0de2004d5b..bb285f5017 100644 --- a/wpilibc/src/main/native/cpp/IterativeRobotBase.cpp +++ b/wpilibc/src/main/native/cpp/IterativeRobotBase.cpp @@ -17,6 +17,7 @@ #include "frc/Timer.h" #include "frc/commands/Scheduler.h" #include "frc/livewindow/LiveWindow.h" +#include "frc/shuffleboard/Shuffleboard.h" #include "frc/smartdashboard/SmartDashboard.h" using namespace frc; @@ -94,6 +95,7 @@ void IterativeRobotBase::LoopFunc() { // either a different mode or from power-on. if (m_lastMode != Mode::kDisabled) { LiveWindow::GetInstance()->SetEnabled(false); + Shuffleboard::DisableActuatorWidgets(); DisabledInit(); m_watchdog.AddEpoch("DisabledInit()"); m_lastMode = Mode::kDisabled; @@ -107,6 +109,7 @@ void IterativeRobotBase::LoopFunc() { // either a different mode or from power-on. if (m_lastMode != Mode::kAutonomous) { LiveWindow::GetInstance()->SetEnabled(false); + Shuffleboard::DisableActuatorWidgets(); AutonomousInit(); m_watchdog.AddEpoch("AutonomousInit()"); m_lastMode = Mode::kAutonomous; @@ -120,6 +123,7 @@ void IterativeRobotBase::LoopFunc() { // either a different mode or from power-on. if (m_lastMode != Mode::kTeleop) { LiveWindow::GetInstance()->SetEnabled(false); + Shuffleboard::DisableActuatorWidgets(); TeleopInit(); m_watchdog.AddEpoch("TeleopInit()"); m_lastMode = Mode::kTeleop; @@ -134,6 +138,7 @@ void IterativeRobotBase::LoopFunc() { // either a different mode or from power-on. if (m_lastMode != Mode::kTest) { LiveWindow::GetInstance()->SetEnabled(true); + Shuffleboard::EnableActuatorWidgets(); TestInit(); m_watchdog.AddEpoch("TestInit()"); m_lastMode = Mode::kTest; @@ -146,10 +151,14 @@ void IterativeRobotBase::LoopFunc() { RobotPeriodic(); m_watchdog.AddEpoch("RobotPeriodic()"); - m_watchdog.Disable(); - SmartDashboard::UpdateValues(); + SmartDashboard::UpdateValues(); + m_watchdog.AddEpoch("SmartDashboard::UpdateValues()"); LiveWindow::GetInstance()->UpdateValues(); + m_watchdog.AddEpoch("LiveWindow::UpdateValues()"); + Shuffleboard::Update(); + m_watchdog.AddEpoch("Shuffleboard::Update()"); + m_watchdog.Disable(); // Warn on loop time overruns if (m_watchdog.IsExpired()) { diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/IterativeRobotBase.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/IterativeRobotBase.java index 9dfcb64ec9..ec76870743 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/IterativeRobotBase.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/IterativeRobotBase.java @@ -257,11 +257,14 @@ public abstract class IterativeRobotBase extends RobotBase { robotPeriodic(); m_watchdog.addEpoch("robotPeriodic()"); - m_watchdog.disable(); - SmartDashboard.updateValues(); + SmartDashboard.updateValues(); + m_watchdog.addEpoch("SmartDashboard.updateValues()"); LiveWindow.updateValues(); + m_watchdog.addEpoch("LiveWindow.updateValues()"); Shuffleboard.update(); + m_watchdog.addEpoch("Shuffleboard.update()"); + m_watchdog.disable(); // Warn on loop time overruns if (m_watchdog.isExpired()) {