From d05d3b1c788c042f08be7be413c7832563348999 Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Fri, 20 Mar 2026 22:53:26 -0700 Subject: [PATCH] [wpilib] Remove PWM.Period enum Replace it with just numeric values. --- .../main/java/org/wpilib/romi/RomiMotor.java | 3 +-- .../src/main/native/cpp/romi/RomiMotor.cpp | 2 +- .../motor/pwm_motor_controller.cpp.jinja | 2 +- .../native/cpp/hardware/motor/Koors40.cpp | 2 +- .../cpp/hardware/motor/PWMSparkFlex.cpp | 2 +- .../native/cpp/hardware/motor/PWMSparkMax.cpp | 2 +- .../native/cpp/hardware/motor/PWMTalonFX.cpp | 2 +- .../native/cpp/hardware/motor/PWMTalonSRX.cpp | 2 +- .../native/cpp/hardware/motor/PWMVenom.cpp | 2 +- .../cpp/hardware/motor/PWMVictorSPX.cpp | 2 +- .../main/native/cpp/hardware/motor/Spark.cpp | 2 +- .../native/cpp/hardware/motor/SparkMini.cpp | 2 +- .../main/native/cpp/hardware/motor/Talon.cpp | 2 +- .../native/cpp/hardware/motor/VictorSP.cpp | 2 +- .../main/native/cpp/hardware/discrete/PWM.cpp | 26 +++++++++---------- .../include/wpi/hardware/discrete/PWM.hpp | 26 ++++--------------- wpilibc/src/main/python/semiwrap/PWM.yml | 2 -- .../main/java/pwm_motor_controller.java.jinja | 3 +-- .../org/wpilib/hardware/motor/Koors40.java | 3 +-- .../wpilib/hardware/motor/PWMSparkFlex.java | 3 +-- .../wpilib/hardware/motor/PWMSparkMax.java | 3 +-- .../org/wpilib/hardware/motor/PWMTalonFX.java | 3 +-- .../wpilib/hardware/motor/PWMTalonSRX.java | 3 +-- .../org/wpilib/hardware/motor/PWMVenom.java | 3 +-- .../wpilib/hardware/motor/PWMVictorSPX.java | 3 +-- .../java/org/wpilib/hardware/motor/Spark.java | 3 +-- .../org/wpilib/hardware/motor/SparkMini.java | 3 +-- .../java/org/wpilib/hardware/motor/Talon.java | 3 +-- .../org/wpilib/hardware/motor/VictorSP.java | 3 +-- .../org/wpilib/hardware/discrete/PWM.java | 24 ++++++----------- 30 files changed, 51 insertions(+), 92 deletions(-) diff --git a/romiVendordep/src/main/java/org/wpilib/romi/RomiMotor.java b/romiVendordep/src/main/java/org/wpilib/romi/RomiMotor.java index 731e7db3b7..ab112d77da 100644 --- a/romiVendordep/src/main/java/org/wpilib/romi/RomiMotor.java +++ b/romiVendordep/src/main/java/org/wpilib/romi/RomiMotor.java @@ -4,7 +4,6 @@ package org.wpilib.romi; -import org.wpilib.hardware.discrete.PWM; import org.wpilib.hardware.motor.PWMMotorController; /** @@ -15,7 +14,7 @@ import org.wpilib.hardware.motor.PWMMotorController; public class RomiMotor extends PWMMotorController { /** Common initialization code called by all constructors. */ protected final void initRomiMotor() { - m_pwm.setOutputPeriod(PWM.OutputPeriod.k5Ms); + m_pwm.setOutputPeriod(5); setDutyCycle(0.0); } diff --git a/romiVendordep/src/main/native/cpp/romi/RomiMotor.cpp b/romiVendordep/src/main/native/cpp/romi/RomiMotor.cpp index 2056df2bcf..bb1d5b9fbc 100644 --- a/romiVendordep/src/main/native/cpp/romi/RomiMotor.cpp +++ b/romiVendordep/src/main/native/cpp/romi/RomiMotor.cpp @@ -7,6 +7,6 @@ using namespace wpi::romi; RomiMotor::RomiMotor(int channel) : PWMMotorController("Romi Motor", channel) { - m_pwm.SetOutputPeriod(PWM::kOutputPeriod_5Ms); + m_pwm.SetOutputPeriod(5_ms); SetDutyCycle(0.0); } diff --git a/wpilibc/src/generate/main/native/cpp/hardware/motor/pwm_motor_controller.cpp.jinja b/wpilibc/src/generate/main/native/cpp/hardware/motor/pwm_motor_controller.cpp.jinja index 2c2d5a84ee..de2d66fe3d 100644 --- a/wpilibc/src/generate/main/native/cpp/hardware/motor/pwm_motor_controller.cpp.jinja +++ b/wpilibc/src/generate/main/native/cpp/hardware/motor/pwm_motor_controller.cpp.jinja @@ -12,7 +12,7 @@ using namespace wpi; {{ name }}::{{ name }}(int channel) : PWMMotorController("{{ name }}", channel) { SetBounds({{ pulse_width_ms.max }}_ms, {{ pulse_width_ms.deadbandMax }}_ms, {{ pulse_width_ms.center }}_ms, {{ pulse_width_ms.deadbandMin }}_ms, {{ pulse_width_ms.min }}_ms); - m_pwm.SetOutputPeriod(PWM::kOutputPeriod_{{ OutputPeriod | default("5", true)}}Ms); + m_pwm.SetOutputPeriod({{ OutputPeriod | default("5", true)}}_ms); SetDutyCycle(0.0); HAL_ReportUsage("IO", GetChannel(), "{{ ResourceName }}"); diff --git a/wpilibc/src/generated/main/native/cpp/hardware/motor/Koors40.cpp b/wpilibc/src/generated/main/native/cpp/hardware/motor/Koors40.cpp index 30042de5e7..107a5243d2 100644 --- a/wpilibc/src/generated/main/native/cpp/hardware/motor/Koors40.cpp +++ b/wpilibc/src/generated/main/native/cpp/hardware/motor/Koors40.cpp @@ -12,7 +12,7 @@ using namespace wpi; Koors40::Koors40(int channel) : PWMMotorController("Koors40", channel) { SetBounds(2.004_ms, 1.52_ms, 1.5_ms, 1.48_ms, 0.997_ms); - m_pwm.SetOutputPeriod(PWM::kOutputPeriod_20Ms); + m_pwm.SetOutputPeriod(20_ms); SetDutyCycle(0.0); HAL_ReportUsage("IO", GetChannel(), "Koors40"); diff --git a/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMSparkFlex.cpp b/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMSparkFlex.cpp index 419dd7d8b9..3b95e977b3 100644 --- a/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMSparkFlex.cpp +++ b/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMSparkFlex.cpp @@ -12,7 +12,7 @@ using namespace wpi; PWMSparkFlex::PWMSparkFlex(int channel) : PWMMotorController("PWMSparkFlex", channel) { SetBounds(2.003_ms, 1.55_ms, 1.5_ms, 1.46_ms, 0.999_ms); - m_pwm.SetOutputPeriod(PWM::kOutputPeriod_5Ms); + m_pwm.SetOutputPeriod(5_ms); SetDutyCycle(0.0); HAL_ReportUsage("IO", GetChannel(), "RevSparkFlexPWM"); diff --git a/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMSparkMax.cpp b/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMSparkMax.cpp index cc0a2fb6ac..4e85e75b6d 100644 --- a/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMSparkMax.cpp +++ b/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMSparkMax.cpp @@ -12,7 +12,7 @@ using namespace wpi; PWMSparkMax::PWMSparkMax(int channel) : PWMMotorController("PWMSparkMax", channel) { SetBounds(2.003_ms, 1.55_ms, 1.5_ms, 1.46_ms, 0.999_ms); - m_pwm.SetOutputPeriod(PWM::kOutputPeriod_5Ms); + m_pwm.SetOutputPeriod(5_ms); SetDutyCycle(0.0); HAL_ReportUsage("IO", GetChannel(), "RevSparkMaxPWM"); diff --git a/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMTalonFX.cpp b/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMTalonFX.cpp index da1768612a..2d743b1518 100644 --- a/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMTalonFX.cpp +++ b/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMTalonFX.cpp @@ -12,7 +12,7 @@ using namespace wpi; PWMTalonFX::PWMTalonFX(int channel) : PWMMotorController("PWMTalonFX", channel) { SetBounds(2.004_ms, 1.52_ms, 1.5_ms, 1.48_ms, 0.997_ms); - m_pwm.SetOutputPeriod(PWM::kOutputPeriod_5Ms); + m_pwm.SetOutputPeriod(5_ms); SetDutyCycle(0.0); HAL_ReportUsage("IO", GetChannel(), "TalonFX"); diff --git a/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMTalonSRX.cpp b/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMTalonSRX.cpp index 7cabec817e..d5e00d310b 100644 --- a/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMTalonSRX.cpp +++ b/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMTalonSRX.cpp @@ -12,7 +12,7 @@ using namespace wpi; PWMTalonSRX::PWMTalonSRX(int channel) : PWMMotorController("PWMTalonSRX", channel) { SetBounds(2.004_ms, 1.52_ms, 1.5_ms, 1.48_ms, 0.997_ms); - m_pwm.SetOutputPeriod(PWM::kOutputPeriod_5Ms); + m_pwm.SetOutputPeriod(5_ms); SetDutyCycle(0.0); HAL_ReportUsage("IO", GetChannel(), "PWMTalonSRX"); diff --git a/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMVenom.cpp b/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMVenom.cpp index 370078606a..b3d791bbb0 100644 --- a/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMVenom.cpp +++ b/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMVenom.cpp @@ -12,7 +12,7 @@ using namespace wpi; PWMVenom::PWMVenom(int channel) : PWMMotorController("PWMVenom", channel) { SetBounds(2.004_ms, 1.52_ms, 1.5_ms, 1.48_ms, 0.997_ms); - m_pwm.SetOutputPeriod(PWM::kOutputPeriod_5Ms); + m_pwm.SetOutputPeriod(5_ms); SetDutyCycle(0.0); HAL_ReportUsage("IO", GetChannel(), "FusionVenom"); diff --git a/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMVictorSPX.cpp b/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMVictorSPX.cpp index f28d00199e..1450847760 100644 --- a/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMVictorSPX.cpp +++ b/wpilibc/src/generated/main/native/cpp/hardware/motor/PWMVictorSPX.cpp @@ -12,7 +12,7 @@ using namespace wpi; PWMVictorSPX::PWMVictorSPX(int channel) : PWMMotorController("PWMVictorSPX", channel) { SetBounds(2.004_ms, 1.52_ms, 1.5_ms, 1.48_ms, 0.997_ms); - m_pwm.SetOutputPeriod(PWM::kOutputPeriod_5Ms); + m_pwm.SetOutputPeriod(5_ms); SetDutyCycle(0.0); HAL_ReportUsage("IO", GetChannel(), "PWMVictorSPX"); diff --git a/wpilibc/src/generated/main/native/cpp/hardware/motor/Spark.cpp b/wpilibc/src/generated/main/native/cpp/hardware/motor/Spark.cpp index b15602b000..0912b84529 100644 --- a/wpilibc/src/generated/main/native/cpp/hardware/motor/Spark.cpp +++ b/wpilibc/src/generated/main/native/cpp/hardware/motor/Spark.cpp @@ -12,7 +12,7 @@ using namespace wpi; Spark::Spark(int channel) : PWMMotorController("Spark", channel) { SetBounds(2.003_ms, 1.55_ms, 1.5_ms, 1.46_ms, 0.999_ms); - m_pwm.SetOutputPeriod(PWM::kOutputPeriod_5Ms); + m_pwm.SetOutputPeriod(5_ms); SetDutyCycle(0.0); HAL_ReportUsage("IO", GetChannel(), "RevSPARK"); diff --git a/wpilibc/src/generated/main/native/cpp/hardware/motor/SparkMini.cpp b/wpilibc/src/generated/main/native/cpp/hardware/motor/SparkMini.cpp index eb11bb9ed5..7a6290e22e 100644 --- a/wpilibc/src/generated/main/native/cpp/hardware/motor/SparkMini.cpp +++ b/wpilibc/src/generated/main/native/cpp/hardware/motor/SparkMini.cpp @@ -12,7 +12,7 @@ using namespace wpi; SparkMini::SparkMini(int channel) : PWMMotorController("SparkMini", channel) { SetBounds(2.5_ms, 1.51_ms, 1.5_ms, 1.49_ms, 0.5_ms); - m_pwm.SetOutputPeriod(PWM::kOutputPeriod_5Ms); + m_pwm.SetOutputPeriod(5_ms); SetDutyCycle(0.0); HAL_ReportUsage("IO", GetChannel(), "RevSPARK"); diff --git a/wpilibc/src/generated/main/native/cpp/hardware/motor/Talon.cpp b/wpilibc/src/generated/main/native/cpp/hardware/motor/Talon.cpp index b623c4defc..337e4f20a7 100644 --- a/wpilibc/src/generated/main/native/cpp/hardware/motor/Talon.cpp +++ b/wpilibc/src/generated/main/native/cpp/hardware/motor/Talon.cpp @@ -12,7 +12,7 @@ using namespace wpi; Talon::Talon(int channel) : PWMMotorController("Talon", channel) { SetBounds(2.037_ms, 1.539_ms, 1.513_ms, 1.487_ms, 0.989_ms); - m_pwm.SetOutputPeriod(PWM::kOutputPeriod_5Ms); + m_pwm.SetOutputPeriod(5_ms); SetDutyCycle(0.0); HAL_ReportUsage("IO", GetChannel(), "Talon"); diff --git a/wpilibc/src/generated/main/native/cpp/hardware/motor/VictorSP.cpp b/wpilibc/src/generated/main/native/cpp/hardware/motor/VictorSP.cpp index 5df271d38e..fbca7e7500 100644 --- a/wpilibc/src/generated/main/native/cpp/hardware/motor/VictorSP.cpp +++ b/wpilibc/src/generated/main/native/cpp/hardware/motor/VictorSP.cpp @@ -12,7 +12,7 @@ using namespace wpi; VictorSP::VictorSP(int channel) : PWMMotorController("VictorSP", channel) { SetBounds(2.004_ms, 1.52_ms, 1.5_ms, 1.48_ms, 0.997_ms); - m_pwm.SetOutputPeriod(PWM::kOutputPeriod_5Ms); + m_pwm.SetOutputPeriod(5_ms); SetDutyCycle(0.0); HAL_ReportUsage("IO", GetChannel(), "VictorSP"); diff --git a/wpilibc/src/main/native/cpp/hardware/discrete/PWM.cpp b/wpilibc/src/main/native/cpp/hardware/discrete/PWM.cpp index ae49b30196..80d04b29db 100644 --- a/wpilibc/src/main/native/cpp/hardware/discrete/PWM.cpp +++ b/wpilibc/src/main/native/cpp/hardware/discrete/PWM.cpp @@ -60,25 +60,23 @@ void PWM::SetDisabled() { WPILIB_CheckErrorStatus(status, "Channel {}", m_channel); } -void PWM::SetOutputPeriod(OutputPeriod mult) { +void PWM::SetOutputPeriod(wpi::units::millisecond_t period) { int32_t status = 0; - switch (mult) { - case kOutputPeriod_20Ms: - HAL_SetPWMOutputPeriod(m_handle, 3, - &status); // Squelch 3 out of 4 outputs + switch (static_cast(period.value())) { + case 5: + // Don't squelch any outputs + HAL_SetPWMOutputPeriod(m_handle, 0, &status); break; - case kOutputPeriod_10Ms: - HAL_SetPWMOutputPeriod(m_handle, 1, - &status); // Squelch 1 out of 2 outputs + case 10: + // Squelch 1 out of 2 outputs + HAL_SetPWMOutputPeriod(m_handle, 1, &status); break; - case kOutputPeriod_5Ms: - HAL_SetPWMOutputPeriod(m_handle, 0, - &status); // Don't squelch any outputs + case 20: + default: // default to 20ms if invalid value is given + // Squelch 3 out of 4 outputs + HAL_SetPWMOutputPeriod(m_handle, 3, &status); break; - default: - throw WPILIB_MakeError(err::InvalidParameter, "OutputPeriod value {}", - static_cast(mult)); } WPILIB_CheckErrorStatus(status, "Channel {}", m_channel); diff --git a/wpilibc/src/main/native/include/wpi/hardware/discrete/PWM.hpp b/wpilibc/src/main/native/include/wpi/hardware/discrete/PWM.hpp index 9508bdeffe..7b3073991c 100644 --- a/wpilibc/src/main/native/include/wpi/hardware/discrete/PWM.hpp +++ b/wpilibc/src/main/native/include/wpi/hardware/discrete/PWM.hpp @@ -26,23 +26,6 @@ class AddressableLED; class PWM : public wpi::util::Sendable, public wpi::util::SendableHelper { public: friend class AddressableLED; - /** - * Represents the output period in microseconds. - */ - enum OutputPeriod { - /** - * PWM pulses occur every 5 ms - */ - kOutputPeriod_5Ms = 1, - /** - * PWM pulses occur every 10 ms - */ - kOutputPeriod_10Ms = 2, - /** - * PWM pulses occur every 20 ms - */ - kOutputPeriod_20Ms = 4 - }; /** * Allocate a PWM given a channel number. @@ -71,7 +54,7 @@ class PWM : public wpi::util::Sendable, public wpi::util::SendableHelper { * * Write a microsecond value to a PWM channel. * - * @param time Microsecond PWM value. + * @param time Microsecond PWM value. Range 0 - 4096. */ void SetPulseTime(wpi::units::microsecond_t time); @@ -80,7 +63,7 @@ class PWM : public wpi::util::Sendable, public wpi::util::SendableHelper { * * Read a microsecond value from a PWM channel. * - * @return Microsecond PWM control value. + * @return Microsecond PWM control value. Range 0 - 4096. */ wpi::units::microsecond_t GetPulseTime() const; @@ -93,9 +76,10 @@ class PWM : public wpi::util::Sendable, public wpi::util::SendableHelper { /** * Sets the PWM output period. * - * @param mult The output period to apply to this channel + * @param period The output period to apply to this channel, in milliseconds. + * Valid values are 5ms, 10ms, and 20ms. Default is 20 ms. */ - void SetOutputPeriod(OutputPeriod mult); + void SetOutputPeriod(wpi::units::millisecond_t period); int GetChannel() const; diff --git a/wpilibc/src/main/python/semiwrap/PWM.yml b/wpilibc/src/main/python/semiwrap/PWM.yml index 1ce7cff460..64a9dba9d1 100644 --- a/wpilibc/src/main/python/semiwrap/PWM.yml +++ b/wpilibc/src/main/python/semiwrap/PWM.yml @@ -7,8 +7,6 @@ classes: wpi::PWM: ignored_bases: - wpi::util::SendableHelper - enums: - OutputPeriod: methods: PWM: SetPulseTime: diff --git a/wpilibj/src/generate/main/java/pwm_motor_controller.java.jinja b/wpilibj/src/generate/main/java/pwm_motor_controller.java.jinja index d59ecf7834..3b3bce64f7 100644 --- a/wpilibj/src/generate/main/java/pwm_motor_controller.java.jinja +++ b/wpilibj/src/generate/main/java/pwm_motor_controller.java.jinja @@ -6,7 +6,6 @@ package org.wpilib.hardware.motor; -import org.wpilib.hardware.discrete.PWM; import org.wpilib.hardware.hal.HAL; /** @@ -37,7 +36,7 @@ public class {{ name }} extends PWMMotorController { super("{{ name }}", channel); setBoundsMicroseconds({{ (pulse_width_ms.max * 1000) | int }}, {{ (pulse_width_ms.deadbandMax * 1000) | int }}, {{ (pulse_width_ms.center * 1000) | int }}, {{ (pulse_width_ms.deadbandMin * 1000) | int }}, {{ (pulse_width_ms.min * 1000) | int }}); - m_pwm.setOutputPeriod(PWM.OutputPeriod.k{{ OutputPeriod | default("5", true)}}Ms); + m_pwm.setOutputPeriod({{ OutputPeriod | default("5", true)}}); setDutyCycle(0.0); HAL.reportUsage("IO", getChannel(), "{{ ResourceName }}"); diff --git a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/Koors40.java b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/Koors40.java index a0e1d7c3b7..fe4cdbb94e 100644 --- a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/Koors40.java +++ b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/Koors40.java @@ -6,7 +6,6 @@ package org.wpilib.hardware.motor; -import org.wpilib.hardware.discrete.PWM; import org.wpilib.hardware.hal.HAL; /** @@ -37,7 +36,7 @@ public class Koors40 extends PWMMotorController { super("Koors40", channel); setBoundsMicroseconds(2004, 1520, 1500, 1480, 997); - m_pwm.setOutputPeriod(PWM.OutputPeriod.k20Ms); + m_pwm.setOutputPeriod(20); setDutyCycle(0.0); HAL.reportUsage("IO", getChannel(), "Koors40"); diff --git a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMSparkFlex.java b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMSparkFlex.java index dfc55d9abd..4d10bdb576 100644 --- a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMSparkFlex.java +++ b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMSparkFlex.java @@ -6,7 +6,6 @@ package org.wpilib.hardware.motor; -import org.wpilib.hardware.discrete.PWM; import org.wpilib.hardware.hal.HAL; /** @@ -37,7 +36,7 @@ public class PWMSparkFlex extends PWMMotorController { super("PWMSparkFlex", channel); setBoundsMicroseconds(2003, 1550, 1500, 1460, 999); - m_pwm.setOutputPeriod(PWM.OutputPeriod.k5Ms); + m_pwm.setOutputPeriod(5); setDutyCycle(0.0); HAL.reportUsage("IO", getChannel(), "RevSparkFlexPWM"); diff --git a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMSparkMax.java b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMSparkMax.java index b6a90ca18e..715fcd5fbe 100644 --- a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMSparkMax.java +++ b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMSparkMax.java @@ -6,7 +6,6 @@ package org.wpilib.hardware.motor; -import org.wpilib.hardware.discrete.PWM; import org.wpilib.hardware.hal.HAL; /** @@ -37,7 +36,7 @@ public class PWMSparkMax extends PWMMotorController { super("PWMSparkMax", channel); setBoundsMicroseconds(2003, 1550, 1500, 1460, 999); - m_pwm.setOutputPeriod(PWM.OutputPeriod.k5Ms); + m_pwm.setOutputPeriod(5); setDutyCycle(0.0); HAL.reportUsage("IO", getChannel(), "RevSparkMaxPWM"); diff --git a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMTalonFX.java b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMTalonFX.java index dee5ce6a16..6f4d320618 100644 --- a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMTalonFX.java +++ b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMTalonFX.java @@ -6,7 +6,6 @@ package org.wpilib.hardware.motor; -import org.wpilib.hardware.discrete.PWM; import org.wpilib.hardware.hal.HAL; /** @@ -37,7 +36,7 @@ public class PWMTalonFX extends PWMMotorController { super("PWMTalonFX", channel); setBoundsMicroseconds(2004, 1520, 1500, 1480, 997); - m_pwm.setOutputPeriod(PWM.OutputPeriod.k5Ms); + m_pwm.setOutputPeriod(5); setDutyCycle(0.0); HAL.reportUsage("IO", getChannel(), "TalonFX"); diff --git a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMTalonSRX.java b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMTalonSRX.java index 54eda91a6a..9a8b4d5602 100644 --- a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMTalonSRX.java +++ b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMTalonSRX.java @@ -6,7 +6,6 @@ package org.wpilib.hardware.motor; -import org.wpilib.hardware.discrete.PWM; import org.wpilib.hardware.hal.HAL; /** @@ -37,7 +36,7 @@ public class PWMTalonSRX extends PWMMotorController { super("PWMTalonSRX", channel); setBoundsMicroseconds(2004, 1520, 1500, 1480, 997); - m_pwm.setOutputPeriod(PWM.OutputPeriod.k5Ms); + m_pwm.setOutputPeriod(5); setDutyCycle(0.0); HAL.reportUsage("IO", getChannel(), "PWMTalonSRX"); diff --git a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMVenom.java b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMVenom.java index 29bfe28c6f..225b245173 100644 --- a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMVenom.java +++ b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMVenom.java @@ -6,7 +6,6 @@ package org.wpilib.hardware.motor; -import org.wpilib.hardware.discrete.PWM; import org.wpilib.hardware.hal.HAL; /** @@ -37,7 +36,7 @@ public class PWMVenom extends PWMMotorController { super("PWMVenom", channel); setBoundsMicroseconds(2004, 1520, 1500, 1480, 997); - m_pwm.setOutputPeriod(PWM.OutputPeriod.k5Ms); + m_pwm.setOutputPeriod(5); setDutyCycle(0.0); HAL.reportUsage("IO", getChannel(), "FusionVenom"); diff --git a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMVictorSPX.java b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMVictorSPX.java index fb9d578478..641552d0a5 100644 --- a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMVictorSPX.java +++ b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/PWMVictorSPX.java @@ -6,7 +6,6 @@ package org.wpilib.hardware.motor; -import org.wpilib.hardware.discrete.PWM; import org.wpilib.hardware.hal.HAL; /** @@ -37,7 +36,7 @@ public class PWMVictorSPX extends PWMMotorController { super("PWMVictorSPX", channel); setBoundsMicroseconds(2004, 1520, 1500, 1480, 997); - m_pwm.setOutputPeriod(PWM.OutputPeriod.k5Ms); + m_pwm.setOutputPeriod(5); setDutyCycle(0.0); HAL.reportUsage("IO", getChannel(), "PWMVictorSPX"); diff --git a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/Spark.java b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/Spark.java index 9e5002475f..51e27bb638 100644 --- a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/Spark.java +++ b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/Spark.java @@ -6,7 +6,6 @@ package org.wpilib.hardware.motor; -import org.wpilib.hardware.discrete.PWM; import org.wpilib.hardware.hal.HAL; /** @@ -37,7 +36,7 @@ public class Spark extends PWMMotorController { super("Spark", channel); setBoundsMicroseconds(2003, 1550, 1500, 1460, 999); - m_pwm.setOutputPeriod(PWM.OutputPeriod.k5Ms); + m_pwm.setOutputPeriod(5); setDutyCycle(0.0); HAL.reportUsage("IO", getChannel(), "RevSPARK"); diff --git a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/SparkMini.java b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/SparkMini.java index c005f928e4..2e41ba2491 100644 --- a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/SparkMini.java +++ b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/SparkMini.java @@ -6,7 +6,6 @@ package org.wpilib.hardware.motor; -import org.wpilib.hardware.discrete.PWM; import org.wpilib.hardware.hal.HAL; /** @@ -37,7 +36,7 @@ public class SparkMini extends PWMMotorController { super("SparkMini", channel); setBoundsMicroseconds(2500, 1510, 1500, 1490, 500); - m_pwm.setOutputPeriod(PWM.OutputPeriod.k5Ms); + m_pwm.setOutputPeriod(5); setDutyCycle(0.0); HAL.reportUsage("IO", getChannel(), "RevSPARK"); diff --git a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/Talon.java b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/Talon.java index 0271cf09f1..3a2237cdea 100644 --- a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/Talon.java +++ b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/Talon.java @@ -6,7 +6,6 @@ package org.wpilib.hardware.motor; -import org.wpilib.hardware.discrete.PWM; import org.wpilib.hardware.hal.HAL; /** @@ -37,7 +36,7 @@ public class Talon extends PWMMotorController { super("Talon", channel); setBoundsMicroseconds(2037, 1539, 1513, 1487, 989); - m_pwm.setOutputPeriod(PWM.OutputPeriod.k5Ms); + m_pwm.setOutputPeriod(5); setDutyCycle(0.0); HAL.reportUsage("IO", getChannel(), "Talon"); diff --git a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/VictorSP.java b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/VictorSP.java index 102921ffd5..e813ff9c26 100644 --- a/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/VictorSP.java +++ b/wpilibj/src/generated/main/java/org/wpilib/hardware/motor/VictorSP.java @@ -6,7 +6,6 @@ package org.wpilib.hardware.motor; -import org.wpilib.hardware.discrete.PWM; import org.wpilib.hardware.hal.HAL; /** @@ -37,7 +36,7 @@ public class VictorSP extends PWMMotorController { super("VictorSP", channel); setBoundsMicroseconds(2004, 1520, 1500, 1480, 997); - m_pwm.setOutputPeriod(PWM.OutputPeriod.k5Ms); + m_pwm.setOutputPeriod(5); setDutyCycle(0.0); HAL.reportUsage("IO", getChannel(), "VictorSP"); diff --git a/wpilibj/src/main/java/org/wpilib/hardware/discrete/PWM.java b/wpilibj/src/main/java/org/wpilib/hardware/discrete/PWM.java index 8658943a1e..b47ec83ce9 100644 --- a/wpilibj/src/main/java/org/wpilib/hardware/discrete/PWM.java +++ b/wpilibj/src/main/java/org/wpilib/hardware/discrete/PWM.java @@ -20,16 +20,6 @@ import org.wpilib.util.sendable.SendableRegistry; * sent to the FPGA, and the update occurs at the next FPGA cycle (5.05ms). There is no delay. */ public class PWM implements Sendable, AutoCloseable { - /** Represents the output period in microseconds. */ - public enum OutputPeriod { - /** Pulse every 5ms. */ - k5Ms, - /** Pulse every 10ms. */ - k10Ms, - /** Pulse every 20ms. */ - k20Ms - } - private final int m_channel; private int m_handle; @@ -120,14 +110,16 @@ public class PWM implements Sendable, AutoCloseable { /** * Sets the PWM output period. * - * @param mult The output period to apply to this channel + * @param millisecondPeriod The output period to apply to this channel, in milliseconds. Valid + * values are 5ms, 10ms, and 20ms. Default is 20 ms. */ - public void setOutputPeriod(OutputPeriod mult) { + public void setOutputPeriod(int millisecondPeriod) { int scale = - switch (mult) { - case k20Ms -> 3; - case k10Ms -> 1; - case k5Ms -> 0; + switch (millisecondPeriod) { + case 5 -> 0; + case 10 -> 1; + case 20 -> 3; + default -> 3; // default to 20ms if invalid value is given }; PWMJNI.setPWMOutputPeriod(m_handle, scale);