001/*----------------------------------------------------------------------------*/ 002/* Copyright (c) FIRST 2016-2017. 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 010import edu.wpi.first.wpilibj.PWMConfigDataResult; 011 012@SuppressWarnings("AbbreviationAsWordInName") 013public class PWMJNI extends DIOJNI { 014 public static native int initializePWMPort(int halPortHandle); 015 016 public static native boolean checkPWMChannel(int channel); 017 018 public static native void freePWMPort(int pwmPortHandle); 019 020 public static native void setPWMConfigRaw(int pwmPortHandle, int maxPwm, 021 int deadbandMaxPwm, int centerPwm, 022 int deadbandMinPwm, int minPwm); 023 024 public static native void setPWMConfig(int pwmPortHandle, double maxPwm, 025 double deadbandMaxPwm, double centerPwm, 026 double deadbandMinPwm, double minPwm); 027 028 public static native PWMConfigDataResult getPWMConfigRaw(int pwmPortHandle); 029 030 public static native void setPWMEliminateDeadband(int pwmPortHandle, boolean eliminateDeadband); 031 032 public static native boolean getPWMEliminateDeadband(int pwmPortHandle); 033 034 public static native void setPWMRaw(int pwmPortHandle, short value); 035 036 public static native void setPWMSpeed(int pwmPortHandle, double speed); 037 038 public static native void setPWMPosition(int pwmPortHandle, double position); 039 040 public static native short getPWMRaw(int pwmPortHandle); 041 042 public static native double getPWMSpeed(int pwmPortHandle); 043 044 public static native double getPWMPosition(int pwmPortHandle); 045 046 public static native void setPWMDisabled(int pwmPortHandle); 047 048 public static native void latchPWMZero(int pwmPortHandle); 049 050 public static native void setPWMPeriodScale(int pwmPortHandle, int squelchMask); 051}