edu.wpi.first.wpilibj

## Class SD540

- java.lang.Object
- - edu.wpi.first.wpilibj.SensorBase
  - - edu.wpi.first.wpilibj.PWM
    - - edu.wpi.first.wpilibj.SafePWM
      - - edu.wpi.first.wpilibj.PWMSpeedController
        - - edu.wpi.first.wpilibj.SD540

- All Implemented Interfaces:
    LiveWindowSendable, MotorSafety, PIDOutput, Sendable, SpeedController

      public class SD540
      extends PWMSpeedController

  Mindsensors SD540 Speed Controller.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class edu.wpi.first.wpilibj.PWM

      `PWM.PeriodMultiplier`

  - ### Field Summary

    - ### Fields inherited from class edu.wpi.first.wpilibj.SensorBase

      `kAnalogInputChannels, kAnalogOutputChannels, kDigitalChannels, kPCMModules, kPDPChannels, kPDPModules, kPwmChannels, kRelayChannels, kSolenoidChannels, kSystemClockTicksPerMicrosecond`

    - ### Fields inherited from interface edu.wpi.first.wpilibj.MotorSafety

      `DEFAULT_SAFETY_EXPIRATION`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SD540(int channel)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `initSD540()` Common initialization code called by all constructors.

    - ### Methods inherited from class edu.wpi.first.wpilibj.PWMSpeedController

      `get, getInverted, pidWrite, set, setInverted`

    - ### Methods inherited from class edu.wpi.first.wpilibj.SafePWM

      `disable, feed, Feed, getDescription, getExpiration, isAlive, isSafetyEnabled, setExpiration, setSafetyEnabled, stopMotor`

    - ### Methods inherited from class edu.wpi.first.wpilibj.PWM

      `enableDeadbandElimination, free, getChannel, getPosition, getRaw, getRawBounds, getSmartDashboardType, getSpeed, initTable, setBounds, setDisabled, setPeriodMultiplier, setPosition, setRaw, setSpeed, setZeroLatch, startLiveWindowMode, stopLiveWindowMode, updateTable`

    - ### Methods inherited from class edu.wpi.first.wpilibj.SensorBase

      `checkAnalogInputChannel, checkAnalogOutputChannel, checkDigitalChannel, checkPDPChannel, checkPDPModule, checkPWMChannel, checkRelayChannel, checkSolenoidChannel, checkSolenoidModule, getDefaultSolenoidModule, setDefaultSolenoidModule`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface edu.wpi.first.wpilibj.SpeedController

      `disable, stopMotor`

- - ### Constructor Detail

    - #### SD540

          public SD540(int channel)

      Constructor.
      Parameters:
        `channel` - The PWM channel that the SD540 is attached to. 0-9 are on-board, 10-19 are on the MXP port

  - ### Method Detail

    - #### initSD540

          protected void initSD540()

      Common initialization code called by all constructors.

      Note that the SD540 uses the following bounds for PWM values. These values should work reasonably well for most controllers, but if users experience issues such as asymmetric behavior around the deadband or inability to saturate the controller in either direction, calibration is recommended. The calibration procedure can be found in the SD540 User Manual available from Mindsensors.

      - 2.05ms = full "forward" - 1.55ms = the "high end" of the deadband range - 1.50ms = center of the deadband range (off) - 1.44ms = the "low end" of the deadband range - .94ms = full "reverse"