// Certain modifications are Copyright 2016 Cel Skeggs /*----------------------------------------------------------------------------*/ /* Copyright (c) FIRST 2016. All Rights Reserved. */ /* Open Source Software - may be modified and shared by FRC teams. The code */ /* must be accompanied by the FIRST BSD license file in the root directory of */ /* the project. */ /*----------------------------------------------------------------------------*/ package edu.wpi.first.wpilibj.hal; import java.nio.IntBuffer; @SuppressWarnings("javadoc") public class EncoderJNI extends JNIWrapper { public static native long initializeEncoder(byte port_a_module, int port_a_pin, boolean port_a_analog_trigger, byte port_b_module, int port_b_pin, boolean port_b_analog_trigger, boolean reverseDirection, IntBuffer index); public static native void freeEncoder(long encoder_pointer); public static native void resetEncoder(long encoder_pointer); public static native int getEncoder(long encoder_pointer); public static native double getEncoderPeriod(long encoder_pointer); public static native void setEncoderMaxPeriod(long encoder_pointer, double maxPeriod); public static native boolean getEncoderStopped(long encoder_pointer); public static native boolean getEncoderDirection(long encoder_pointer); public static native void setEncoderReverseDirection(long encoder_pointer, boolean reverseDirection); public static native void setEncoderSamplesToAverage(long encoder_pointer, int samplesToAverage); public static native int getEncoderSamplesToAverage(long encoder_pointer); public static native void setEncoderIndexSource(long digital_port, int pin, boolean analogTrigger, boolean activeHigh, boolean edgeSensitive); }