com.qualcomm.robotcore.hardware

## Interface PWMOutputController

- All Superinterfaces:
    HardwareDevice
  All Known Subinterfaces:
    DeviceInterfaceModule

      public interface PWMOutputController
      extends HardwareDevice

  Interface for working with PWM Input Controllers

  Different analog input controllers will implement this interface.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.qualcomm.robotcore.hardware.HardwareDevice

      `HardwareDevice.Manufacturer`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getPulseWidthOutputTime(int port)` Gets the pulse width for the channel output in units of 1 microsecond.
    `int` | `getPulseWidthPeriod(int port)` Gets the pulse repetition period for the channel output in units of 1 microsecond.
    `SerialNumber` | `getSerialNumber()` Serial Number
    `void` | `setPulseWidthOutputTime(int port, int usDuration)` Set the pulse width output time for this channel.
    `void` | `setPulseWidthPeriod(int port, int usPeriod)` Set the pulse width output period.

    - ### Methods inherited from interface com.qualcomm.robotcore.hardware.HardwareDevice

      `close, getConnectionInfo, getDeviceName, getManufacturer, getVersion, resetDeviceConfigurationForOpMode`

- - ### Method Detail

    - #### getSerialNumber

          SerialNumber getSerialNumber()

      Serial Number
      Returns:
        return the USB serial number of this device

    - #### setPulseWidthOutputTime

          void setPulseWidthOutputTime(int port,
                                       int usDuration)

      Set the pulse width output time for this channel. Typically set to a value between 750 and 2,250 to control a servo.
      Parameters:
        `port` - port this device is attached to
        `usDuration` - pulse width for the port in microseconds.

    - #### setPulseWidthPeriod

          void setPulseWidthPeriod(int port,
                                   int usPeriod)

      Set the pulse width output period. Typically set to 20,000 to control servo.
      Parameters:
        `port` - port this device is attached to
        `usPeriod` - pulse repetition period in microseconds.

    - #### getPulseWidthOutputTime

          int getPulseWidthOutputTime(int port)

      Gets the pulse width for the channel output in units of 1 microsecond.
      Parameters:
        `port` - port this device is attached to
      Returns:
        time pulse width for the channel in microseconds.

    - #### getPulseWidthPeriod

          int getPulseWidthPeriod(int port)

      Gets the pulse repetition period for the channel output in units of 1 microsecond.
      Parameters:
        `port` - port this device is attached to
      Returns:
        period pulse repetition period in microseconds.