diff --git a/wpilibc/src/main/native/cpp/PWM.cpp b/wpilibc/src/main/native/cpp/PWM.cpp index cc39c942c7..a35465190a 100644 --- a/wpilibc/src/main/native/cpp/PWM.cpp +++ b/wpilibc/src/main/native/cpp/PWM.cpp @@ -311,8 +311,8 @@ void PWM::SetZeroLatch() { } void PWM::InitSendable(SendableBuilder& builder) { - builder.SetSmartDashboardType("Speed Controller"); + builder.SetSmartDashboardType("PWM"); builder.SetSafeState([=]() { SetDisabled(); }); - builder.AddDoubleProperty("Value", [=]() { return GetSpeed(); }, - [=](double value) { SetSpeed(value); }); + builder.AddDoubleProperty("Value", [=]() { return GetRaw(); }, + [=](double value) { SetRaw(value); }); } diff --git a/wpilibc/src/main/native/cpp/PWMSpeedController.cpp b/wpilibc/src/main/native/cpp/PWMSpeedController.cpp index b42862b5c3..dd586e29f5 100644 --- a/wpilibc/src/main/native/cpp/PWMSpeedController.cpp +++ b/wpilibc/src/main/native/cpp/PWMSpeedController.cpp @@ -7,6 +7,8 @@ #include "PWMSpeedController.h" +#include "SmartDashboard/SendableBuilder.h" + using namespace frc; /** @@ -52,3 +54,10 @@ void PWMSpeedController::StopMotor() { SafePWM::StopMotor(); } * @param output Write out the PWM value as was found in the PIDController */ void PWMSpeedController::PIDWrite(double output) { Set(output); } + +void PWMSpeedController::InitSendable(SendableBuilder& builder) { + builder.SetSmartDashboardType("Speed Controller"); + builder.SetSafeState([=]() { SetDisabled(); }); + builder.AddDoubleProperty("Value", [=]() { return GetSpeed(); }, + [=](double value) { SetSpeed(value); }); +} diff --git a/wpilibc/src/main/native/include/PWMSpeedController.h b/wpilibc/src/main/native/include/PWMSpeedController.h index 56470951cb..d371f54feb 100644 --- a/wpilibc/src/main/native/include/PWMSpeedController.h +++ b/wpilibc/src/main/native/include/PWMSpeedController.h @@ -28,6 +28,7 @@ class PWMSpeedController : public SafePWM, public SpeedController { protected: explicit PWMSpeedController(int channel); + void InitSendable(SendableBuilder& builder) override; private: bool m_isInverted = false; diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/PWM.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/PWM.java index d609f750b6..2445d69f97 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/PWM.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/PWM.java @@ -244,8 +244,8 @@ public class PWM extends SendableBase implements Sendable { @Override public void initSendable(SendableBuilder builder) { - builder.setSmartDashboardType("Speed Controller"); + builder.setSmartDashboardType("PWM"); builder.setSafeState(this::setDisabled); - builder.addDoubleProperty("Value", this::getSpeed, this::setSpeed); + builder.addDoubleProperty("Value", this::getRaw, value -> setRaw((int) value)); } } diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/PWMSpeedController.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/PWMSpeedController.java index 8581a4c5f8..bf499b9ed9 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/PWMSpeedController.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/PWMSpeedController.java @@ -7,6 +7,8 @@ package edu.wpi.first.wpilibj; +import edu.wpi.first.wpilibj.smartdashboard.SendableBuilder; + /** * Common base class for all PWM Speed Controllers. */ @@ -66,4 +68,11 @@ public abstract class PWMSpeedController extends SafePWM implements SpeedControl public void pidWrite(double output) { set(output); } + + @Override + public void initSendable(SendableBuilder builder) { + builder.setSmartDashboardType("Speed Controller"); + builder.setSafeState(this::setDisabled); + builder.addDoubleProperty("Value", this::getSpeed, this::setSpeed); + } }