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