001/*----------------------------------------------------------------------------*/
002/* Copyright (c) 2016-2018 FIRST. All Rights Reserved.                        */
003/* Open Source Software - may be modified and shared by FRC teams. The code   */
004/* must be accompanied by the FIRST BSD license file in the root directory of */
005/* the project.                                                               */
006/*----------------------------------------------------------------------------*/
007
008package edu.wpi.first.wpilibj.hal;
009
010public class SolenoidJNI extends JNIWrapper {
011  public static native int initializeSolenoidPort(int halPortHandle);
012
013  public static native boolean checkSolenoidModule(int module);
014
015  public static native boolean checkSolenoidChannel(int channel);
016
017  public static native void freeSolenoidPort(int portHandle);
018
019  public static native void setSolenoid(int portHandle, boolean on);
020
021  public static native boolean getSolenoid(int portHandle);
022
023  public static native int getAllSolenoids(int module);
024
025  public static native int getPCMSolenoidBlackList(int module);
026
027  public static native boolean getPCMSolenoidVoltageStickyFault(int module);
028
029  public static native boolean getPCMSolenoidVoltageFault(int module);
030
031  public static native void clearAllPCMStickyFaults(int module);
032
033  public static native void setOneShotDuration(int portHandle, long durationMS);
034
035  public static native void fireOneShot(int portHandle);
036}