mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-23 01:21:42 +00:00
[wpilib] Remove PWM.Period enum
Replace it with just numeric values.
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user