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 EncoderJNI extends JNIWrapper { 011 public static native int initializeEncoder(int digitalSourceHandleA, int analogTriggerTypeA, 012 int digitalSourceHandleB, int analogTriggerTypeB, 013 boolean reverseDirection, int encodingType); 014 015 public static native void freeEncoder(int encoderHandle); 016 017 public static native int getEncoder(int encoderHandle); 018 019 public static native int getEncoderRaw(int encoderHandle); 020 021 public static native int getEncodingScaleFactor(int encoderHandle); 022 023 public static native void resetEncoder(int encoderHandle); 024 025 public static native double getEncoderPeriod(int encoderHandle); 026 027 public static native void setEncoderMaxPeriod(int encoderHandle, double maxPeriod); 028 029 public static native boolean getEncoderStopped(int encoderHandle); 030 031 public static native boolean getEncoderDirection(int encoderHandle); 032 033 public static native double getEncoderDistance(int encoderHandle); 034 035 public static native double getEncoderRate(int encoderHandle); 036 037 public static native void setEncoderMinRate(int encoderHandle, double minRate); 038 039 public static native void setEncoderDistancePerPulse(int encoderHandle, double distancePerPulse); 040 041 public static native void setEncoderReverseDirection(int encoderHandle, 042 boolean reverseDirection); 043 044 public static native void setEncoderSamplesToAverage(int encoderHandle, 045 int samplesToAverage); 046 047 public static native int getEncoderSamplesToAverage(int encoderHandle); 048 049 public static native void setEncoderIndexSource(int encoderHandle, int digitalSourceHandle, 050 int analogTriggerType, int indexingType); 051 052 @SuppressWarnings("AbbreviationAsWordInName") 053 public static native int getEncoderFPGAIndex(int encoderHandle); 054 055 public static native int getEncoderEncodingScale(int encoderHandle); 056 057 public static native double getEncoderDecodingScaleFactor(int encoderHandle); 058 059 public static native double getEncoderDistancePerPulse(int encoderHandle); 060 061 public static native int getEncoderEncodingType(int encoderHandle); 062}