edu.wpi.first.wpilibj.hal

## Class DIOJNI

- java.lang.Object
- - edu.wpi.first.wpilibj.hal.JNIWrapper
  - - edu.wpi.first.wpilibj.hal.DIOJNI

- Direct Known Subclasses:
    PWMJNI, RelayJNI

      public class DIOJNI
      extends JNIWrapper

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DIOJNI()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static int` | `allocateDigitalPWM()`
    `static boolean` | `checkDIOChannel(int channel)`
    `static void` | `freeDigitalPWM(int pwmGenerator)`
    `static void` | `freeDIOPort(int dioPortHandle)`
    `static boolean` | `getDIO(int dioPortHandle)`
    `static boolean` | `getDIODirection(int dioPortHandle)`
    `static short` | `getLoopTiming()`
    `static int` | `initializeDIOPort(int halPortHandle, boolean input)`
    `static boolean` | `isAnyPulsing()`
    `static boolean` | `isPulsing(int dioPortHandle)`
    `static void` | `pulse(int dioPortHandle, double pulseLength)`
    `static void` | `setDigitalPWMDutyCycle(int pwmGenerator, double dutyCycle)`
    `static void` | `setDigitalPWMOutputChannel(int pwmGenerator, int channel)`
    `static void` | `setDigitalPWMRate(double rate)`
    `static void` | `setDIO(int dioPortHandle, short value)`

    - ### Methods inherited from class edu.wpi.first.wpilibj.hal.JNIWrapper

      `getPort, getPortWithModule`

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

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

- - ### Constructor Detail

    - #### DIOJNI

          public DIOJNI()

  - ### Method Detail

    - #### initializeDIOPort

          public static int initializeDIOPort(int halPortHandle,
                                              boolean input)

    - #### checkDIOChannel

          public static boolean checkDIOChannel(int channel)

    - #### freeDIOPort

          public static void freeDIOPort(int dioPortHandle)

    - #### setDIO

          public static void setDIO(int dioPortHandle,
                                    short value)

    - #### getDIO

          public static boolean getDIO(int dioPortHandle)

    - #### getDIODirection

          public static boolean getDIODirection(int dioPortHandle)

    - #### pulse

          public static void pulse(int dioPortHandle,
                                   double pulseLength)

    - #### isPulsing

          public static boolean isPulsing(int dioPortHandle)

    - #### isAnyPulsing

          public static boolean isAnyPulsing()

    - #### getLoopTiming

          public static short getLoopTiming()

    - #### allocateDigitalPWM

          public static int allocateDigitalPWM()

    - #### freeDigitalPWM

          public static void freeDigitalPWM(int pwmGenerator)

    - #### setDigitalPWMRate

          public static void setDigitalPWMRate(double rate)

    - #### setDigitalPWMDutyCycle

          public static void setDigitalPWMDutyCycle(int pwmGenerator,
                                                    double dutyCycle)

    - #### setDigitalPWMOutputChannel

          public static void setDigitalPWMOutputChannel(int pwmGenerator,
                                                        int channel)