[wpilib] Remove PWM.Period enum

Replace it with just numeric values.
This commit is contained in:
Peter Johnson
2026-03-20 22:53:26 -07:00
parent f2929af00f
commit d05d3b1c78
30 changed files with 51 additions and 92 deletions

View File

@@ -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);