Package edu.wpi.first.wpilibj
Class NidecBrushless
- java.lang.Object
-
- edu.wpi.first.wpilibj.MotorSafety
-
- edu.wpi.first.wpilibj.NidecBrushless
-
- All Implemented Interfaces:
PIDOutput
,Sendable
,SpeedController
,AutoCloseable
public class NidecBrushless extends MotorSafety implements SpeedController, Sendable, AutoCloseable
Nidec Brushless Motor.
-
-
Constructor Summary
Constructors Constructor Description NidecBrushless(int pwmChannel, int dioChannel)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addChild(Object child)
Add a child component.void
close()
void
disable()
Disable the motor.void
enable()
Re-enable the motor after disable() has been called.double
get()
Get the recently set value of the PWM.int
getChannel()
Gets the channel number associated with the object.String
getDescription()
boolean
getInverted()
Common interface for returning if a speed controller is in the inverted state or not.String
getName()
Gets the name of thisSendable
object.String
getSubsystem()
Gets the subsystem name of thisSendable
object.void
initSendable(SendableBuilder builder)
Initializes thisSendable
object.void
pidWrite(double output)
Write out the PID value as seen in the PIDOutput base object.void
set(double speed)
Set the PWM value.void
setInverted(boolean isInverted)
Common interface for inverting direction of a speed controller.void
setName(String name)
Sets the name of thisSendable
object.protected void
setName(String moduleType, int channel)
Sets the name of the sensor with a channel number.protected void
setName(String moduleType, int moduleNumber, int channel)
Sets the name of the sensor with a module and channel number.void
setSubsystem(String subsystem)
Sets the subsystem name of thisSendable
object.void
stopMotor()
Stop the motor.-
Methods inherited from class edu.wpi.first.wpilibj.MotorSafety
check, checkMotors, feed, getExpiration, isAlive, isSafetyEnabled, setExpiration, setSafetyEnabled
-
-
-
-
Constructor Detail
-
NidecBrushless
public NidecBrushless(int pwmChannel, int dioChannel)
Constructor.- Parameters:
pwmChannel
- The PWM channel that the Nidec Brushless controller is attached to. 0-9 are on-board, 10-19 are on the MXP portdioChannel
- The DIO channel that the Nidec Brushless controller is attached to. 0-9 are on-board, 10-25 are on the MXP port
-
-
Method Detail
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
-
getName
public final String getName()
Description copied from interface:Sendable
Gets the name of thisSendable
object.
-
setName
public final void setName(String name)
Description copied from interface:Sendable
Sets the name of thisSendable
object.
-
setName
protected final void setName(String moduleType, int channel)
Sets the name of the sensor with a channel number.- Parameters:
moduleType
- A string that defines the module name in the label for the valuechannel
- The channel number the device is plugged into
-
setName
protected final void setName(String moduleType, int moduleNumber, int channel)
Sets the name of the sensor with a module and channel number.- Parameters:
moduleType
- A string that defines the module name in the label for the valuemoduleNumber
- The number of the particular module typechannel
- The channel number the device is plugged into (usually PWM)
-
getSubsystem
public final String getSubsystem()
Description copied from interface:Sendable
Gets the subsystem name of thisSendable
object.- Specified by:
getSubsystem
in interfaceSendable
- Returns:
- Subsystem name
-
setSubsystem
public final void setSubsystem(String subsystem)
Description copied from interface:Sendable
Sets the subsystem name of thisSendable
object.- Specified by:
setSubsystem
in interfaceSendable
- Parameters:
subsystem
- subsystem name
-
addChild
protected final void addChild(Object child)
Add a child component.- Parameters:
child
- child component
-
set
public void set(double speed)
Set the PWM value.The PWM value is set using a range of -1.0 to 1.0, appropriately scaling the value for the FPGA.
- Specified by:
set
in interfaceSpeedController
- Parameters:
speed
- The speed value between -1.0 and 1.0 to set.
-
get
public double get()
Get the recently set value of the PWM.- Specified by:
get
in interfaceSpeedController
- Returns:
- The most recently set value for the PWM between -1.0 and 1.0.
-
setInverted
public void setInverted(boolean isInverted)
Description copied from interface:SpeedController
Common interface for inverting direction of a speed controller.- Specified by:
setInverted
in interfaceSpeedController
- Parameters:
isInverted
- The state of inversion true is inverted.
-
getInverted
public boolean getInverted()
Description copied from interface:SpeedController
Common interface for returning if a speed controller is in the inverted state or not.- Specified by:
getInverted
in interfaceSpeedController
- Returns:
- isInverted The state of the inversion true is inverted.
-
pidWrite
public void pidWrite(double output)
Write out the PID value as seen in the PIDOutput base object.
-
stopMotor
public void stopMotor()
Stop the motor. This is called by the MotorSafety object when it has a timeout for this PWM and needs to stop it from running. Calling set() will re-enable the motor.- Specified by:
stopMotor
in interfaceSpeedController
- Specified by:
stopMotor
in classMotorSafety
-
getDescription
public String getDescription()
- Specified by:
getDescription
in classMotorSafety
-
disable
public void disable()
Disable the motor. The enable() function must be called to re-enable the motor.- Specified by:
disable
in interfaceSpeedController
-
enable
public void enable()
Re-enable the motor after disable() has been called. The set() function must be called to set a new motor speed.
-
getChannel
public int getChannel()
Gets the channel number associated with the object.- Returns:
- The channel number.
-
initSendable
public void initSendable(SendableBuilder builder)
Description copied from interface:Sendable
Initializes thisSendable
object.- Specified by:
initSendable
in interfaceSendable
- Parameters:
builder
- sendable builder
-
-